Merge "Prevent the screen reader box from unexpected scrolling in dream setting page."
diff --git a/Android.bp b/Android.bp
index dc7270e..ea2c983 100644
--- a/Android.bp
+++ b/Android.bp
@@ -87,6 +87,7 @@
"fuelgauge-log-protos-lite",
"fuelgauge-usage-state-protos-lite",
"contextualcards",
+ "securebox",
"settings-logtags",
"statslog-settings",
"zxing-core-1.7",
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 0fd7296..d82fc94 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -90,6 +90,7 @@
<uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
<uses-permission android:name="android.permission.READ_SEARCH_INDEXABLES" />
<uses-permission android:name="android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE" />
+ <uses-permission android:name="android.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE" />
<uses-permission android:name="android.permission.OEM_UNLOCK_STATE" />
<uses-permission android:name="android.permission.MANAGE_USER_OEM_UNLOCK_STATE" />
<uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG" />
@@ -2372,6 +2373,17 @@
<activity-alias android:name=".ConfirmDeviceCredentialActivity"
android:targetActivity=".password.ConfirmDeviceCredentialActivity"
android:exported="true" />
+ <!-- Activity alias for remote lockscreen validation. Enforces required permission -->
+ <activity-alias
+ android:name=".ConfirmRemoteDeviceCredentialActivity"
+ android:targetActivity=".password.ConfirmDeviceCredentialActivity"
+ android:permission="android.permission.CHECK_REMOTE_LOCKSCREEN"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.app.action.CONFIRM_REMOTE_DEVICE_CREDENTIAL"/>
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ </activity-alias>
<!-- Note this must not be exported since it authenticates the given user -->
<activity android:name=".password.ConfirmDeviceCredentialActivity$InternalActivity"
diff --git a/res-product/values/config.xml b/res-product/values/config.xml
new file mode 100755
index 0000000..39fbdff
--- /dev/null
+++ b/res-product/values/config.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- The illustration for those screen are not in one of below type. This file should be a video in JSON format. -->
+ <item name="a11y_timeout_banner" type="raw" product="default">@raw/accessibility_timeout_banner</item>
+ <item name="a11y_timeout_banner" type="raw" product="tablet">@raw/accessibility_timeout_banner_tablet</item>
+
+ <item name="a11y_shortcut_type_triple_tap" type="raw" product="default">@raw/accessibility_shortcut_type_triple_tap</item>
+ <item name="a11y_shortcut_type_triple_tap" type="raw" product="tablet">@raw/accessibility_shortcut_type_triple_tap_tablet</item>
+
+ <item name="a11y_color_inversion_banner" type="raw" product="default">@raw/accessibility_color_inversion_banner</item>
+ <item name="a11y_color_inversion_banner" type="raw" product="tablet">@raw/accessibility_color_inversion_banner_tablet</item>
+
+ <item name="a11y_magnification_banner" type="raw" product="default">@raw/accessibility_magnification_banner</item>
+ <item name="a11y_magnification_banner" type="raw" product="tablet">@raw/accessibility_magnification_banner_tablet</item>
+
+ <item name="a11y_extra_dim_banner" type="raw" product="default">@raw/extra_dim_banner</item>
+ <item name="a11y_extra_dim_banner" type="raw" product="tablet">@raw/extra_dim_banner_tablet</item>
+</resources>
diff --git a/res/values/drawables.xml b/res-product/values/drawables.xml
similarity index 83%
rename from res/values/drawables.xml
rename to res-product/values/drawables.xml
index 61c7fe0..a2d66e7 100644
--- a/res/values/drawables.xml
+++ b/res-product/values/drawables.xml
@@ -14,9 +14,6 @@
limitations under the License.
-->
<resources>
- <drawable name="a11y_shortcut_type_software_gesture_talkback" product="default">@drawable/accessibility_shortcut_type_software_gesture_talkback</drawable>
- <drawable name="a11y_shortcut_type_software_gesture_talkback" product="tablet">@drawable/accessibility_shortcut_type_software_gesture_talkback_tablet</drawable>
-
<drawable name="a11y_button_preview_base" product="default">@drawable/accessibility_button_preview_base</drawable>
<drawable name="a11y_button_preview_base" product="tablet">@drawable/accessibility_button_preview_base_tablet</drawable>
@@ -26,11 +23,8 @@
<drawable name="a11y_button_preview_small_floating_menu" product="default">@drawable/accessibility_button_preview_small_floating_menu</drawable>
<drawable name="a11y_button_preview_small_floating_menu" product="tablet">@drawable/accessibility_button_preview_small_floating_menu_tablet</drawable>
- <drawable name="a11y_button_preview_three_finger" product="default">@drawable/accessibility_button_preview_three_finger</drawable>
- <drawable name="a11y_button_preview_three_finger" product="tablet">@drawable/accessibility_button_preview_three_finger_tablet</drawable>
-
- <drawable name="a11y_button_preview_two_finger" product="default">@drawable/accessibility_button_preview_two_finger</drawable>
- <drawable name="a11y_button_preview_two_finger" product="tablet">@drawable/accessibility_button_preview_two_finger_tablet</drawable>
+ <drawable name="a11y_button_navigation" product="default">@drawable/accessibility_button_navigation</drawable>
+ <drawable name="a11y_button_navigation" product="tablet">@drawable/accessibility_button_navigation_tablet</drawable>
<drawable name="a11y_captioning_banner" product="default">@drawable/accessibility_captioning_banner</drawable>
<drawable name="a11y_captioning_banner" product="tablet">@drawable/accessibility_captioning_banner_tablet</drawable>
@@ -47,6 +41,21 @@
<drawable name="a11y_shortcut_type_software_gesture" product="default">@drawable/accessibility_shortcut_type_software_gesture</drawable>
<drawable name="a11y_shortcut_type_software_gesture" product="tablet">@drawable/accessibility_shortcut_type_software_gesture_tablet</drawable>
+ <drawable name="a11y_shortcut_type_software_gesture_talkback" product="default">@drawable/accessibility_shortcut_type_software_gesture_talkback</drawable>
+ <drawable name="a11y_shortcut_type_software_gesture_talkback" product="tablet">@drawable/accessibility_shortcut_type_software_gesture_talkback_tablet</drawable>
+
+ <drawable name="a11y_gesture_navigation_two_finger_preview" product="default">@drawable/accessibility_gesture_navigation_two_finger_preview</drawable>
+ <drawable name="a11y_gesture_navigation_two_finger_preview" product="tablet">@drawable/accessibility_gesture_navigation_two_finger_preview_tablet</drawable>
+
+ <drawable name="a11y_gesture_navigation_three_finger_preview" product="default">@drawable/accessibility_gesture_navigation_three_finger_preview</drawable>
+ <drawable name="a11y_gesture_navigation_three_finger_preview" product="tablet">@drawable/accessibility_gesture_navigation_three_finger_preview_tablet</drawable>
+
+ <drawable name="a11y_button_preview_two_finger" product="default">@drawable/accessibility_button_preview_two_finger</drawable>
+ <drawable name="a11y_button_preview_two_finger" product="tablet">@drawable/accessibility_button_preview_two_finger_tablet</drawable>
+
+ <drawable name="a11y_button_preview_three_finger" product="default">@drawable/accessibility_button_preview_three_finger</drawable>
+ <drawable name="a11y_button_preview_three_finger" product="tablet">@drawable/accessibility_button_preview_three_finger_tablet</drawable>
+
<drawable name="a11y_magnification_mode_fullscreen" product="default">@drawable/accessibility_magnification_mode_fullscreen</drawable>
<drawable name="a11y_magnification_mode_fullscreen" product="tablet">@drawable/accessibility_magnification_mode_fullscreen_tablet</drawable>
@@ -55,4 +64,4 @@
<drawable name="a11y_magnification_mode_window" product="default">@drawable/accessibility_magnification_mode_window</drawable>
<drawable name="a11y_magnification_mode_window" product="tablet">@drawable/accessibility_magnification_mode_window_tablet</drawable>
-</resources>
\ No newline at end of file
+</resources>
diff --git a/res/drawable-night/accessibility_button_navigation_tablet.xml b/res/drawable-night/accessibility_button_navigation_tablet.xml
new file mode 100644
index 0000000..d92b144
--- /dev/null
+++ b/res/drawable-night/accessibility_button_navigation_tablet.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="412dp"
+ android:height="300dp"
+ android:viewportWidth="412"
+ android:viewportHeight="300">
+ <path
+ android:pathData="M28,0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0z"
+ android:fillColor="#000000"/>
+ <group>
+ <clip-path
+ android:pathData="M62.23,50.19L349.77,50.19A16,16 0,0 1,365.77 66.19L365.77,236.14A16,16 0,0 1,349.77 252.14L62.23,252.14A16,16 0,0 1,46.23 236.14L46.23,66.19A16,16 0,0 1,62.23 50.19z"/>
+ <path
+ android:pathData="M46.23,204.14h320v48h-320z"
+ android:fillColor="#3D4043"/>
+ <path
+ android:pathData="M268.93,214.14C270.43,214.14 271.63,215.34 271.63,216.84C271.63,218.34 270.43,219.54 268.93,219.54C267.43,219.54 266.23,218.34 266.23,216.84C266.23,215.34 267.43,214.14 268.93,214.14ZM273.03,223.64V241.24H270.23V233.14H267.53V241.24H264.83V223.64C262.13,223.44 259.23,222.94 256.73,222.24L257.43,219.54C260.93,220.44 265.13,220.94 268.93,220.94C272.73,220.94 276.93,220.54 280.43,219.54L281.13,222.24C278.63,222.94 275.73,223.44 273.03,223.64Z"
+ android:fillColor="#ffffff"/>
+ <path
+ android:pathData="M206.23,238.04C211.42,238.04 215.63,233.83 215.63,228.64C215.63,223.45 211.42,219.24 206.23,219.24C201.04,219.24 196.83,223.45 196.83,228.64C196.83,233.83 201.04,238.04 206.23,238.04Z"
+ android:fillColor="#808589"/>
+ <path
+ android:pathData="M131.33,228.64L147.33,237.84V219.34L131.33,228.64Z"
+ android:fillColor="#808589"/>
+ </group>
+ <path
+ android:pathData="M62.23,51.69L349.77,51.69A14.5,14.5 0,0 1,364.27 66.19L364.27,236.14A14.5,14.5 0,0 1,349.77 250.64L62.23,250.64A14.5,14.5 0,0 1,47.73 236.14L47.73,66.19A14.5,14.5 0,0 1,62.23 51.69z"
+ android:strokeWidth="3"
+ android:fillColor="#00000000"
+ android:strokeColor="#80868B"/>
+ <path
+ android:pathData="M311.45,50.35C311.45,48.98 312.56,47.87 313.92,47.87L322.84,47.87C324.2,47.87 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M263.59,50.35C263.59,48.98 264.7,47.87 266.06,47.87L287.85,47.87C289.22,47.87 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M268.93,259.69C251.31,259.69 236.93,245.3 236.93,227.69C236.93,210.07 251.31,195.69 268.93,195.69C286.55,195.69 300.93,210.07 300.93,227.69C300.93,245.3 286.55,259.69 268.93,259.69ZM268.93,198.38C252.84,198.38 239.72,211.51 239.72,227.6C239.72,243.69 252.84,256.81 268.93,256.81C285.02,256.81 298.14,243.69 298.14,227.6C298.14,211.51 285.02,198.38 268.93,198.38Z"
+ android:fillColor="#729CEE"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable-night/illustration_accessibility_gesture_three_finger.xml b/res/drawable-night/accessibility_gesture_navigation_three_finger_preview.xml
similarity index 100%
rename from res/drawable-night/illustration_accessibility_gesture_three_finger.xml
rename to res/drawable-night/accessibility_gesture_navigation_three_finger_preview.xml
diff --git a/res/drawable-night/accessibility_gesture_navigation_three_finger_preview_tablet.xml b/res/drawable-night/accessibility_gesture_navigation_three_finger_preview_tablet.xml
new file mode 100644
index 0000000..1710fa4
--- /dev/null
+++ b/res/drawable-night/accessibility_gesture_navigation_three_finger_preview_tablet.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt"
+ android:width="412dp"
+ android:height="300dp"
+ android:viewportWidth="412"
+ android:viewportHeight="300">
+ <group>
+ <clip-path
+ android:pathData="M0,0h412v300h-412z"/>
+ <path
+ android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
+ android:strokeWidth="2.5"
+ android:fillColor="#000000"
+ android:strokeColor="#80868B"/>
+ <path
+ android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M176.84,188.94C173.14,188.94 170.24,191.94 170.24,195.54V220.14H183.54V195.54C183.54,191.94 180.54,188.94 176.84,188.94Z">
+ <aapt:attr name="android:fillColor">
+ <gradient
+ android:startX="176.89"
+ android:startY="220.23"
+ android:endX="176.89"
+ android:endY="188.97"
+ android:type="linear">
+ <item android:offset="0" android:color="#00669DF6"/>
+ <item android:offset="0.69" android:color="#FF669DF6"/>
+ </gradient>
+ </aapt:attr>
+ </path>
+ <path
+ android:pathData="M206.14,188.94C202.44,188.94 199.54,191.94 199.54,195.54V220.14H212.84V195.54C212.74,191.94 209.84,188.94 206.14,188.94Z">
+ <aapt:attr name="android:fillColor">
+ <gradient
+ android:startX="206.19"
+ android:startY="220.23"
+ android:endX="206.19"
+ android:endY="188.97"
+ android:type="linear">
+ <item android:offset="0" android:color="#00669DF6"/>
+ <item android:offset="0.69" android:color="#FF669DF6"/>
+ </gradient>
+ </aapt:attr>
+ </path>
+ <path
+ android:pathData="M235.44,188.94C231.74,188.94 228.84,191.94 228.84,195.54V220.14H242.14V195.54C242.04,191.94 239.14,188.94 235.44,188.94Z">
+ <aapt:attr name="android:fillColor">
+ <gradient
+ android:startX="235.49"
+ android:startY="220.23"
+ android:endX="235.49"
+ android:endY="188.97"
+ android:type="linear">
+ <item android:offset="0" android:color="#00669DF6"/>
+ <item android:offset="0.69" android:color="#FF669DF6"/>
+ </gradient>
+ </aapt:attr>
+ </path>
+ </group>
+</vector>
diff --git a/res/drawable-night/illustration_accessibility_gesture_two_finger.xml b/res/drawable-night/accessibility_gesture_navigation_two_finger_preview.xml
similarity index 100%
rename from res/drawable-night/illustration_accessibility_gesture_two_finger.xml
rename to res/drawable-night/accessibility_gesture_navigation_two_finger_preview.xml
diff --git a/res/drawable-night/accessibility_gesture_navigation_two_finger_preview_tablet.xml b/res/drawable-night/accessibility_gesture_navigation_two_finger_preview_tablet.xml
new file mode 100644
index 0000000..7a5cc48
--- /dev/null
+++ b/res/drawable-night/accessibility_gesture_navigation_two_finger_preview_tablet.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt"
+ android:width="412dp"
+ android:height="300dp"
+ android:viewportWidth="412"
+ android:viewportHeight="300">
+ <group>
+ <clip-path
+ android:pathData="M0,0h412v300h-412z"/>
+ <path
+ android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
+ android:strokeWidth="2.5"
+ android:fillColor="#000000"
+ android:strokeColor="#80868B"/>
+ <path
+ android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M188.15,188.94C184.45,188.94 181.55,191.94 181.55,195.54V220.14H194.85V195.54C194.85,191.94 191.85,188.94 188.15,188.94Z">
+ <aapt:attr name="android:fillColor">
+ <gradient
+ android:startX="188.2"
+ android:startY="220.23"
+ android:endX="188.2"
+ android:endY="188.97"
+ android:type="linear">
+ <item android:offset="0" android:color="#00669DF6"/>
+ <item android:offset="0.69" android:color="#FF669DF6"/>
+ </gradient>
+ </aapt:attr>
+ </path>
+ <path
+ android:pathData="M222.95,188.94C219.25,188.94 216.35,191.94 216.35,195.54V220.14H229.55V195.54C229.55,191.94 226.65,188.94 222.95,188.94Z">
+ <aapt:attr name="android:fillColor">
+ <gradient
+ android:startX="222.95"
+ android:startY="220.23"
+ android:endX="222.95"
+ android:endY="188.97"
+ android:type="linear">
+ <item android:offset="0" android:color="#00669DF6"/>
+ <item android:offset="0.69" android:color="#FF669DF6"/>
+ </gradient>
+ </aapt:attr>
+ </path>
+ </group>
+</vector>
diff --git a/res/drawable-night/accessibility_shortcut_type_software_gesture.xml b/res/drawable-night/accessibility_shortcut_type_software_gesture.xml
index 9055865..ea19f74 100644
--- a/res/drawable-night/accessibility_shortcut_type_software_gesture.xml
+++ b/res/drawable-night/accessibility_shortcut_type_software_gesture.xml
@@ -19,22 +19,22 @@
android:height="300dp"
android:viewportWidth="412"
android:viewportHeight="300">
- <path
- android:fillColor="#FF000000"
- android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"/>
- <path
- android:pathData="M139.5,225.3h133.1c8,0 14.5,-6.5 14.5,-14.5V69c1.6,0 2.9,-1.3 2.9,-2.9v-17c-1.9,-1.6 -3.8,-3.2 -5.8,-4.7v166.4c0,6.4 -5.2,11.6 -11.6,11.6H139.5c-6.4,0 -11.6,-5.2 -11.6,-11.6V42.7c-1,0.7 -1.9,1.4 -2.9,2.1v166.1C125.1,218.8 131.6,225.3 139.5,225.3z"
- android:fillColor="#80868B"/>
- <path
- android:pathData="M229.9,207.9h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2h47.8c1.1,0 2,-0.9 2,-2S231,207.9 229.9,207.9z"
- android:fillColor="#80868B"/>
- <path
- android:pathData="M198.4,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2s5.2,-2.3 5.2,-5.2C201.6,208.4 200.2,206.5 198.4,205.7z"
- android:fillColor="#669DF6"/>
- <path
- android:pathData="M217.7,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2s5.2,-2.3 5.2,-5.2C220.9,208.4 219.6,206.5 217.7,205.7z"
- android:fillColor="#669DF6"/>
- <path
- android:pathData="M206.1,19.1c35,0 67.9,13.6 92.6,38.4c24.7,24.7 38.4,57.6 38.4,92.6s-13.6,67.9 -38.4,92.6c-24.7,24.7 -57.6,38.4 -92.6,38.4s-67.9,-13.6 -92.6,-38.4C88.8,217.9 75.1,185 75.1,150s13.6,-67.9 38.4,-92.6C138.2,32.7 171.1,19.1 206.1,19.1M206.1,17.1c-73.4,0 -133,59.5 -133,132.9S132.6,282.9 206,282.9S339,223.4 339,150S279.5,17.1 206.1,17.1L206.1,17.1z"
- android:fillColor="#3C4043"/>
-</vector>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"/>
+ <path
+ android:pathData="M139.5,225.3h133.1c8,0 14.5,-6.5 14.5,-14.5V69c1.6,0 2.9,-1.3 2.9,-2.9v-17c-1.9,-1.6 -3.8,-3.2 -5.8,-4.7v166.4c0,6.4 -5.2,11.6 -11.6,11.6H139.5c-6.4,0 -11.6,-5.2 -11.6,-11.6V42.7c-1,0.7 -1.9,1.4 -2.9,2.1v166.1C125.1,218.8 131.6,225.3 139.5,225.3z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M229.9,207.9h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2h47.8c1.1,0 2,-0.9 2,-2S231,207.9 229.9,207.9z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M198.4,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2s5.2,-2.3 5.2,-5.2C201.6,208.4 200.2,206.5 198.4,205.7z"
+ android:fillColor="#669DF6"/>
+ <path
+ android:pathData="M217.7,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2s5.2,-2.3 5.2,-5.2C220.9,208.4 219.6,206.5 217.7,205.7z"
+ android:fillColor="#669DF6"/>
+ <path
+ android:pathData="M206.1,19.1c35,0 67.9,13.6 92.6,38.4c24.7,24.7 38.4,57.6 38.4,92.6s-13.6,67.9 -38.4,92.6c-24.7,24.7 -57.6,38.4 -92.6,38.4s-67.9,-13.6 -92.6,-38.4C88.8,217.9 75.1,185 75.1,150s13.6,-67.9 38.4,-92.6C138.2,32.7 171.1,19.1 206.1,19.1M206.1,17.1c-73.4,0 -133,59.5 -133,132.9S132.6,282.9 206,282.9S339,223.4 339,150S279.5,17.1 206.1,17.1L206.1,17.1z"
+ android:fillColor="#3C4043"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable-night/accessibility_shortcut_type_software_gesture_tablet.xml b/res/drawable-night/accessibility_shortcut_type_software_gesture_tablet.xml
index 51d4ba7..129f13d 100644
--- a/res/drawable-night/accessibility_shortcut_type_software_gesture_tablet.xml
+++ b/res/drawable-night/accessibility_shortcut_type_software_gesture_tablet.xml
@@ -1,50 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:aapt="http://schemas.android.com/aapt"
android:width="412dp"
android:height="300dp"
android:viewportWidth="412"
android:viewportHeight="300">
- <group>
- <clip-path
- android:pathData="M0,0h412v300h-412z"/>
- <path
- android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
- android:fillColor="#80868B"/>
- <path
- android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
- android:strokeWidth="2.5"
- android:fillColor="#000000"
- android:strokeColor="#80868B"/>
- <path
- android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
- android:fillColor="#80868B"/>
- <path
- android:pathData="M188.15,188.94C184.45,188.94 181.55,191.94 181.55,195.54V220.14H194.85V195.54C194.85,191.94 191.85,188.94 188.15,188.94Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:startX="188.2"
- android:startY="220.23"
- android:endX="188.2"
- android:endY="188.97"
- android:type="linear">
- <item android:offset="0" android:color="#00669DF6"/>
- <item android:offset="0.69" android:color="#FF669DF6"/>
- </gradient>
- </aapt:attr>
- </path>
- <path
- android:pathData="M222.95,188.94C219.25,188.94 216.35,191.94 216.35,195.54V220.14H229.55V195.54C229.55,191.94 226.65,188.94 222.95,188.94Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:startX="222.95"
- android:startY="220.23"
- android:endX="222.95"
- android:endY="188.97"
- android:type="linear">
- <item android:offset="0" android:color="#00669DF6"/>
- <item android:offset="0.69" android:color="#FF669DF6"/>
- </gradient>
- </aapt:attr>
- </path>
- </group>
+ <group>
+ <clip-path
+ android:pathData="M0,0h412v300h-412z"/>
+ <path
+ android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
+ android:strokeWidth="2.5"
+ android:fillColor="#000000"
+ android:strokeColor="#80868B"/>
+ <path
+ android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M170.9,232.14L241.9,232.14A2,2 0,0 1,243.9 234.14L243.9,234.14A2,2 0,0 1,241.9 236.14L170.9,236.14A2,2 0,0 1,168.9 234.14L168.9,234.14A2,2 0,0 1,170.9 232.14z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M198.35,229.14V217.74H203.25L196.35,205.54L189.45,217.74H194.35V229.14C192.45,229.94 191.15,231.74 191.15,233.94C191.15,236.84 193.45,239.14 196.35,239.14C199.25,239.14 201.55,236.84 201.55,233.94C201.55,231.84 200.15,229.94 198.35,229.14Z"
+ android:fillColor="#669DF6"/>
+ <path
+ android:pathData="M217.65,229.14V217.74H222.55L215.65,205.54L208.75,217.74H213.65V229.14C211.75,229.94 210.45,231.74 210.45,233.94C210.45,236.84 212.75,239.14 215.65,239.14C218.55,239.14 220.85,236.84 220.85,233.94C220.85,231.84 219.55,229.94 217.65,229.14Z"
+ android:fillColor="#669DF6"/>
+ </group>
</vector>
diff --git a/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback.xml b/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback.xml
index 0b6f1e6..bd9bf19 100644
--- a/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback.xml
+++ b/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback.xml
@@ -19,25 +19,25 @@
android:height="300dp"
android:viewportWidth="412"
android:viewportHeight="300">
- <path
- android:fillColor="#FF000000"
- android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"/>
- <path
- android:pathData="M138,225.3h133.1c8,0 14.5,-6.5 14.5,-14.5V69c1.6,0 2.9,-1.3 2.9,-2.9V45.7c-1.9,-1.5 -3.8,-2.9 -5.8,-4.3v169.4c0,6.4 -5.2,11.6 -11.6,11.6H138c-6.4,0 -11.6,-5.2 -11.6,-11.6V43.5c-1,0.7 -1.9,1.5 -2.9,2.2v165C123.5,218.8 130,225.3 138,225.3z"
- android:fillColor="#80868B"/>
- <path
- android:pathData="M206,283.9c-73.9,0 -133.9,-60.1 -133.9,-133.9S132.1,16.1 206,16.1c73.9,0 133.9,60.1 133.9,133.9S279.9,283.9 206,283.9zM206,18.1C133.2,18.1 74.1,77.2 74.1,150S133.2,281.9 206,281.9S337.9,222.8 337.9,150S278.8,18.1 206,18.1z"
- android:fillColor="#3C4043"/>
- <path
- android:pathData="M229.9,207.9h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2h47.8c1.1,0 2,-0.9 2,-2S231,207.9 229.9,207.9z"
- android:fillColor="#80868B"/>
- <path
- android:pathData="M190.9,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C194.1,208.4 192.8,206.5 190.9,205.7z"
- android:fillColor="#669DF6"/>
- <path
- android:pathData="M208,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C211.2,208.4 209.9,206.5 208,205.7z"
- android:fillColor="#669DF6"/>
- <path
- android:pathData="M225.1,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C228.2,208.4 226.9,206.5 225.1,205.7z"
- android:fillColor="#669DF6"/>
-</vector>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"/>
+ <path
+ android:pathData="M138,225.3h133.1c8,0 14.5,-6.5 14.5,-14.5V69c1.6,0 2.9,-1.3 2.9,-2.9V45.7c-1.9,-1.5 -3.8,-2.9 -5.8,-4.3v169.4c0,6.4 -5.2,11.6 -11.6,11.6H138c-6.4,0 -11.6,-5.2 -11.6,-11.6V43.5c-1,0.7 -1.9,1.5 -2.9,2.2v165C123.5,218.8 130,225.3 138,225.3z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M206,283.9c-73.9,0 -133.9,-60.1 -133.9,-133.9S132.1,16.1 206,16.1c73.9,0 133.9,60.1 133.9,133.9S279.9,283.9 206,283.9zM206,18.1C133.2,18.1 74.1,77.2 74.1,150S133.2,281.9 206,281.9S337.9,222.8 337.9,150S278.8,18.1 206,18.1z"
+ android:fillColor="#3C4043"/>
+ <path
+ android:pathData="M229.9,207.9h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2h47.8c1.1,0 2,-0.9 2,-2S231,207.9 229.9,207.9z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M190.9,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C194.1,208.4 192.8,206.5 190.9,205.7z"
+ android:fillColor="#669DF6"/>
+ <path
+ android:pathData="M208,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C211.2,208.4 209.9,206.5 208,205.7z"
+ android:fillColor="#669DF6"/>
+ <path
+ android:pathData="M225.1,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C228.2,208.4 226.9,206.5 225.1,205.7z"
+ android:fillColor="#669DF6"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback_tablet.xml b/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
index c02d8a7..d113fff 100644
--- a/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
+++ b/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
@@ -1,64 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:aapt="http://schemas.android.com/aapt"
android:width="412dp"
android:height="300dp"
android:viewportWidth="412"
android:viewportHeight="300">
- <group>
- <clip-path
- android:pathData="M0,0h412v300h-412z"/>
- <path
- android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
- android:fillColor="#80868B"/>
- <path
- android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
- android:strokeWidth="2.5"
- android:fillColor="#000000"
- android:strokeColor="#80868B"/>
- <path
- android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
- android:fillColor="#80868B"/>
- <path
- android:pathData="M176.84,188.94C173.14,188.94 170.24,191.94 170.24,195.54V220.14H183.54V195.54C183.54,191.94 180.54,188.94 176.84,188.94Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:startX="176.89"
- android:startY="220.23"
- android:endX="176.89"
- android:endY="188.97"
- android:type="linear">
- <item android:offset="0" android:color="#00669DF6"/>
- <item android:offset="0.69" android:color="#FF669DF6"/>
- </gradient>
- </aapt:attr>
- </path>
- <path
- android:pathData="M206.14,188.94C202.44,188.94 199.54,191.94 199.54,195.54V220.14H212.84V195.54C212.74,191.94 209.84,188.94 206.14,188.94Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:startX="206.19"
- android:startY="220.23"
- android:endX="206.19"
- android:endY="188.97"
- android:type="linear">
- <item android:offset="0" android:color="#00669DF6"/>
- <item android:offset="0.69" android:color="#FF669DF6"/>
- </gradient>
- </aapt:attr>
- </path>
- <path
- android:pathData="M235.44,188.94C231.74,188.94 228.84,191.94 228.84,195.54V220.14H242.14V195.54C242.04,191.94 239.14,188.94 235.44,188.94Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:startX="235.49"
- android:startY="220.23"
- android:endX="235.49"
- android:endY="188.97"
- android:type="linear">
- <item android:offset="0" android:color="#00669DF6"/>
- <item android:offset="0.69" android:color="#FF669DF6"/>
- </gradient>
- </aapt:attr>
- </path>
- </group>
+ <group>
+ <clip-path
+ android:pathData="M0,0h412v300h-412z"/>
+ <path
+ android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
+ android:strokeWidth="2.5"
+ android:fillColor="#000000"
+ android:strokeColor="#80868B"/>
+ <path
+ android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M170.9,232.14L241.9,232.14A2,2 0,0 1,243.9 234.14L243.9,234.14A2,2 0,0 1,241.9 236.14L170.9,236.14A2,2 0,0 1,168.9 234.14L168.9,234.14A2,2 0,0 1,170.9 232.14z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M188.7,229.14V217.74H193.6L186.7,205.54L179.8,217.74H184.7V229.14C182.8,229.94 181.5,231.74 181.5,233.94C181.5,236.84 183.8,239.14 186.7,239.14C189.6,239.14 191.9,236.84 191.9,233.94C191.9,231.84 190.5,229.94 188.7,229.14Z"
+ android:fillColor="#669DF6"/>
+ <path
+ android:pathData="M208,229.14V217.74H212.9L206,205.54L199.1,217.74H204V229.14C202.1,229.94 200.8,231.74 200.8,233.94C200.8,236.84 203.1,239.14 206,239.14C208.9,239.14 211.2,236.84 211.2,233.94C211.2,231.84 209.9,229.94 208,229.14Z"
+ android:fillColor="#669DF6"/>
+ <path
+ android:pathData="M227.29,229.14V217.74H232.2L225.29,205.54L218.4,217.74H223.29V229.14C221.4,229.94 220.1,231.74 220.1,233.94C220.1,236.84 222.4,239.14 225.29,239.14C228.2,239.14 230.49,236.84 230.49,233.94C230.49,231.84 229.2,229.94 227.29,229.14Z"
+ android:fillColor="#669DF6"/>
+ </group>
</vector>
diff --git a/res/drawable/accessibility_button_navigation_tablet.xml b/res/drawable/accessibility_button_navigation_tablet.xml
new file mode 100644
index 0000000..d8ae503
--- /dev/null
+++ b/res/drawable/accessibility_button_navigation_tablet.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="412dp"
+ android:height="300dp"
+ android:viewportWidth="412"
+ android:viewportHeight="300">
+ <path
+ android:pathData="M28,0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0z"
+ android:fillColor="#ffffff"/>
+ <group>
+ <clip-path
+ android:pathData="M62.23,50.19L349.77,50.19A16,16 0,0 1,365.77 66.19L365.77,236.14A16,16 0,0 1,349.77 252.14L62.23,252.14A16,16 0,0 1,46.23 236.14L46.23,66.19A16,16 0,0 1,62.23 50.19z"/>
+ <path
+ android:pathData="M46.23,204.14h320v48h-320z"
+ android:fillColor="#000000"/>
+ <path
+ android:pathData="M268.93,214.14C270.43,214.14 271.63,215.34 271.63,216.84C271.63,218.34 270.43,219.54 268.93,219.54C267.43,219.54 266.23,218.34 266.23,216.84C266.23,215.34 267.43,214.14 268.93,214.14ZM273.03,223.64V241.24H270.23V233.14H267.53V241.24H264.83V223.64C262.13,223.44 259.23,222.94 256.73,222.24L257.43,219.54C260.93,220.44 265.13,220.94 268.93,220.94C272.73,220.94 276.93,220.54 280.43,219.54L281.13,222.24C278.63,222.94 275.73,223.44 273.03,223.64Z"
+ android:fillColor="#ffffff"/>
+ <path
+ android:pathData="M206.23,238.04C211.42,238.04 215.63,233.83 215.63,228.64C215.63,223.45 211.42,219.24 206.23,219.24C201.04,219.24 196.83,223.45 196.83,228.64C196.83,233.83 201.04,238.04 206.23,238.04Z"
+ android:fillColor="#BDC0C4"/>
+ <path
+ android:pathData="M131.33,228.64L147.33,237.84V219.34L131.33,228.64Z"
+ android:fillColor="#BDC0C4"/>
+ </group>
+ <path
+ android:pathData="M62.23,51.69L349.77,51.69A14.5,14.5 0,0 1,364.27 66.19L364.27,236.14A14.5,14.5 0,0 1,349.77 250.64L62.23,250.64A14.5,14.5 0,0 1,47.73 236.14L47.73,66.19A14.5,14.5 0,0 1,62.23 51.69z"
+ android:strokeWidth="3"
+ android:fillColor="#00000000"
+ android:strokeColor="#DADCE0"/>
+ <path
+ android:pathData="M311.45,50.35C311.45,48.98 312.56,47.87 313.92,47.87L322.84,47.87C324.2,47.87 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M263.59,50.35C263.59,48.98 264.7,47.87 266.06,47.87L287.85,47.87C289.22,47.87 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M268.93,259.69C251.31,259.69 236.93,245.3 236.93,227.69C236.93,210.07 251.31,195.69 268.93,195.69C286.55,195.69 300.93,210.07 300.93,227.69C300.93,245.3 286.55,259.69 268.93,259.69ZM268.93,198.38C252.84,198.38 239.72,211.51 239.72,227.6C239.72,243.69 252.84,256.81 268.93,256.81C285.02,256.81 298.14,243.69 298.14,227.6C298.14,211.51 285.02,198.38 268.93,198.38Z"
+ android:fillColor="#729CEE"/>
+</vector>
diff --git a/res/drawable/illustration_accessibility_gesture_three_finger.xml b/res/drawable/accessibility_gesture_navigation_three_finger_preview.xml
similarity index 100%
rename from res/drawable/illustration_accessibility_gesture_three_finger.xml
rename to res/drawable/accessibility_gesture_navigation_three_finger_preview.xml
diff --git a/res/drawable/accessibility_gesture_navigation_three_finger_preview_tablet.xml b/res/drawable/accessibility_gesture_navigation_three_finger_preview_tablet.xml
new file mode 100644
index 0000000..fab0853
--- /dev/null
+++ b/res/drawable/accessibility_gesture_navigation_three_finger_preview_tablet.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt"
+ android:width="412dp"
+ android:height="300dp"
+ android:viewportWidth="412"
+ android:viewportHeight="300">
+ <group>
+ <clip-path
+ android:pathData="M0,0h412v300h-412z"/>
+ <path
+ android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
+ android:strokeWidth="2.5"
+ android:fillColor="#ffffff"
+ android:strokeColor="#DADCE0"/>
+ <path
+ android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M176.84,188.94C173.14,188.94 170.24,191.94 170.24,195.54V220.14H183.54V195.54C183.54,191.94 180.54,188.94 176.84,188.94Z">
+ <aapt:attr name="android:fillColor">
+ <gradient
+ android:startX="176.89"
+ android:startY="220.23"
+ android:endX="176.89"
+ android:endY="188.97"
+ android:type="linear">
+ <item android:offset="0" android:color="#001A73E8"/>
+ <item android:offset="0.69" android:color="#FF1A73E8"/>
+ </gradient>
+ </aapt:attr>
+ </path>
+ <path
+ android:pathData="M206.14,188.94C202.44,188.94 199.54,191.94 199.54,195.54V220.14H212.84V195.54C212.74,191.94 209.84,188.94 206.14,188.94Z">
+ <aapt:attr name="android:fillColor">
+ <gradient
+ android:startX="206.19"
+ android:startY="220.23"
+ android:endX="206.19"
+ android:endY="188.97"
+ android:type="linear">
+ <item android:offset="0" android:color="#001A73E8"/>
+ <item android:offset="0.69" android:color="#FF1A73E8"/>
+ </gradient>
+ </aapt:attr>
+ </path>
+ <path
+ android:pathData="M235.44,188.94C231.74,188.94 228.84,191.94 228.84,195.54V220.14H242.14V195.54C242.04,191.94 239.14,188.94 235.44,188.94Z">
+ <aapt:attr name="android:fillColor">
+ <gradient
+ android:startX="235.49"
+ android:startY="220.23"
+ android:endX="235.49"
+ android:endY="188.97"
+ android:type="linear">
+ <item android:offset="0" android:color="#001A73E8"/>
+ <item android:offset="0.69" android:color="#FF1A73E8"/>
+ </gradient>
+ </aapt:attr>
+ </path>
+ </group>
+</vector>
diff --git a/res/drawable/illustration_accessibility_gesture_two_finger.xml b/res/drawable/accessibility_gesture_navigation_two_finger_preview.xml
similarity index 100%
rename from res/drawable/illustration_accessibility_gesture_two_finger.xml
rename to res/drawable/accessibility_gesture_navigation_two_finger_preview.xml
diff --git a/res/drawable/accessibility_gesture_navigation_two_finger_preview_tablet.xml b/res/drawable/accessibility_gesture_navigation_two_finger_preview_tablet.xml
new file mode 100644
index 0000000..f976f02
--- /dev/null
+++ b/res/drawable/accessibility_gesture_navigation_two_finger_preview_tablet.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt"
+ android:width="412dp"
+ android:height="300dp"
+ android:viewportWidth="412"
+ android:viewportHeight="300">
+ <group>
+ <clip-path
+ android:pathData="M0,0h412v300h-412z"/>
+ <path
+ android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
+ android:strokeWidth="2.5"
+ android:fillColor="#ffffff"
+ android:strokeColor="#DADCE0"/>
+ <path
+ android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M188.15,188.94C184.45,188.94 181.55,191.94 181.55,195.54V220.14H194.85V195.54C194.85,191.94 191.85,188.94 188.15,188.94Z">
+ <aapt:attr name="android:fillColor">
+ <gradient
+ android:startX="188.2"
+ android:startY="220.23"
+ android:endX="188.2"
+ android:endY="188.97"
+ android:type="linear">
+ <item android:offset="0" android:color="#001A73E8"/>
+ <item android:offset="0.69" android:color="#FF1A73E8"/>
+ </gradient>
+ </aapt:attr>
+ </path>
+ <path
+ android:pathData="M222.95,188.94C219.25,188.94 216.35,191.94 216.35,195.54V220.14H229.55V195.54C229.55,191.94 226.65,188.94 222.95,188.94Z">
+ <aapt:attr name="android:fillColor">
+ <gradient
+ android:startX="222.95"
+ android:startY="220.23"
+ android:endX="222.95"
+ android:endY="188.97"
+ android:type="linear">
+ <item android:offset="0" android:color="#001A73E8"/>
+ <item android:offset="0.69" android:color="#FF1A73E8"/>
+ </gradient>
+ </aapt:attr>
+ </path>
+ </group>
+</vector>
diff --git a/res/drawable/accessibility_shortcut_type_software_gesture.xml b/res/drawable/accessibility_shortcut_type_software_gesture.xml
index 514dd51..2ded59f 100644
--- a/res/drawable/accessibility_shortcut_type_software_gesture.xml
+++ b/res/drawable/accessibility_shortcut_type_software_gesture.xml
@@ -19,40 +19,40 @@
android:height="300dp"
android:viewportWidth="412"
android:viewportHeight="300">
- <path
- android:fillColor="#FF000000"
- android:pathData="M842.3,299.9H485.9c-15.3,0 -27.8,-12.8 -27.8,-28.5v-243c0,-15.7 12.5,-28.5 27.8,-28.5h356.5c15.2,0 27.7,12.8 27.7,28.5v243.2C870.1,287.1 857.6,299.9 842.3,299.9z"/>
- <path
- android:pathData="M597.6,225.2h133.1c8,0 14.5,-6.5 14.5,-14.5V68.9c1.6,0 2.9,-1.3 2.9,-2.9V49c-1.9,-1.6 -3.8,-3.2 -5.8,-4.7v166.4c0,6.4 -5.2,11.6 -11.6,11.6H597.6c-6.4,0 -11.6,-5.2 -11.6,-11.6V42.6c-1,0.7 -1.9,1.4 -2.9,2.1v166.1C583.2,218.7 589.7,225.2 597.6,225.2z"
- android:fillColor="#80868B"/>
- <path
- android:pathData="M688,207.8h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2H688c1.1,0 2,-0.9 2,-2S689.1,207.8 688,207.8z"
- android:fillColor="#80868B"/>
- <path
- android:pathData="M656.5,205.6v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C659.7,208.3 658.3,206.4 656.5,205.6z"
- android:fillColor="#669DF6"/>
- <path
- android:pathData="M675.8,205.6v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C679,208.3 677.7,206.4 675.8,205.6z"
- android:fillColor="#669DF6"/>
- <path
- android:pathData="M664.2,19c35,0 67.9,13.6 92.6,38.4c24.7,24.7 38.4,57.6 38.4,92.6s-13.6,67.9 -38.4,92.6c-24.7,24.7 -57.6,38.4 -92.6,38.4s-67.9,-13.6 -92.6,-38.4c-24.7,-24.8 -38.4,-57.7 -38.4,-92.7s13.6,-67.9 38.4,-92.6C596.3,32.6 629.2,19 664.2,19M664.2,17c-73.4,0 -133,59.5 -133,132.9s59.5,132.9 132.9,132.9s133,-59.5 133,-132.9S737.6,17 664.2,17L664.2,17z"
- android:fillColor="#3C4043"/>
- <path
- android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"
- android:fillColor="#FFFFFF"/>
- <path
- android:pathData="M139.4,225.3h133.1c8,0 14.5,-6.5 14.5,-14.5V69c1.6,0 2.9,-1.3 2.9,-2.9v-17c-1.9,-1.6 -3.8,-3.2 -5.8,-4.7v166.4c0,6.4 -5.2,11.6 -11.6,11.6H139.4c-6.4,0 -11.6,-5.2 -11.6,-11.6V42.7c-1,0.7 -1.9,1.4 -2.9,2.1v166.1C125,218.8 131.5,225.3 139.4,225.3z"
- android:fillColor="#DADCE0"/>
- <path
- android:pathData="M229.9,207.9h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2h47.8c1.1,0 2,-0.9 2,-2S231,207.9 229.9,207.9z"
- android:fillColor="#DADCE0"/>
- <path
- android:pathData="M198.4,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2s5.2,-2.3 5.2,-5.2C201.5,208.4 200.1,206.5 198.4,205.7z"
- android:fillColor="#1A73E8"/>
- <path
- android:pathData="M217.6,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2s5.2,-2.3 5.2,-5.2C220.9,208.4 219.5,206.5 217.6,205.7z"
- android:fillColor="#1A73E8"/>
- <path
- android:pathData="M206.1,19.1c35,0 67.9,13.6 92.6,38.4c24.7,24.7 38.4,57.6 38.4,92.6s-13.6,67.9 -38.4,92.6c-24.7,24.7 -57.6,38.4 -92.6,38.4s-67.9,-13.6 -92.6,-38.4S75.1,185 75.1,150s13.6,-67.9 38.4,-92.6C138.2,32.7 171.1,19.1 206.1,19.1M206.1,17.1c-73.4,0 -133,59.5 -133,132.9S132.6,282.9 206,282.9S339,223.4 339,150S279.5,17.1 206.1,17.1L206.1,17.1z"
- android:fillColor="#E8EAED"/>
+ <path
+ android:fillColor="#FF000000"
+ android:pathData="M842.3,299.9H485.9c-15.3,0 -27.8,-12.8 -27.8,-28.5v-243c0,-15.7 12.5,-28.5 27.8,-28.5h356.5c15.2,0 27.7,12.8 27.7,28.5v243.2C870.1,287.1 857.6,299.9 842.3,299.9z"/>
+ <path
+ android:pathData="M597.6,225.2h133.1c8,0 14.5,-6.5 14.5,-14.5V68.9c1.6,0 2.9,-1.3 2.9,-2.9V49c-1.9,-1.6 -3.8,-3.2 -5.8,-4.7v166.4c0,6.4 -5.2,11.6 -11.6,11.6H597.6c-6.4,0 -11.6,-5.2 -11.6,-11.6V42.6c-1,0.7 -1.9,1.4 -2.9,2.1v166.1C583.2,218.7 589.7,225.2 597.6,225.2z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M688,207.8h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2H688c1.1,0 2,-0.9 2,-2S689.1,207.8 688,207.8z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M656.5,205.6v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C659.7,208.3 658.3,206.4 656.5,205.6z"
+ android:fillColor="#669DF6"/>
+ <path
+ android:pathData="M675.8,205.6v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C679,208.3 677.7,206.4 675.8,205.6z"
+ android:fillColor="#669DF6"/>
+ <path
+ android:pathData="M664.2,19c35,0 67.9,13.6 92.6,38.4c24.7,24.7 38.4,57.6 38.4,92.6s-13.6,67.9 -38.4,92.6c-24.7,24.7 -57.6,38.4 -92.6,38.4s-67.9,-13.6 -92.6,-38.4c-24.7,-24.8 -38.4,-57.7 -38.4,-92.7s13.6,-67.9 38.4,-92.6C596.3,32.6 629.2,19 664.2,19M664.2,17c-73.4,0 -133,59.5 -133,132.9s59.5,132.9 132.9,132.9s133,-59.5 133,-132.9S737.6,17 664.2,17L664.2,17z"
+ android:fillColor="#3C4043"/>
+ <path
+ android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"
+ android:fillColor="#FFFFFF"/>
+ <path
+ android:pathData="M139.4,225.3h133.1c8,0 14.5,-6.5 14.5,-14.5V69c1.6,0 2.9,-1.3 2.9,-2.9v-17c-1.9,-1.6 -3.8,-3.2 -5.8,-4.7v166.4c0,6.4 -5.2,11.6 -11.6,11.6H139.4c-6.4,0 -11.6,-5.2 -11.6,-11.6V42.7c-1,0.7 -1.9,1.4 -2.9,2.1v166.1C125,218.8 131.5,225.3 139.4,225.3z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M229.9,207.9h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2h47.8c1.1,0 2,-0.9 2,-2S231,207.9 229.9,207.9z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M198.4,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2s5.2,-2.3 5.2,-5.2C201.5,208.4 200.1,206.5 198.4,205.7z"
+ android:fillColor="#1A73E8"/>
+ <path
+ android:pathData="M217.6,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2s5.2,-2.3 5.2,-5.2C220.9,208.4 219.5,206.5 217.6,205.7z"
+ android:fillColor="#1A73E8"/>
+ <path
+ android:pathData="M206.1,19.1c35,0 67.9,13.6 92.6,38.4c24.7,24.7 38.4,57.6 38.4,92.6s-13.6,67.9 -38.4,92.6c-24.7,24.7 -57.6,38.4 -92.6,38.4s-67.9,-13.6 -92.6,-38.4S75.1,185 75.1,150s13.6,-67.9 38.4,-92.6C138.2,32.7 171.1,19.1 206.1,19.1M206.1,17.1c-73.4,0 -133,59.5 -133,132.9S132.6,282.9 206,282.9S339,223.4 339,150S279.5,17.1 206.1,17.1L206.1,17.1z"
+ android:fillColor="#E8EAED"/>
</vector>
diff --git a/res/drawable/accessibility_shortcut_type_software_gesture_tablet.xml b/res/drawable/accessibility_shortcut_type_software_gesture_tablet.xml
index 927c0e5..2dccf2a 100644
--- a/res/drawable/accessibility_shortcut_type_software_gesture_tablet.xml
+++ b/res/drawable/accessibility_shortcut_type_software_gesture_tablet.xml
@@ -1,50 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:aapt="http://schemas.android.com/aapt"
android:width="412dp"
android:height="300dp"
android:viewportWidth="412"
android:viewportHeight="300">
- <group>
- <clip-path
- android:pathData="M0,0h412v300h-412z"/>
- <path
- android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
- android:fillColor="#DADCE0"/>
- <path
- android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
- android:strokeWidth="2.5"
- android:fillColor="#ffffff"
- android:strokeColor="#DADCE0"/>
- <path
- android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
- android:fillColor="#DADCE0"/>
- <path
- android:pathData="M188.15,188.94C184.45,188.94 181.55,191.94 181.55,195.54V220.14H194.85V195.54C194.85,191.94 191.85,188.94 188.15,188.94Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:startX="188.2"
- android:startY="220.23"
- android:endX="188.2"
- android:endY="188.97"
- android:type="linear">
- <item android:offset="0" android:color="#001A73E8"/>
- <item android:offset="0.69" android:color="#FF1A73E8"/>
- </gradient>
- </aapt:attr>
- </path>
- <path
- android:pathData="M222.95,188.94C219.25,188.94 216.35,191.94 216.35,195.54V220.14H229.55V195.54C229.55,191.94 226.65,188.94 222.95,188.94Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:startX="222.95"
- android:startY="220.23"
- android:endX="222.95"
- android:endY="188.97"
- android:type="linear">
- <item android:offset="0" android:color="#001A73E8"/>
- <item android:offset="0.69" android:color="#FF1A73E8"/>
- </gradient>
- </aapt:attr>
- </path>
- </group>
+ <group>
+ <clip-path
+ android:pathData="M0,0h412v300h-412z"/>
+ <path
+ android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
+ android:strokeWidth="2.5"
+ android:fillColor="#ffffff"
+ android:strokeColor="#DADCE0"/>
+ <path
+ android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M170.9,232.14L241.9,232.14A2,2 0,0 1,243.9 234.14L243.9,234.14A2,2 0,0 1,241.9 236.14L170.9,236.14A2,2 0,0 1,168.9 234.14L168.9,234.14A2,2 0,0 1,170.9 232.14z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M198.35,229.14V217.74H203.25L196.35,205.54L189.45,217.74H194.35V229.14C192.45,229.94 191.15,231.74 191.15,233.94C191.15,236.84 193.45,239.14 196.35,239.14C199.25,239.14 201.55,236.84 201.55,233.94C201.55,231.84 200.15,229.94 198.35,229.14Z"
+ android:fillColor="#1A73E8"/>
+ <path
+ android:pathData="M217.65,229.14V217.74H222.55L215.65,205.54L208.75,217.74H213.65V229.14C211.75,229.94 210.45,231.74 210.45,233.94C210.45,236.84 212.75,239.14 215.65,239.14C218.55,239.14 220.85,236.84 220.85,233.94C220.85,231.84 219.55,229.94 217.65,229.14Z"
+ android:fillColor="#1A73E8"/>
+ </group>
</vector>
diff --git a/res/drawable/accessibility_shortcut_type_software_gesture_talkback.xml b/res/drawable/accessibility_shortcut_type_software_gesture_talkback.xml
index 9388e66..2de804c 100644
--- a/res/drawable/accessibility_shortcut_type_software_gesture_talkback.xml
+++ b/res/drawable/accessibility_shortcut_type_software_gesture_talkback.xml
@@ -19,25 +19,25 @@
android:height="300dp"
android:viewportWidth="412"
android:viewportHeight="300">
- <path
- android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"
- android:fillColor="#FFFFFF"/>
- <path
- android:pathData="M138,225.3h133.1c8,0 14.5,-6.5 14.5,-14.5V69c1.6,0 2.9,-1.3 2.9,-2.9V45.7c-1.9,-1.5 -3.8,-2.9 -5.8,-4.3v169.4c0,6.4 -5.2,11.6 -11.6,11.6H138c-6.4,0 -11.6,-5.2 -11.6,-11.6V43.5c-1,0.7 -1.9,1.5 -2.9,2.2v165C123.5,218.8 130,225.3 138,225.3z"
- android:fillColor="#DADCE0"/>
- <path
- android:pathData="M206,283.9c-73.9,0 -133.9,-60.1 -133.9,-133.9S132.1,16.1 206,16.1c73.9,0 133.9,60.1 133.9,133.9S279.9,283.9 206,283.9zM206,18.1C133.2,18.1 74.1,77.2 74.1,150S133.2,281.9 206,281.9S337.9,222.8 337.9,150S278.8,18.1 206,18.1z"
- android:fillColor="#E8EAED"/>
- <path
- android:pathData="M229.9,207.9h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2h47.8c1.1,0 2,-0.9 2,-2S231,207.9 229.9,207.9z"
- android:fillColor="#DADCE0"/>
- <path
- android:pathData="M190.9,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C194.1,208.4 192.8,206.5 190.9,205.7z"
- android:fillColor="#1A73E8"/>
- <path
- android:pathData="M208,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C211.2,208.4 209.9,206.5 208,205.7z"
- android:fillColor="#1A73E8"/>
- <path
- android:pathData="M225.1,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C228.2,208.4 226.9,206.5 225.1,205.7z"
- android:fillColor="#1A73E8"/>
-</vector>
+ <path
+ android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"
+ android:fillColor="#FFFFFF"/>
+ <path
+ android:pathData="M138,225.3h133.1c8,0 14.5,-6.5 14.5,-14.5V69c1.6,0 2.9,-1.3 2.9,-2.9V45.7c-1.9,-1.5 -3.8,-2.9 -5.8,-4.3v169.4c0,6.4 -5.2,11.6 -11.6,11.6H138c-6.4,0 -11.6,-5.2 -11.6,-11.6V43.5c-1,0.7 -1.9,1.5 -2.9,2.2v165C123.5,218.8 130,225.3 138,225.3z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M206,283.9c-73.9,0 -133.9,-60.1 -133.9,-133.9S132.1,16.1 206,16.1c73.9,0 133.9,60.1 133.9,133.9S279.9,283.9 206,283.9zM206,18.1C133.2,18.1 74.1,77.2 74.1,150S133.2,281.9 206,281.9S337.9,222.8 337.9,150S278.8,18.1 206,18.1z"
+ android:fillColor="#E8EAED"/>
+ <path
+ android:pathData="M229.9,207.9h-47.8c-1.1,0 -2,0.9 -2,2s0.9,2 2,2h47.8c1.1,0 2,-0.9 2,-2S231,207.9 229.9,207.9z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M190.9,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C194.1,208.4 192.8,206.5 190.9,205.7z"
+ android:fillColor="#1A73E8"/>
+ <path
+ android:pathData="M208,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C211.2,208.4 209.9,206.5 208,205.7z"
+ android:fillColor="#1A73E8"/>
+ <path
+ android:pathData="M225.1,205.7v-11.4h4.9l-6.9,-12.2l-6.9,12.2h4.9v11.4c-1.9,0.8 -3.2,2.6 -3.2,4.8c0,2.9 2.3,5.2 5.2,5.2c2.9,0 5.2,-2.3 5.2,-5.2C228.2,208.4 226.9,206.5 225.1,205.7z"
+ android:fillColor="#1A73E8"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/accessibility_shortcut_type_software_gesture_talkback_tablet.xml b/res/drawable/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
index abd2eb6..e122ae1 100644
--- a/res/drawable/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
+++ b/res/drawable/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
@@ -1,64 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:aapt="http://schemas.android.com/aapt"
android:width="412dp"
android:height="300dp"
android:viewportWidth="412"
android:viewportHeight="300">
- <group>
- <clip-path
- android:pathData="M0,0h412v300h-412z"/>
- <path
- android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
- android:fillColor="#DADCE0"/>
- <path
- android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
- android:strokeWidth="2.5"
- android:fillColor="#ffffff"
- android:strokeColor="#DADCE0"/>
- <path
- android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
- android:fillColor="#DADCE0"/>
- <path
- android:pathData="M176.84,188.94C173.14,188.94 170.24,191.94 170.24,195.54V220.14H183.54V195.54C183.54,191.94 180.54,188.94 176.84,188.94Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:startX="176.89"
- android:startY="220.23"
- android:endX="176.89"
- android:endY="188.97"
- android:type="linear">
- <item android:offset="0" android:color="#001A73E8"/>
- <item android:offset="0.69" android:color="#FF1A73E8"/>
- </gradient>
- </aapt:attr>
- </path>
- <path
- android:pathData="M206.14,188.94C202.44,188.94 199.54,191.94 199.54,195.54V220.14H212.84V195.54C212.74,191.94 209.84,188.94 206.14,188.94Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:startX="206.19"
- android:startY="220.23"
- android:endX="206.19"
- android:endY="188.97"
- android:type="linear">
- <item android:offset="0" android:color="#001A73E8"/>
- <item android:offset="0.69" android:color="#FF1A73E8"/>
- </gradient>
- </aapt:attr>
- </path>
- <path
- android:pathData="M235.44,188.94C231.74,188.94 228.84,191.94 228.84,195.54V220.14H242.14V195.54C242.04,191.94 239.14,188.94 235.44,188.94Z">
- <aapt:attr name="android:fillColor">
- <gradient
- android:startX="235.49"
- android:startY="220.23"
- android:endX="235.49"
- android:endY="188.97"
- android:type="linear">
- <item android:offset="0" android:color="#001A73E8"/>
- <item android:offset="0.69" android:color="#FF1A73E8"/>
- </gradient>
- </aapt:attr>
- </path>
- </group>
+ <group>
+ <clip-path
+ android:pathData="M0,0h412v300h-412z"/>
+ <path
+ android:pathData="M263.59,50.35C263.59,48.98 264.7,47.86 266.06,47.86L287.85,47.86C289.22,47.86 290.33,48.98 290.33,50.35L277.45,51.34L263.59,50.35Z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M364.52,66.19L364.52,236.14A14.75,14.75 0,0 1,349.77 250.89L62.23,250.89A14.75,14.75 0,0 1,47.48 236.14L47.48,66.19A14.75,14.75 0,0 1,62.23 51.44L349.77,51.44A14.75,14.75 0,0 1,364.52 66.19z"
+ android:strokeWidth="2.5"
+ android:fillColor="#ffffff"
+ android:strokeColor="#DADCE0"/>
+ <path
+ android:pathData="M311.45,50.35C311.45,48.98 312.56,47.86 313.92,47.86L322.84,47.86C324.2,47.86 325.32,48.98 325.32,50.35L319.37,51.34L311.45,50.35Z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M170.9,232.14L241.9,232.14A2,2 0,0 1,243.9 234.14L243.9,234.14A2,2 0,0 1,241.9 236.14L170.9,236.14A2,2 0,0 1,168.9 234.14L168.9,234.14A2,2 0,0 1,170.9 232.14z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M188.7,229.14V217.74H193.6L186.7,205.54L179.8,217.74H184.7V229.14C182.8,229.94 181.5,231.74 181.5,233.94C181.5,236.84 183.8,239.14 186.7,239.14C189.6,239.14 191.9,236.84 191.9,233.94C191.9,231.84 190.5,229.94 188.7,229.14Z"
+ android:fillColor="#1A73E8"/>
+ <path
+ android:pathData="M208,229.14V217.74H212.9L206,205.54L199.1,217.74H204V229.14C202.1,229.94 200.8,231.74 200.8,233.94C200.8,236.84 203.1,239.14 206,239.14C208.9,239.14 211.2,236.84 211.2,233.94C211.2,231.84 209.9,229.94 208,229.14Z"
+ android:fillColor="#1A73E8"/>
+ <path
+ android:pathData="M227.29,229.14V217.74H232.2L225.29,205.54L218.4,217.74H223.29V229.14C221.4,229.94 220.1,231.74 220.1,233.94C220.1,236.84 222.4,239.14 225.29,239.14C228.2,239.14 230.49,236.84 230.49,233.94C230.49,231.84 229.2,229.94 227.29,229.14Z"
+ android:fillColor="#1A73E8"/>
+ </group>
</vector>
diff --git a/res/layout-land/confirm_lock_pattern_normal_base.xml b/res/layout-land/confirm_lock_pattern_normal_base.xml
index 9a5097e..18fb142 100644
--- a/res/layout-land/confirm_lock_pattern_normal_base.xml
+++ b/res/layout-land/confirm_lock_pattern_normal_base.xml
@@ -15,10 +15,12 @@
-->
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:icon="@drawable/ic_lock">
+ android:icon="@drawable/ic_lock"
+ app:sudUseBottomProgressBar="true">
<com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
android:id="@+id/topLayout"
@@ -60,6 +62,16 @@
android:layout_marginEnd="?attr/sudMarginEnd"
android:gravity="center_vertical"/>
+ <CheckBox
+ android:id="@+id/checkbox"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="?attr/sudMarginStart"
+ android:layout_marginEnd="?attr/sudMarginEnd"
+ android:layout_marginTop="12dp"
+ android:visibility="gone"
+ android:checked="true" />
+
<Button
android:id="@+id/cancelButton"
style="@style/SudGlifButton.Secondary"
diff --git a/res/layout/advanced_bt_entity_header.xml b/res/layout/advanced_bt_entity_header.xml
index 755247f..833f6bd 100644
--- a/res/layout/advanced_bt_entity_header.xml
+++ b/res/layout/advanced_bt_entity_header.xml
@@ -21,6 +21,8 @@
style="@style/EntityHeader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:orientation="vertical">
<TextView
@@ -29,6 +31,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
+ android:gravity="center"
android:ellipsize="marquee"
android:textDirection="locale"/>
diff --git a/res/layout/bluetooth_broadcast_entity_header.xml b/res/layout/bluetooth_broadcast_entity_header.xml
index e65448e..7a98f0d 100644
--- a/res/layout/bluetooth_broadcast_entity_header.xml
+++ b/res/layout/bluetooth_broadcast_entity_header.xml
@@ -31,6 +31,7 @@
style="@style/TextAppearance.EntityHeaderTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:gravity="center"
android:ellipsize="marquee"
android:textDirection="locale"/>
diff --git a/res/layout/confirm_lock_password_normal.xml b/res/layout/confirm_lock_password_normal.xml
index c2a7b5d..d4cc332 100644
--- a/res/layout/confirm_lock_password_normal.xml
+++ b/res/layout/confirm_lock_password_normal.xml
@@ -15,11 +15,13 @@
-->
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:icon="@drawable/ic_lock"
- android:importantForAutofill="noExcludeDescendants">
+ android:importantForAutofill="noExcludeDescendants"
+ app:sudUseBottomProgressBar="true">
<com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
android:id="@+id/topLayout"
@@ -27,14 +29,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
- <TextView
- android:id="@+id/sud_layout_description"
- style="@style/SudDescription.Glif"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginStart="?attr/sudMarginStart"
- android:layout_marginEnd="?attr/sudMarginEnd" />
-
<Space
android:layout_width="match_parent"
android:layout_height="0dp"
@@ -73,6 +67,17 @@
android:layout_height="0dp"
android:layout_weight="1" />
+ <CheckBox
+ android:id="@+id/checkbox"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="?attr/sudMarginStart"
+ android:layout_marginEnd="?attr/sudMarginEnd"
+ android:layout_marginTop="12dp"
+ android:layout_gravity="center_horizontal"
+ android:visibility="gone"
+ android:checked="true" />
+
<Button
android:id="@+id/cancelButton"
style="@style/SudGlifButton.Secondary"
diff --git a/res/layout/confirm_lock_pattern_normal_base.xml b/res/layout/confirm_lock_pattern_normal_base.xml
index 44d9ab7..51bab67 100644
--- a/res/layout/confirm_lock_pattern_normal_base.xml
+++ b/res/layout/confirm_lock_pattern_normal_base.xml
@@ -15,10 +15,12 @@
-->
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:icon="@drawable/ic_lock">
+ android:icon="@drawable/ic_lock"
+ app:sudUseBottomProgressBar="true">
<com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
android:id="@+id/topLayout"
@@ -61,6 +63,16 @@
android:layout_marginTop="12dp"
android:gravity="center_vertical"/>
+ <CheckBox
+ android:id="@+id/checkbox"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="?attr/sudMarginStart"
+ android:layout_marginEnd="?attr/sudMarginEnd"
+ android:layout_marginTop="12dp"
+ android:visibility="gone"
+ android:checked="true" />
+
<Button
android:id="@+id/cancelButton"
style="@style/SudGlifButton.Secondary"
@@ -68,7 +80,6 @@
android:layout_height="wrap_content"
android:layout_marginStart="?attr/sudMarginStart"
android:layout_marginEnd="?attr/sudMarginEnd"
- android:layout_marginBottom="80dp"
android:text="@string/cancel" />
<Button
diff --git a/res/layout/le_audio_bt_entity_header.xml b/res/layout/le_audio_bt_entity_header.xml
index 19ba899..460ae69 100644
--- a/res/layout/le_audio_bt_entity_header.xml
+++ b/res/layout/le_audio_bt_entity_header.xml
@@ -33,6 +33,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
+ android:gravity="center"
android:ellipsize="marquee"
android:textDirection="locale"/>
diff --git a/res/layout/locale_drag_cell.xml b/res/layout/locale_drag_cell.xml
index 47bf70a..247cfd2 100644
--- a/res/layout/locale_drag_cell.xml
+++ b/res/layout/locale_drag_cell.xml
@@ -20,6 +20,8 @@
android:layout_height="wrap_content"
android:minHeight="?android:listPreferredItemHeight"
android:background="?android:colorBackground"
+ android:layout_marginTop="4dp"
+ android:layout_marginBottom="4dp"
android:layoutDirection="locale"
android:textDirection="locale">
@@ -30,12 +32,6 @@
android:layout_toStartOf="@+id/dragHandle"/>
<TextView
- android:id="@+id/label"
- style="@style/LanguageCheckboxAndLabel"
- android:paddingStart="56dp"
- android:layout_toStartOf="@+id/dragHandle"/>
-
- <TextView
android:id="@+id/miniLabel"
style="@style/LanguageCheckboxAndLabel"
android:layout_width="wrap_content"
@@ -45,27 +41,34 @@
android:layout_alignTop="@id/checkbox"
android:layout_alignBottom="@id/checkbox"/>
- <TextView
- android:id="@+id/l10nWarn"
- style="@style/LanguageCheckboxAndLabel"
- android:layout_marginTop="-28dp"
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:minHeight="?android:listPreferredItemHeight"
android:paddingStart="56dp"
- android:textAppearance="?android:attr/textAppearanceListItemSecondary"
- android:textColor="?android:textColorSecondary"
- android:text="@string/locale_not_translated"
- android:layout_toStartOf="@+id/dragHandle"
- android:layout_below="@id/label"/>
+ android:layout_toStartOf="@+id/dragHandle">
+ <TextView
+ android:id="@+id/label"
+ style="@style/LanguageCheckboxAndLabel"/>
- <TextView
- android:id="@+id/default_locale"
- style="@style/LanguageCheckboxAndLabel"
- android:layout_marginTop="-28dp"
- android:paddingStart="56dp"
- android:textAppearance="?android:attr/textAppearanceListItemSecondary"
- android:textColor="?android:textColorSecondary"
- android:text="@string/desc_current_default_language"
- android:layout_toStartOf="@+id/dragHandle"
- android:layout_below="@id/label"/>
+ <TextView
+ android:id="@+id/l10nWarn"
+ style="@style/LanguageCheckboxAndLabel"
+ android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+ android:textColor="?android:textColorSecondary"
+ android:layout_marginBottom="4dp"
+ android:text="@string/locale_not_translated"/>
+
+ <TextView
+ android:id="@+id/default_locale"
+ style="@style/LanguageCheckboxAndLabel"
+ android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+ android:textColor="?android:textColorSecondary"
+ android:layout_marginBottom="4dp"
+ android:text="@string/desc_current_default_language"/>
+
+ </LinearLayout>
<ImageView
android:id="@+id/dragHandle"
diff --git a/res/raw-sw600dp-night/lottie_long_press_power_for_power_menu.json b/res/raw-sw600dp-night/lottie_long_press_power_for_power_menu.json
deleted file mode 100644
index 1dfe406..0000000
--- a/res/raw-sw600dp-night/lottie_long_press_power_for_power_menu.json
+++ /dev/null
@@ -1 +0,0 @@
-{"nm":"LPress_PowerMenu_Tablet_DT","mn":"","layers":[{"ty":0,"nm":"PowerMenu","mn":"","sr":1,"st":80,"op":900,"ip":80,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[52,52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.05,"y":0.7},"i":{"x":0.1,"y":1},"s":[205.999,131.163,0],"t":80,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.1,"y":0.1},"s":[205.999,151.163,0],"t":98,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.2,"y":0},"i":{"x":0,"y":1},"s":[205.999,151.163,0],"t":190,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[205.999,161.163,0],"t":199}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.2,"y":0},"i":{"x":0,"y":1},"s":[0],"t":80},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":98},{"o":{"x":0.2,"y":0},"i":{"x":0,"y":1},"s":[100],"t":190},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":199}],"ix":11}},"ef":[],"w":104,"h":104,"refId":"comp_0","ind":1},{"ty":4,"nm":".grey600","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[205.767,149.975,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[205.767,149.975,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"button - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-1.372],[0,0],[0,0],[1.367,0]],"o":[[-1.367,0],[0,0],[0,0],[0,-1.372],[0,0]],"v":[[-10.894,-1.74],[-13.37,0.746],[0.495,1.74],[13.37,0.746],[10.894,-1.74]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[276.726,49.579],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"button - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-1.372],[0,0],[0,0],[1.367,0]],"o":[[-1.367,0],[0,0],[0,0],[0,-1.372],[0,0]],"v":[[-4.457,-1.74],[-6.933,0.746],[0.99,0.746],[6.933,0.746],[4.457,-1.74]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":1,"k":[{"o":{"x":0.36,"y":0},"i":{"x":0.605,"y":0.583},"s":[318.15,49.579],"t":30,"ti":[0,0],"to":[0,0]},{"o":{"x":0.314,"y":0.314},"i":{"x":0.635,"y":0.635},"s":[318.15,51.979],"t":50,"ti":[0,0],"to":[0,0]},{"o":{"x":0.665,"y":0.02},"i":{"x":0.456,"y":1},"s":[318.15,51.979],"t":120,"ti":[0,0],"to":[0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[318.15,49.579],"t":140}],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"frame","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Tablet","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"s":{"a":0,"k":[319.538,201.948],"ix":2}},{"ty":"op","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Filter - Offset","nm":"Offset Paths 1","ix":2,"a":{"a":0,"k":-1.5,"ix":1},"lj":1,"ml":{"a":0,"k":4,"ix":3}},{"ty":"st","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":1,"lj":1,"ml":4,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"d":[],"c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":3}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[205.767,151.137],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":".grey700","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey700","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[205.767,151.137,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":74},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":80},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":199},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":205}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Tablet","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"s":{"a":0,"k":[319.538,201.948],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.3725,0.3882,0.4078],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3},{"ty":4,"nm":".black","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"black","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[205.767,151.137,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Tablet","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"s":{"a":0,"k":[317.538,199.948],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0,0,0],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":4},{"ty":4,"nm":".blue400","mn":"","sr":1,"st":0,"op":1500,"ip":0,"hd":false,"cl":"blue400","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[273.205,92.869,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[318,50,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-5.226],[-5.226,0],[0,5.226],[5.226,0]],"o":[[0,5.226],[5.226,0],[0,-5.226],[-5.226,0]],"v":[[-9.463,0],[0,9.463],[9.463,0],[0,-9.463]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.4,0.6157,0.9647],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.239,"y":0.604},"s":[13,13],"t":35},{"o":{"x":0.182,"y":0.996},"i":{"x":0.596,"y":1},"s":[100,100],"t":55},{"o":{"x":0.793,"y":0},"i":{"x":0.833,"y":0.833},"s":[129,129],"t":124.92},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[13,13],"t":139.919921875}],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[273.205,92.869],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":5},{"ty":4,"nm":".blue100","mn":"","sr":1,"st":0,"op":1500,"ip":0,"hd":false,"cl":"blue100","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[273.205,92.869,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[318,50,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 2","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-8.26],[-8.26,0],[0,8.26],[8.26,0]],"o":[[0,8.26],[8.26,0],[0,-8.26],[-8.26,0]],"v":[[-14.957,0],[0,14.957],[14.957,0],[0,-14.957]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8235,0.8902,0.9882],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.304,"y":0.758},"s":[13,13],"t":30},{"o":{"x":0.196,"y":1.618},"i":{"x":0.709,"y":0.99},"s":[100,100],"t":50},{"o":{"x":0.609,"y":-0.001},"i":{"x":0.833,"y":0.833},"s":[113.775,113.775],"t":125},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8,8],"t":140}],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[273.205,92.869],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":6},{"ty":4,"nm":".black","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":true,"cl":"black","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Rectangle 1","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"s":{"a":0,"k":[412,300],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0,0,0],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":7}],"ddd":0,"h":300,"w":412,"meta":{"a":"","k":"","d":"","g":"@lottiefiles/toolkit-js 0.22.1","tc":"#000000"},"v":"5.10.0","fr":60,"op":240,"ip":0,"assets":[{"nm":"Power menu DT","mn":"","layers":[{"ty":4,"nm":".white","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[28,28,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Shape_7_5_","ix":1,"cix":2,"np":4,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.8,-7.15],[-0.8,-7.15],[-0.8,0.75],[0.8,0.75]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[1.5,1.3],[0,0],[-0.1,-1.8],[3.1,0],[0,3.1],[-1.2,1],[0,0],[0,-2.2],[-3.9,0],[0,3.9]],"o":[[0,0],[1.2,1],[0,3.1],[-3.1,0],[0,-1.7],[0,0],[-1.5,1.3],[0,3.9],[3.9,0],[0,-2.2]],"v":[[4.6,-5.35],[3.5,-4.25],[5.7,0.05],[0.1,5.65],[-5.5,0.05],[-3.5,-4.25],[-4.6,-5.35],[-7.1,0.05],[0,7.15],[7.1,0.05]]},"ix":2}},{"ty":"mm","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Filter - Merge","nm":"Merge Paths 1","mm":1},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":".grey800","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey800","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[52,52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[52,52,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 4","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607179","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2353,0.251,0.2627],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[76,76],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 3","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607177","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2353,0.251,0.2627],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[76,28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 2","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607178","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2353,0.251,0.2627],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[28,76],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 1","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607176","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2353,0.251,0.2627],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[28,28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":".black","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"black","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[52,52,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Power menu","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12,"ix":4},"s":{"a":0,"k":[104,104],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0,0,0],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3}],"id":"comp_0","fr":60}]}
\ No newline at end of file
diff --git a/res/raw-sw600dp/lottie_long_press_power_for_power_menu.json b/res/raw-sw600dp/lottie_long_press_power_for_power_menu.json
deleted file mode 100644
index 424969d..0000000
--- a/res/raw-sw600dp/lottie_long_press_power_for_power_menu.json
+++ /dev/null
@@ -1 +0,0 @@
-{"nm":"LPress_PowerMenu_Tablet","mn":"","layers":[{"ty":0,"nm":"PowerMenu","mn":"","sr":1,"st":80,"op":900,"ip":80,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[52,52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.05,"y":0.7},"i":{"x":0.1,"y":1},"s":[205.999,131.163,0],"t":80,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.1,"y":0.1},"s":[205.999,151.163,0],"t":98,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.2,"y":0},"i":{"x":0,"y":1},"s":[205.999,151.163,0],"t":190,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[205.999,161.163,0],"t":199}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.2,"y":0},"i":{"x":0,"y":1},"s":[0],"t":80},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":98},{"o":{"x":0.2,"y":0},"i":{"x":0,"y":1},"s":[100],"t":190},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":199}],"ix":11}},"ef":[],"w":104,"h":104,"refId":"comp_0","ind":1},{"ty":4,"nm":".grey300","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey300","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[205.767,149.975,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[205.767,149.975,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"button - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-1.372],[0,0],[0,0],[1.367,0]],"o":[[-1.367,0],[0,0],[0,0],[0,-1.372],[0,0]],"v":[[-10.894,-1.74],[-13.37,0.746],[0.495,1.74],[13.37,0.746],[10.894,-1.74]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8549,0.8627,0.8784],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[276.726,49.579],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"button - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-1.372],[0,0],[0,0],[1.367,0]],"o":[[-1.367,0],[0,0],[0,0],[0,-1.372],[0,0]],"v":[[-4.457,-1.74],[-6.933,0.746],[0.99,0.746],[6.933,0.746],[4.457,-1.74]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8549,0.8627,0.8784],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":1,"k":[{"o":{"x":0.36,"y":0},"i":{"x":0.605,"y":0.583},"s":[318.15,49.579],"t":30,"ti":[0,0],"to":[0,0]},{"o":{"x":0.314,"y":0.314},"i":{"x":0.635,"y":0.635},"s":[318.15,51.979],"t":50,"ti":[0,0],"to":[0,0]},{"o":{"x":0.665,"y":0.02},"i":{"x":0.456,"y":1},"s":[318.15,51.979],"t":120,"ti":[0,0],"to":[0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[318.15,49.579],"t":140}],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"frame","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Tablet","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"s":{"a":0,"k":[319.538,201.948],"ix":2}},{"ty":"op","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Filter - Offset","nm":"Offset Paths 1","ix":2,"a":{"a":0,"k":-1.5,"ix":1},"lj":1,"ml":{"a":0,"k":4,"ix":3}},{"ty":"st","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":1,"lj":1,"ml":4,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"d":[],"c":{"a":0,"k":[0.8549,0.8627,0.8784],"ix":3}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[205.767,151.137],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":".grey400","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey400","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[205.767,151.137,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":74},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":80},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":199},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":205}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Tablet","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"s":{"a":0,"k":[319.538,201.948],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.7412,0.7569,0.7765],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3},{"ty":4,"nm":".white","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[205.767,151.137,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Tablet","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"s":{"a":0,"k":[319.538,201.948],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":4},{"ty":4,"nm":".blue400","mn":"","sr":1,"st":0,"op":1500,"ip":0,"hd":false,"cl":"blue400","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[273.205,92.869,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[318,50,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-5.226],[-5.226,0],[0,5.226],[5.226,0]],"o":[[0,5.226],[5.226,0],[0,-5.226],[-5.226,0]],"v":[[-9.463,0],[0,9.463],[9.463,0],[0,-9.463]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.4,0.6157,0.9647],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.239,"y":0.604},"s":[13,13],"t":35},{"o":{"x":0.182,"y":0.996},"i":{"x":0.596,"y":1},"s":[100,100],"t":55},{"o":{"x":0.793,"y":0},"i":{"x":0.833,"y":0.833},"s":[129,129],"t":124.92},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[13,13],"t":139.919921875}],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[273.205,92.869],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":5},{"ty":4,"nm":".blue300","mn":"","sr":1,"st":0,"op":1500,"ip":0,"hd":false,"cl":"blue300","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[273.205,92.869,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[318,50,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 2","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-8.26],[-8.26,0],[0,8.26],[8.26,0]],"o":[[0,8.26],[8.26,0],[0,-8.26],[-8.26,0]],"v":[[-14.957,0],[0,14.957],[14.957,0],[0,-14.957]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.5412,0.7059,0.9725],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.304,"y":0.758},"s":[13,13],"t":30},{"o":{"x":0.196,"y":1.618},"i":{"x":0.709,"y":0.99},"s":[100,100],"t":50},{"o":{"x":0.609,"y":-0.001},"i":{"x":0.833,"y":0.833},"s":[113.775,113.775],"t":125},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8,8],"t":140}],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[273.205,92.869],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":6},{"ty":3,"mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ind":7}],"ddd":0,"h":300,"w":412,"meta":{"a":"","k":"","d":"","g":"@lottiefiles/toolkit-js 0.22.1","tc":"#000000"},"v":"5.10.0","fr":60,"op":241,"ip":1,"assets":[{"nm":"Power menu 2","mn":"","layers":[{"ty":4,"nm":".black","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"black","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[28,28,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Shape_7_5_","ix":1,"cix":2,"np":4,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.8,-7.15],[-0.8,-7.15],[-0.8,0.75],[0.8,0.75]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[1.5,1.3],[0,0],[-0.1,-1.8],[3.1,0],[0,3.1],[-1.2,1],[0,0],[0,-2.2],[-3.9,0],[0,3.9]],"o":[[0,0],[1.2,1],[0,3.1],[-3.1,0],[0,-1.7],[0,0],[-1.5,1.3],[0,3.9],[3.9,0],[0,-2.2]],"v":[[4.6,-5.35],[3.5,-4.25],[5.7,0.05],[0.1,5.65],[-5.5,0.05],[-3.5,-4.25],[-4.6,-5.35],[-7.1,0.05],[0,7.15],[7.1,0.05]]},"ix":2}},{"ty":"mm","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Filter - Merge","nm":"Merge Paths 1","mm":1},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0,0,0],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":".grey200","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey200","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[52,52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[52,52,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 4","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607179","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[76,76],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 3","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607177","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[76,28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 2","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607178","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[28,76],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 1","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607176","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[28,28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":".white","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[52,52,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Power menu","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12,"ix":4},"s":{"a":0,"k":[104,104],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3}],"id":"comp_0","fr":60}]}
\ No newline at end of file
diff --git a/res/raw-sw600dp/lottie_system_nav_3_button.json b/res/raw-sw600dp/lottie_system_nav_3_button.json
deleted file mode 100644
index 15bca4d..0000000
--- a/res/raw-sw600dp/lottie_system_nav_3_button.json
+++ /dev/null
@@ -1 +0,0 @@
-{"nm":"3_button_Nav","mn":"","layers":[{"ty":4,"nm":".grey600","mn":"","sr":1,"st":0,"op":712,"ip":0,"hd":false,"cl":"grey600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":3,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[4.147,0],[0,0],[0,4.148],[0,0],[-4.147,0],[0,0],[0,0],[0,-4.148]],"o":[[0,4.148],[0,0],[-4.147,0],[0,0],[0,-4.148],[0,0],[0,0],[4.147,0],[0,0]],"v":[[159.897,92.491],[151.998,100.014],[-151.969,100.014],[-159.868,92.491],[-159.868,-90.094],[-151.969,-97.994],[-57.101,-97.994],[151.998,-97.994],[159.897,-90.094]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[5.667,0],[0,0],[1.276,0],[0,0],[0,-1.276],[0,0],[1.276,0],[0,0],[0,-1.276],[0,0],[0,-5.667],[0,0],[-5.667,0],[0,0],[0,5.667],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,-1.276],[0,0],[-1.276,0],[0,0],[0,-1.276],[0,0],[-1.276,0],[0,0],[-5.667,0],[0,0],[0,5.667],[0,0],[5.667,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-5.667]],"v":[[151.997,-100.355],[138.43,-100.355],[136.119,-102.667],[126.874,-102.667],[124.562,-100.355],[113.841,-100.355],[111.529,-102.667],[88.416,-102.667],[86.104,-100.355],[-151.968,-100.355],[-162.229,-90.094],[-162.229,92.114],[-151.968,102.375],[151.998,102.375],[162.258,92.115],[162.258,33.153],[162.258,24.832],[162.258,-7.174],[162.258,-16.353],[162.258,-90.094]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.502,0.5255,0.5451],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.502,0.5255,0.5451],"t":711}]},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":".blue600","mn":"","sr":1,"st":12,"op":69,"ip":49,"hd":false,"cl":"blue600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[19,-16,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[319.5,229,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"el","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Ellipse","nm":"Ellipse Path 1","d":1,"p":{"a":0,"k":[19,-16],"ix":3},"s":{"a":0,"k":[26,26],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.102,0.451,0.9098],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":49},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":60},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":63},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":69}],"ix":5}}],"ind":2},{"ty":4,"nm":".blue600","mn":"","sr":1,"st":103,"op":160,"ip":140,"hd":false,"cl":"blue600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[19,-16,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[264.5,229,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"el","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Ellipse","nm":"Ellipse Path 1","d":1,"p":{"a":0,"k":[19,-16],"ix":3},"s":{"a":0,"k":[26,26],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.102,0.451,0.9098],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":140},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":151},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":154},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":160}],"ix":5}}],"ind":3},{"ty":4,"nm":".blue600","mn":"","sr":1,"st":203,"op":260,"ip":240,"hd":false,"cl":"blue600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[19,-16,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[295,229,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"el","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Ellipse","nm":"Ellipse Path 1","d":1,"p":{"a":0,"k":[19,-16],"ix":3},"s":{"a":0,"k":[26,26],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.102,0.451,0.9098],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":240},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":251},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":254},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":260}],"ix":5}}],"ind":4},{"ty":4,"nm":".blue600","mn":"","sr":1,"st":297,"op":354,"ip":334,"hd":false,"cl":"blue600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[19,-16,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[345.75,229,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"el","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Ellipse","nm":"Ellipse Path 1","d":1,"p":{"a":0,"k":[19,-16],"ix":3},"s":{"a":0,"k":[26,26],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.102,0.451,0.9098],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":334},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":345},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":348},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":354}],"ix":5}}],"ind":5},{"ty":4,"nm":".blue600","mn":"","sr":1,"st":419,"op":551,"ip":461,"hd":false,"cl":"blue600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[174.5,273.75,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"el","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Ellipse","nm":"Ellipse Path 1","d":1,"p":{"a":1,"k":[{"o":{"x":0.5,"y":0},"i":{"x":0,"y":1},"s":[-2,-99],"t":479,"ti":[-26.833,0],"to":[26.833,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[159,-99],"t":541}],"ix":3},"s":{"a":0,"k":[26,26],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.102,0.451,0.9098],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":461},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":476},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":541},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":551}],"ix":5}}],"ind":6},{"ty":4,"nm":".blue600","mn":"","sr":1,"st":557,"op":614,"ip":594,"hd":false,"cl":"blue600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[19,-16,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[197.5,110.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"el","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Ellipse","nm":"Ellipse Path 1","d":1,"p":{"a":0,"k":[19,-16],"ix":3},"s":{"a":0,"k":[26,26],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.102,0.451,0.9098],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":594},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":605},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":608},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":614}],"ix":5}}],"ind":7},{"ty":0,"nm":"3 button Nav","mn":"","sr":1,"st":0,"op":712,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[30,4.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[319.843,229.28,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":60,"h":9,"refId":"comp_0","ind":8},{"ty":3,"nm":"Final Scale Up","mn":"","sr":1,"st":-239,"op":712,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.33,"y":0},"i":{"x":0,"y":1},"s":[27.6,27.6,100],"t":611},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100,100,100],"t":641}],"ix":6},"sk":{"a":0,"k":0},"p":{"s":true,"x":{"a":1,"k":[{"o":{"x":0.33,"y":0},"i":{"x":0,"y":1},"s":[198],"t":611},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[206],"t":641}],"ix":3},"y":{"a":1,"k":[{"o":{"x":0.33,"y":0},"i":{"x":0,"y":1},"s":[109.462],"t":611},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[151.5],"t":641}],"ix":4}},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"ind":9},{"ty":4,"nm":"OVERVIEW MATTE 3","mn":"","sr":1,"st":-79,"op":712,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[205.809,148.489,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[10.5,10.5,100],"t":-79},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100,100,100],"t":-57}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[264.476,229.28,0],"t":-79,"ti":[-0.083,37.333,0],"to":[-11.042,-1.708,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[207.809,150.364,0],"t":-57}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Bg","d":1,"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[93],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8],"t":-66}],"ix":4},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[130,130],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[320,200],"t":-66}],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,0.3137,0.3137],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":10},{"ty":0,"nm":"FullscreenApp1_Loop","mn":"","sr":1,"st":350,"op":712,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[160,99.5,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[-43.275,91.249,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":320,"h":199,"refId":"comp_1","ind":11,"parent":17},{"ty":4,"nm":"OVERVIEW MATTE","mn":"","sr":1,"st":-79,"op":683,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[205.809,148.489,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[10.5,10.5,100],"t":-79},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100,100,100],"t":-57}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[264.476,229.28,0],"t":-79,"ti":[-0.083,37.333,0],"to":[-11.042,-1.708,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[207.809,150.364,0],"t":-57}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Bg","d":1,"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[93],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8],"t":-66}],"ix":4},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[130,130],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[320,200],"t":-66}],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,0.3137,0.3137],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":12},{"ty":0,"nm":"OverviewGrid","mn":"","sr":1,"st":350,"op":683,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[206,150,0],"ix":1},"s":{"a":0,"k":[144.928,144.928,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[-31.681,150,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":412,"h":300,"refId":"comp_2","ind":13,"parent":17},{"ty":4,"nm":"OVERVIEW MATTE 2","mn":"","sr":1,"st":-79,"op":683,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[205.809,148.489,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[10.5,10.5,100],"t":-79},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100,100,100],"t":-57}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[264.476,229.28,0],"t":-79,"ti":[-0.083,37.333,0],"to":[-11.042,-1.708,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[207.809,150.364,0],"t":-57}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Bg","d":1,"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[93],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8],"t":-66}],"ix":4},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[130,130],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[320,200],"t":-66}],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,0.3137,0.3137],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":14},{"ty":4,"nm":"Main Application Avatar","mn":"","sr":1,"st":350,"op":683,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[204.62,44.592,0],"ix":1},"s":{"a":0,"k":[144.928,144.928,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,30.435,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":370},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":378}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Icon","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[204.62,44.592],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":15,"parent":17},{"ty":4,"nm":"UI 2 MATTE 2","mn":"","sr":1,"st":-79,"op":683,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[205.809,148.489,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[10.5,10.5,100],"t":-79},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100,100,100],"t":-57}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[264.476,229.28,0],"t":-79,"ti":[-0.083,37.333,0],"to":[-11.042,-1.708,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[207.809,150.364,0],"t":-57}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Bg","d":1,"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[93],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8],"t":-66}],"ix":4},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[130,130],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[320,200],"t":-66}],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,0.3137,0.3137],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":16},{"ty":0,"nm":"FullscreenApp2","mn":"","sr":1,"st":-79,"op":683,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[206,150,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.4,"y":0},"i":{"x":0.2,"y":1},"s":[362.319,362.319,100],"t":350},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[250,250,100],"t":370}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.5,"y":0},"i":{"x":0,"y":1},"s":[28.986,146.877,0],"t":479,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[623.188,146.877,0],"t":541}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":412,"h":300,"refId":"comp_3","ind":17,"parent":9},{"ty":4,"nm":"UI 2 MATTE","mn":"","sr":1,"st":160,"op":350,"ip":160,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[205.809,148.489,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[38.043,38.043,100],"t":160},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[362.319,362.319,100],"t":182}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[240.857,434.122,0],"t":160,"ti":[-0.302,135.266,0],"to":[-40.006,-6.19,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[35.54,148.194,0],"t":182}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Bg","d":1,"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[93],"t":164},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8],"t":173}],"ix":4},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[130,130],"t":164},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[320,200],"t":173}],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,0.3137,0.3137],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":18,"parent":9},{"ty":0,"nm":"FullscreenApp2","mn":"","sr":1,"st":160,"op":350,"ip":160,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[206,150,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.5,"y":0},"i":{"x":0,"y":1},"s":[204,148.125,0],"t":778,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[368,148.125,0],"t":840}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":412,"h":300,"refId":"comp_3","ind":19,"parent":18},{"ty":4,"nm":"UI 1 MATTE","mn":"","sr":1,"st":0,"op":91,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[205.809,148.489,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.65,"y":0},"i":{"x":0.2,"y":1},"s":[100,100,100],"t":60},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[11,11,100],"t":90}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.65,"y":0},"i":{"x":0.2,"y":1},"s":[207.809,150.739,0],"t":60,"ti":[0.833,-72.417,0],"to":[-10.833,0.167,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[160.294,231.541,0],"t":90}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Bg","d":1,"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"o":{"x":0.455,"y":0},"i":{"x":0.425,"y":1},"s":[8],"t":66},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[93],"t":85}],"ix":4},"s":{"a":1,"k":[{"o":{"x":0.455,"y":0},"i":{"x":0.425,"y":1},"s":[320,200],"t":66},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[120,120],"t":85}],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,0.3137,0.3137],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":20},{"ty":0,"nm":"FullscreenApp1","mn":"","sr":1,"st":0,"op":91,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[160,98,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[204,147.75,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":320,"h":199,"refId":"comp_6","ind":21,"parent":20},{"ty":4,"nm":"3 Button Home UI","mn":"","sr":1,"st":0,"op":351,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":1,"k":[{"o":{"x":0.4,"y":0},"i":{"x":0.2,"y":1},"s":[164.329,229.28,0],"t":83},{"o":{"x":0.4,"y":0},"i":{"x":0.2,"y":1},"s":[164.329,227.28,0],"t":90},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[164.329,229.28,0],"t":120}],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"s":true,"x":{"a":0,"k":164.329,"ix":3},"y":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.2,"y":1},"s":[227.28],"t":60},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[229.28],"t":90}],"ix":4}},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"QSB","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[3.557,0],[0,0],[0,-3.554],[-3.557,0],[0,0],[0,3.554]],"o":[[0,0],[-3.557,0],[0,3.554],[0,0],[3.557,0],[0,-3.554]],"v":[[36.571,-6.435],[-36.571,-6.435],[-43.011,0],[-36.571,6.435],[36.571,6.435],[43.011,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2353,0.251,0.2627],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[-100,-100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[100.753,229.275],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"App1","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.557,0],[0,3.557],[3.557,0],[0,-3.557]],"o":[[3.557,0],[0,-3.557],[-3.557,0],[0,3.557]],"v":[[0,6.44],[6.44,0],[0,-6.44],[-6.44,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8235,0.8902,0.9882],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":88},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":90}],"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[160.294,229.28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"App2","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.557,0],[0,3.557],[3.557,0],[0,-3.557]],"o":[[3.557,0],[0,-3.557],[-3.557,0],[0,3.557]],"v":[[0,6.44],[6.44,0],[0,-6.44],[-6.44,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9804,0.8235,0.8118],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[180.954,229.28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"App3","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.557,0],[0,3.557],[3.557,0],[0,-3.557]],"o":[[3.557,0],[0,-3.557],[-3.557,0],[0,3.557]],"v":[[0,6.44],[6.44,0],[0,-6.44],[-6.44,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8078,0.9176,0.8392],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[202.175,229.28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"App4","ix":5,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.557,0],[0,3.557],[3.557,0],[0,-3.557]],"o":[[3.557,0],[0,-3.557],[-3.557,0],[0,3.557]],"v":[[0,6.44],[6.44,0],[0,-6.44],[-6.44,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9961,0.9373,0.7647],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[222.806,229.28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"App5","ix":6,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.557,0],[0,3.557],[3.557,0],[0,-3.557]],"o":[[3.557,0],[0,-3.557],[-3.557,0],[0,3.557]],"v":[[0,6.44],[6.44,0],[0,-6.44],[-6.44,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8235,0.8902,0.9882],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[243.606,229.28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"App6","ix":7,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.557,0],[0,3.557],[3.557,0],[0,-3.557]],"o":[[3.557,0],[0,-3.557],[-3.557,0],[0,3.557]],"v":[[0,6.44],[6.44,0],[0,-6.44],[-6.44,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9804,0.8235,0.8118],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":160},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":162}],"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[264.476,229.28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":22},{"ty":4,"nm":"OV_BG","mn":"","sr":1,"st":349,"op":712,"ip":349,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-2.043,-2.075,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,147.925,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Rectangle 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-4.912],[0,0],[4.912,0],[0,0],[0,4.912],[0,0],[-4.912,0],[0,0]],"o":[[0,0],[0,4.912],[0,0],[-4.912,0],[0,0],[0,-4.912],[0,0],[4.912,0]],"v":[[166.473,-89.274],[166.473,94.935],[157.58,103.828],[-154.386,103.82],[-163.279,94.927],[-163.279,-89.282],[-154.386,-98.175],[157.58,-98.167]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2353,0.251,0.2627],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[98.392,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[-3.59,-1.696],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":23},{"ty":4,"nm":".black","mn":"","sr":1,"st":0,"op":712,"ip":0,"hd":true,"cl":"black","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[15.291,0],[0,0],[0,15.652],[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0]],"o":[[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0],[15.185,0],[0,0],[0,15.544]],"v":[[178.179,150],[-178.179,150],[-206,121.522],[-206,-121.522],[-178.179,-150],[178.286,-150],[206,-121.522],[206,121.63]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0,0,0],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0,0,0],"t":711}]},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":24}],"ddd":0,"h":300,"w":412,"meta":{"a":"","k":"","d":"","g":"@lottiefiles/toolkit-js 0.22.1","tc":"#000000"},"v":"5.10.0","fr":60,"op":652,"ip":0,"assets":[{"nm":"3 button Nav","mn":"","layers":[{"ty":4,"nm":".blue400","mn":"","sr":1,"st":0,"op":1200,"ip":0,"hd":false,"cl":"blue400","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[30.196,4.36,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[30.196,4.36,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"overview","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[4.355,-4.355],[-4.355,-4.355],[-4.355,4.355],[4.355,4.355]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.4,0.6157,0.9647],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.4,0.6157,0.9647],"t":1199}]},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[56.037,4.355],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"home","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-2.402,0],[0,2.402],[2.402,0],[0,-2.402]],"o":[[2.402,0],[0,-2.402],[-2.402,0],[0,2.402]],"v":[[0,4.35],[4.35,0],[0,-4.35],[-4.35,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.4,0.6157,0.9647],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.4,0.6157,0.9647],"t":1199}]},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[29.901,4.36],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"back","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.77,-4.355],[-3.77,-0.005],[-3.77,0.005],[3.77,4.355]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.4,0.6157,0.9647],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.4,0.6157,0.9647],"t":1199}]},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[3.77,4.365],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1}],"id":"comp_0","fr":60},{"nm":"FullscreenApp1_Loop","mn":"","layers":[{"ty":4,"nm":"UI","mn":"","sr":1,"st":0,"op":731,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[159.105,96.755,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[159.105,96.755,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 5","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.828,0],[0,0],[0,-2.828],[0,0],[-2.828,0],[0,0],[0,2.828],[0,0]],"o":[[0,0],[-2.828,0],[0,0],[0,2.828],[0,0],[2.828,0],[0,0],[0,-2.828]],"v":[[134.205,-36.245],[-134.205,-36.245],[-139.325,-31.125],[-139.325,31.125],[-134.205,36.245],[134.205,36.245],[139.325,31.125],[139.325,-31.125]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[159.105,108.145],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 4","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.917,0],[0,0],[0,-0.917],[0,0],[-0.917,0],[0,0],[0,0.917],[0,0]],"o":[[0,0],[-0.917,0],[0,0],[0,0.917],[0,0],[0.917,0],[0,0],[0,-0.917]],"v":[[99.84,-4.355],[-99.84,-4.355],[-101.5,-2.695],[-101.5,2.695],[-99.84,4.355],[99.84,4.355],[101.5,2.695],[101.5,-2.695]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[121.28,59.365],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[1.011,0],[0,0],[0,-1.011],[0,0],[-1.011,0],[0,0],[0,1.011],[0,0]],"o":[[0,0],[-1.011,0],[0,0],[0,1.011],[0,0],[1.011,0],[0,0],[0,-1.011]],"v":[[120.985,-4.355],[-120.985,-4.355],[-122.815,-2.525],[-122.815,2.525],[-120.985,4.355],[120.985,4.355],[122.815,2.525],[122.815,-2.525]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[142.595,157.585],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 2","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[1.077,0],[0,0],[0,-1.077],[0,0],[-1.077,0],[0,0],[0,1.077],[0,0]],"o":[[0,0],[-1.077,0],[0,0],[0,1.077],[0,0],[1.077,0],[0,0],[0,-1.077]],"v":[[137.375,-4.355],[-137.375,-4.355],[-139.325,-2.405],[-139.325,2.405],[-137.375,4.355],[137.375,4.355],[139.325,2.405],[139.325,-2.405]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[159.105,47.645],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 1","ix":5,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.966,0],[0,0],[0,-0.966],[0,0],[-0.966,0],[0,0],[0,0.966],[0,0]],"o":[[0,0],[-0.966,0],[0,0],[0,0.966],[0,0],[0.966,0],[0,0],[0,-0.966]],"v":[[110.86,-4.355],[-110.86,-4.355],[-112.61,-2.605],[-112.61,2.605],[-110.86,4.355],[110.86,4.355],[112.61,2.605],[112.61,-2.605]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[132.39,35.925],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8471,0.8627,0.8824],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":1},{"ty":4,"nm":"header","mn":"","sr":1,"st":0,"op":731,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[160,11.15,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[3.95,0],[0,0],[0,-3.95],[0,0],[0,0],[0,0]],"o":[[0,0],[-3.95,0],[0,0],[0,0],[0,0],[0,-3.95]],"v":[[152.73,-11.14],[-152.73,-11.14],[-159.88,-3.99],[-159.88,11.14],[159.88,11.14],[159.88,-3.99]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":".white","mn":"","sr":1,"st":0,"op":731,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[160,99.01,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,4.15],[0,0],[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0]],"o":[[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0],[0,0],[0,4.15],[0,0]],"v":[[151.98,99],[159.88,91.48],[159.88,-91.1],[151.98,-99],[-151.98,-99],[-159.88,-91.1],[-159.88,91.48],[-151.98,99]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3}],"id":"comp_1","fr":60},{"nm":"OverviewGrid","mn":"","layers":[{"ty":4,"nm":"Photo Grid UI","mn":"","sr":1,"st":41,"op":471,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[193.253,81.961,0],"ix":1},"s":{"a":0,"k":[88.889,88.889,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[198,165,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"TopBar","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[-2.078,-0.085],[0,0],[-0.194,-2.185]],"o":[[0,0],[0,0],[-0.038,-2.098],[0,0],[1.741,-0.085],[0,0]],"v":[[49.917,3.412],[-50.198,3.412],[-50.193,0.637],[-46.502,-2.966],[45.585,-2.994],[49.951,0.074]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[193.351,85.416],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"BlueSquares","ix":2,"cix":2,"np":4,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,5.683],[-9.991,5.683],[-9.991,-5.683],[9.991,-5.683]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.872,5.683],[-55.854,5.683],[-55.854,-5.683],[-35.872,-5.683]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.872,48.406],[-55.854,48.406],[-55.854,31.556],[-35.872,31.556]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8235,0.8902,0.9882],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[227.613,94.529],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"DarkGreySquares","ix":3,"cix":2,"np":6,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,5.683],[-9.991,5.683],[-9.991,-5.683],[9.991,-5.683]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.354,5.683],[-55.337,5.683],[-55.337,-5.683],[-35.354,-5.683]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,48.406],[-9.991,48.406],[-9.991,31.556],[9.991,31.556]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 4","ix":4,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[33.168,28.611],[13.185,28.611],[13.185,8.629],[33.168,8.629]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 5","ix":5,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-12.696,28.611],[-32.678,28.611],[-32.678,8.629],[-12.696,8.629]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8471,0.8627,0.8824],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[204.436,94.529],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":" LightGreySquares","ix":4,"cix":2,"np":5,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,8.425],[-9.991,8.425],[-9.991,-8.425],[9.991,-8.425]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-58.531,8.425],[-78.513,8.425],[-78.513,-8.425],[-58.531,-8.425]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-13.185,-11.37],[-33.168,-11.37],[-33.168,-31.353],[-13.185,-31.353]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 4","ix":4,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-58.531,-11.37],[-78.513,-11.37],[-78.513,-31.353],[-58.531,-31.353]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9451,0.9529,0.9569],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[227.613,134.51],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 14","ix":5,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"s":{"a":0,"k":[100,61],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[193.351,112.461],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":"List Window UI","mn":"","sr":1,"st":189,"op":471,"ip":20,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-13.064,-68.076,0],"ix":1},"s":{"a":0,"k":[88.889,88.889,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[99,165,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"AvatarBlue","ix":1,"cix":2,"np":5,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.947,0],[0,0.947],[-0.947,0],[0,-0.947]],"o":[[-0.947,0],[0,-0.947],[0.947,0],[0,0.947]],"v":[[-56.752,-12.81],[-58.467,-14.525],[-56.752,-16.239],[-55.038,-14.525]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-28.265],[-56.752,-26.551],[-58.467,-28.265],[-56.752,-29.98]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-42.006],[-56.752,-40.291],[-58.467,-42.006],[-56.752,-43.721]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 4","ix":4,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-48.876],[-56.752,-47.161],[-58.467,-48.876],[-56.752,-50.591]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8235,0.8902,0.9882],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"AvatarGrey","ix":2,"cix":2,"np":4,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.947,0],[0,0.947],[-0.947,0],[0,-0.947]],"o":[[-0.947,0],[0,-0.947],[0.947,0],[0,0.947]],"v":[[-56.752,-19.68],[-58.467,-21.395],[-56.752,-23.11],[-55.038,-21.395]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-35.136],[-56.752,-33.421],[-58.467,-35.136],[-56.752,-36.85]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-55.747],[-56.752,-54.032],[-58.467,-55.747],[-56.752,-57.461]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Lines","ix":3,"cix":2,"np":3,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-36.223,-50.453],[36.565,-50.453]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-36.223,-61.345],[-36.223,-7.065]]},"ix":2}},{"ty":"st","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"d":[],"c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":3}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Copy","ix":4,"cix":2,"np":6,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-17.428,-25.498],[-30.133,-25.498],[-30.669,-26.034],[-30.669,-27.718],[-30.133,-28.254],[-17.428,-28.254],[-16.892,-27.718],[-16.892,-26.034]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[5.573,-29.961],[-30.085,-29.961],[-30.621,-30.497],[-30.621,-32.181],[-30.085,-32.716],[5.573,-32.716],[6.109,-32.181],[6.109,-30.497]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[14.363,-34.287],[-30.133,-34.287],[-30.669,-34.822],[-30.669,-36.506],[-30.133,-37.042],[14.363,-37.042],[14.899,-36.506],[14.899,-34.822]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 4","ix":4,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-9.953,-43.195],[-30.133,-43.195],[-30.669,-43.731],[-30.669,-45.415],[-30.133,-45.95],[-9.953,-45.95],[-9.417,-45.415],[-9.417,-43.731]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 5","ix":5,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-0.22,-54.369],[-30.133,-54.369],[-30.669,-54.905],[-30.669,-56.589],[-30.133,-57.124],[-0.22,-57.124],[0.316,-56.589],[0.316,-54.905]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8471,0.8627,0.8824],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 15","ix":5,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[-2.838,0],[0,0],[0,-2.838]],"o":[[0,0],[0,0],[0,-2.838],[0,0],[2.838,0],[0,0]],"v":[[36.846,-61.186],[-63.128,-61.186],[-63.086,-63.61],[-58.13,-68.013],[32.833,-68.076],[36.877,-64.172]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 16","ix":6,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"s":{"a":0,"k":[100,61],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[-13,-37.25],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":"Player Window UI","mn":"","sr":1,"st":189,"op":471,"ip":20,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[193.35,187.454,0],"ix":1},"s":{"a":0,"k":[88.889,88.889,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[99.266,109.367,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":3,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[2.838,0],[0,0],[0,2.838]],"o":[[0,0],[0,0],[0,2.838],[0,0],[-2.838,0],[0,0]],"v":[[-50.057,-3.385],[49.917,-3.385],[49.917,-1.664],[44.778,3.474],[-44.919,3.474],[-50.057,-1.664]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[-2.838,0],[0,0],[0,-2.838]],"o":[[0,0],[0,0],[0,-2.838],[0,0],[2.838,0],[0,0]],"v":[[49.92,-50.615],[-50.054,-50.615],[-50.054,-52.336],[-44.916,-57.474],[44.781,-57.474],[49.92,-52.336]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[193.348,214.499],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 3","ix":2,"cix":2,"np":4,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.836,2.714],[1.418,0],[-2.836,-2.714]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.836,-2.714],[1.418,0],[-2.836,2.714]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-4.456,5.671],[-4.456,-5.671],[4.456,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[196.187,186.804],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 4","ix":3,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"s":{"a":0,"k":[100,61],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8471,0.8627,0.8824],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[193.348,187.454],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3},{"ty":4,"nm":"Overview Avatars","mn":"","sr":1,"st":0,"op":471,"ip":20,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[204.62,44.592,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[198.4,68.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":261},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":271}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Icon 4","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[105.62,127.5],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":110},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":118}],"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Icon 3","ix":2,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[204.62,127.5],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":110},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":118}],"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Icon 2","ix":3,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[105.62,44.592],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":110},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":118}],"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Icon","ix":4,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[204.62,44.592],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":110},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":118}],"ix":7}}]}],"ind":4}],"id":"comp_2","fr":60},{"nm":"FullscreenApp2","mn":"","layers":[{"ty":4,"nm":"color Fade","mn":"","sr":1,"st":0,"op":21,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150.845,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":8},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":20}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"White app","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,4.16],[0,0],[4.15,0],[0,0],[0,-4.16],[0,0],[-4.15,0]],"o":[[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0],[0,0],[0,4.16],[0,0]],"v":[[151.989,99.167],[159.889,91.627],[159.889,-91.257],[151.989,-99.167],[-151.989,-99.167],[-159.889,-91.257],[-159.889,91.627],[-151.989,99.167]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0.9804,0.8235,0.8118],"t":2},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[1,1,1],"t":8}],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":".grey200","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey200","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,62.818,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Header","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[3.95,0],[0,0],[0,0],[0,-3.95],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[-3.95,0],[0,0],[0,0],[0,0],[0,-3.95]],"v":[[152.739,-11.14],[-152.729,-11.14],[-152.739,-11.14],[-159.889,-3.99],[-159.889,11.14],[159.889,11.14],[159.889,-3.99]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.9098,0.9176,0.9294],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.9098,0.9176,0.9294],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":"MessageViewMatte","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150.845,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"White app","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,4.16],[0,0],[4.15,0],[0,0],[0,-4.16],[0,0],[-4.15,0]],"o":[[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0],[0,0],[0,4.16],[0,0]],"v":[[151.989,99.167],[159.889,91.627],[159.889,-91.257],[151.989,-99.167],[-151.989,-99.167],[-159.889,-91.257],[-159.889,91.627],[-151.989,99.167]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3},{"ty":0,"nm":"UI","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[144,75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.47,"y":0},"i":{"x":0.34,"y":1},"s":[208.275,158.46,0],"t":96,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[228.275,158.46,0],"t":106}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":99},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":104}],"ix":11}},"ef":[],"w":288,"h":150,"refId":"comp_4","ind":4},{"ty":0,"nm":"List View","mn":"","sr":1,"st":96,"op":996,"ip":96,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[162,102.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.33,"y":0},"i":{"x":0.67,"y":1},"s":[186.02,149.855,0],"t":100,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[206.02,149.855,0],"t":110}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":104},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":108}],"ix":11}},"ef":[],"w":324,"h":205,"refId":"comp_5","ind":5},{"ty":4,"nm":".white","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150.845,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"White app","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,4.16],[0,0],[4.15,0],[0,0],[0,-4.16],[0,0],[-4.15,0]],"o":[[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0],[0,0],[0,4.16],[0,0]],"v":[[151.989,99.167],[159.889,91.627],[159.889,-91.257],[151.989,-99.167],[-151.989,-99.167],[-159.889,-91.257],[-159.889,91.627],[-151.989,99.167]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":6}],"id":"comp_3","fr":60},{"nm":"UI","mn":"","layers":[{"ty":4,"nm":".blue100","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"blue100","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[230.751,67.338,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[230.751,67.338,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"bluemessages - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.53,0],[0,0],[0,-2.02],[0,0],[-2.02,0],[0,0],[0,2.02],[0,0]],"o":[[0,0],[-2.01,0],[0,0],[0,2.01],[0,0],[2.01,0],[0,0],[0,-0.53]],"v":[[56.776,-7.445],[-54.086,-7.445],[-57.736,-3.795],[-57.736,3.795],[-54.086,7.445],[54.086,7.445],[57.736,3.795],[57.736,-6.485]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[230.751,75.513],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"bluemessages - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.314,0],[0,0],[0,-2.314],[0,0],[-2.314,0],[0,0],[0,2.314],[0,0]],"o":[[0,0],[-2.314,0],[0,0],[0,2.314],[0,0],[2.314,0],[0,0],[0,-2.314]],"v":[[53.546,-7.47],[-53.546,-7.47],[-57.736,-3.28],[-57.736,3.28],[-53.546,7.47],[53.546,7.47],[57.736,3.28],[57.736,-3.28]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[230.751,112.147],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"bluemessages - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.016,0],[0,0],[0,-2.016],[0,0],[-2.016,0],[0,0],[0,2.016],[0,0]],"o":[[0,0],[-2.016,0],[0,0],[0,2.016],[0,0],[2.016,0],[0,0],[0,-2.016]],"v":[[54.086,-11.38],[-54.086,-11.38],[-57.736,-7.73],[-57.736,7.73],[-54.086,11.38],[54.086,11.38],[57.736,7.73],[57.736,-7.73]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[230.751,26.44],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"bluemessages - 4","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.52,0],[0,0],[0,-2.52],[-2.52,0],[0,0],[0,0.45],[0,0]],"o":[[0,0],[-2.52,0],[0,2.52],[0,0],[0.45,0],[0,0],[0,-2.52]],"v":[[40.631,-4.57],[-40.631,-4.57],[-45.201,0],[-40.631,4.57],[44.391,4.57],[45.201,3.76],[45.201,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[243.286,61.698],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.8235,0.8902,0.9882],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.8235,0.8902,0.9882],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":1},{"ty":4,"nm":".grey100","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey100","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[108.103,74.943,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[108.103,74.943,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greymessages - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.524,0],[0,0],[0,-2.524],[0,0],[-2.524,0],[0,0],[0,2.524],[0,0]],"o":[[0,0],[-2.524,0],[0,0],[0,2.524],[0,0],[2.524,0],[0,0],[0,-2.524]],"v":[[103.532,-5.505],[-103.533,-5.505],[-108.103,-0.935],[-108.103,0.935],[-103.533,5.505],[103.532,5.505],[108.103,0.935],[108.103,-0.935]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[108.103,144.38],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greymessages - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.524,0],[0,0],[0,-2.524],[0,0],[-2.524,0],[0,0],[0,2.524],[0,0]],"o":[[0,0],[-2.524,0],[0,0],[0,2.524],[0,0],[2.524,0],[0,0],[0,-2.524]],"v":[[44.966,-4.575],[-44.966,-4.575],[-49.536,-0.005],[-49.536,0.005],[-44.966,4.575],[44.966,4.575],[49.536,0.005],[49.536,-0.005]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[61.987,93.742],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greymessages - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.524,0],[0,0],[0,-2.524],[0,0],[-2.524,0],[0,0],[0,2.524],[0,0]],"o":[[0,0],[-2.524,0],[0,0],[0,2.524],[0,0],[2.524,0],[0,0],[0,-2.524]],"v":[[34.241,-4.575],[-34.241,-4.575],[-38.811,-0.005],[-38.811,0.005],[-34.241,4.575],[34.241,4.575],[38.811,0.005],[38.811,-0.005]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[51.262,49.174],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greymessages - 4","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-2.53],[-4.62,0],[0,0],[0,2.54],[4.62,0]],"o":[[-4.62,0],[0,2.54],[0,0],[4.62,0],[0,-2.54],[0,0]],"v":[[-41.166,-4.59],[-49.536,0],[-41.166,4.59],[41.166,4.59],[49.536,0],[41.166,-4.59]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[61.987,4.59],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.9451,0.9529,0.9569],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.9451,0.9529,0.9569],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":2},{"ty":4,"nm":".grey400","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey400","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[4.56,49.159,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[4.56,49.159,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greyAvatars - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-2.518,0],[0,2.518],[2.518,0],[0,-2.518]],"o":[[2.518,0],[0,-2.518],[-2.518,0],[0,2.518]],"v":[[0,4.56],[4.56,0],[0,-4.56],[-4.56,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[4.56,93.727],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greyAvatars - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-2.518,0],[0,2.518],[2.518,0],[0,-2.518]],"o":[[2.518,0],[0,-2.518],[-2.518,0],[0,2.518]],"v":[[0,4.56],[4.56,0],[0,-4.56],[-4.56,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[4.56,49.159],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greyAvatars - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-2.518,0],[0,2.518],[2.518,0],[0,-2.518]],"o":[[2.518,0],[0,-2.518],[-2.518,0],[0,2.518]],"v":[[0,4.56],[4.56,0],[0,-4.56],[-4.56,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[4.56,4.59],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.7412,0.7569,0.7765],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.7412,0.7569,0.7765],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":3}],"id":"comp_4","fr":60},{"nm":"List view 9","mn":"","layers":[{"ty":4,"nm":".blue100","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"blue100","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[36.341,87.407,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[36.341,87.407,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"blue avatars - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.872,0],[0,3.872],[3.872,0],[0,-3.872]],"o":[[3.872,0],[0,-3.872],[-3.872,0],[0,3.872]],"v":[[0,7.01],[7.01,0],[0,-7.01],[-7.01,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[36.341,135.116],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"blue avatars - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.872,0],[0,3.872],[3.872,0],[0,-3.872]],"o":[[3.872,0],[0,-3.872],[-3.872,0],[0,3.872]],"v":[[0,7.01],[7.01,0],[0,-7.01],[-7.01,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[36.341,63.558],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"blue avatars - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.872,0],[0,3.872],[3.872,0],[0,-3.872]],"o":[[3.872,0],[0,-3.872],[-3.872,0],[0,3.872]],"v":[[0,7.01],[7.01,0],[0,-7.01],[-7.01,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[36.341,39.699],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.8235,0.8902,0.9882],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.8235,0.8902,0.9882],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":1},{"ty":4,"nm":".grey300","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey300","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[36.341,123.191,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[36.341,123.191,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greyavatars - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.872,0],[0,3.872],[3.872,0],[0,-3.872]],"o":[[3.872,0],[0,-3.872],[-3.872,0],[0,3.872]],"v":[[0,7.01],[7.01,0],[0,-7.01],[-7.01,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[36.341,158.975],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greyavatars - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.872,0],[0,3.872],[3.872,0],[0,-3.872]],"o":[[3.872,0],[0,-3.872],[-3.872,0],[0,3.872]],"v":[[0,7.01],[7.01,0],[0,-7.01],[-7.01,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[36.341,111.267],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greyavatars - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.872,0],[0,3.872],[3.872,0],[0,-3.872]],"o":[[3.872,0],[0,-3.872],[-3.872,0],[0,3.872]],"v":[[0,7.01],[7.01,0],[0,-7.01],[-7.01,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[36.341,87.407],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.8549,0.8627,0.8784],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.8549,0.8627,0.8784],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":2},{"ty":4,"nm":".grey200","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey200","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[119.453,99.337,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[119.453,99.337,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.376,0],[0,0],[0,-0.376],[0,0],[-0.376,0],[0,0],[0,0.376],[0,0]],"o":[[0,0],[-0.376,0],[0,0],[0,0.376],[0,0],[0.376,0],[0,0],[0,-0.376]],"v":[[14.815,-2.225],[-14.815,-2.225],[-15.495,-1.545],[-15.495,1.545],[-14.815,2.225],[14.815,2.225],[15.495,1.545],[15.495,-1.545]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[63.866,155.84],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.613,0],[0,0],[0,-0.613],[0,0],[-0.613,0],[0,0],[0,0.613],[0,0]],"o":[[0,0],[-0.613,0],[0,0],[0,0.613],[0,0],[0.613,0],[0,0],[0,-0.613]],"v":[[40.251,-2.225],[-40.251,-2.225],[-41.361,-1.115],[-41.361,1.115],[-40.251,2.225],[40.251,2.225],[41.361,1.115],[41.361,-1.115]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[89.732,162.11],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.431,0],[0,0],[0,-0.431],[0,0],[-0.431,0],[0,0],[0,0.431],[0,0]],"o":[[0,0],[-0.431,0],[0,0],[0,0.431],[0,0],[0.431,0],[0,0],[0,-0.431]],"v":[[19.75,-2.225],[-19.75,-2.225],[-20.53,-1.445],[-20.53,1.445],[-19.75,2.225],[19.75,2.225],[20.53,1.445],[20.53,-1.445]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[68.901,131.991],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 4","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.757,0],[0,0],[0,-0.757],[0,0],[-0.757,0],[0,0],[0,0.757],[0,0]],"o":[[0,0],[-0.757,0],[0,0],[0,0.757],[0,0],[0.757,0],[0,0],[0,-0.757]],"v":[[61.462,-2.225],[-61.462,-2.225],[-62.832,-0.855],[-62.832,0.855],[-61.462,2.225],[61.462,2.225],[62.832,0.855],[62.832,-0.855]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[111.203,138.251],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 5","ix":5,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.519,0],[0,0],[0,-0.519],[0,0],[-0.519,0],[0,0],[0,0.519],[0,0]],"o":[[0,0],[-0.519,0],[0,0],[0,0.519],[0,0],[0.519,0],[0,0],[0,-0.519]],"v":[[28.541,-2.225],[-28.541,-2.225],[-29.481,-1.285],[-29.481,1.285],[-28.541,2.225],[28.541,2.225],[29.481,1.285],[29.481,-1.285]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[77.852,108.132],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 6","ix":6,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.806,0],[0,0],[0,-0.806],[0,0],[-0.806,0],[0,0],[0,0.806],[0,0]],"o":[[0,0],[-0.806,0],[0,0],[0,0.806],[0,0],[0.806,0],[0,0],[0,-0.806]],"v":[[69.622,-2.225],[-69.622,-2.225],[-71.082,-0.765],[-71.082,0.765],[-69.622,2.225],[69.622,2.225],[71.082,0.765],[71.082,-0.765]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[119.453,114.401],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 7","ix":7,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.464,0],[0,0],[0,-0.464],[0,0],[-0.464,0],[0,0],[0,0.464],[0,0]],"o":[[0,0],[-0.464,0],[0,0],[0,0.464],[0,0],[0.464,0],[0,0],[0,-0.464]],"v":[[22.896,-2.225],[-22.896,-2.225],[-23.736,-1.385],[-23.736,1.385],[-22.896,2.225],[22.896,2.225],[23.736,1.385],[23.736,-1.385]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[72.107,84.283],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 8","ix":8,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.685,0],[0,0],[0,-0.685],[0,0],[-0.685,0],[0,0],[0,0.685],[0,0]],"o":[[0,0],[-0.685,0],[0,0],[0,0.685],[0,0],[0.685,0],[0,0],[0,-0.685]],"v":[[49.876,-2.225],[-49.876,-2.225],[-51.116,-0.985],[-51.116,0.985],[-49.876,2.225],[49.876,2.225],[51.116,0.985],[51.116,-0.985]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[99.488,90.542],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 9","ix":9,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.309,0],[0,0],[0,-0.309],[0,0],[-0.309,0],[0,0],[0,0.309],[0,0]],"o":[[0,0],[-0.309,0],[0,0],[0,0.309],[0,0],[0.309,0],[0,0],[0,-0.309]],"v":[[10.09,-2.225],[-10.09,-2.225],[-10.65,-1.665],[-10.65,1.665],[-10.09,2.225],[10.09,2.225],[10.65,1.665],[10.65,-1.665]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[59.021,60.423],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 10","ix":10,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.442,0],[0,0],[0,-0.442],[0,0],[-0.442,0],[0,0],[0,0.442],[0,0]],"o":[[0,0],[-0.442,0],[0,0],[0,0.442],[0,0],[0.442,0],[0,0],[0,-0.442]],"v":[[20.735,-2.225],[-20.735,-2.225],[-21.536,-1.425],[-21.536,1.425],[-20.735,2.225],[20.735,2.225],[21.536,1.425],[21.536,-1.425]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[69.907,66.693],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 11","ix":11,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.519,0],[0,0],[0,-0.519],[0,0],[-0.519,0],[0,0],[0,0.519],[0,0]],"o":[[0,0],[-0.519,0],[0,0],[0,0.519],[0,0],[0.519,0],[0,0],[0,-0.519]],"v":[[28.541,-2.225],[-28.541,-2.225],[-29.481,-1.285],[-29.481,1.285],[-28.541,2.225],[28.541,2.225],[29.481,1.285],[29.481,-1.285]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[77.852,36.564],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 12","ix":12,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.376,0],[0,0],[0,-0.376],[0,0],[-0.376,0],[0,0],[0,0.376],[0,0]],"o":[[0,0],[-0.376,0],[0,0],[0,0.376],[0,0],[0.376,0],[0,0],[0,-0.376]],"v":[[14.815,-2.225],[-14.815,-2.225],[-15.495,-1.545],[-15.495,1.545],[-14.815,2.225],[14.815,2.225],[15.495,1.545],[15.495,-1.545]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[63.867,42.833],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.9098,0.9176,0.9294],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.9098,0.9176,0.9294],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":3}],"id":"comp_5","fr":60},{"nm":"FullscreenApp1","mn":"","layers":[{"ty":4,"nm":"UI","mn":"","sr":1,"st":0,"op":91,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[159.105,96.755,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[159.105,96.755,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 5","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.828,0],[0,0],[0,-2.828],[0,0],[-2.828,0],[0,0],[0,2.828],[0,0]],"o":[[0,0],[-2.828,0],[0,0],[0,2.828],[0,0],[2.828,0],[0,0],[0,-2.828]],"v":[[134.205,-36.245],[-134.205,-36.245],[-139.325,-31.125],[-139.325,31.125],[-134.205,36.245],[134.205,36.245],[139.325,31.125],[139.325,-31.125]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[159.105,108.145],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 4","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.917,0],[0,0],[0,-0.917],[0,0],[-0.917,0],[0,0],[0,0.917],[0,0]],"o":[[0,0],[-0.917,0],[0,0],[0,0.917],[0,0],[0.917,0],[0,0],[0,-0.917]],"v":[[99.84,-4.355],[-99.84,-4.355],[-101.5,-2.695],[-101.5,2.695],[-99.84,4.355],[99.84,4.355],[101.5,2.695],[101.5,-2.695]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[121.28,59.365],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[1.011,0],[0,0],[0,-1.011],[0,0],[-1.011,0],[0,0],[0,1.011],[0,0]],"o":[[0,0],[-1.011,0],[0,0],[0,1.011],[0,0],[1.011,0],[0,0],[0,-1.011]],"v":[[120.985,-4.355],[-120.985,-4.355],[-122.815,-2.525],[-122.815,2.525],[-120.985,4.355],[120.985,4.355],[122.815,2.525],[122.815,-2.525]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[142.595,157.585],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 2","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[1.077,0],[0,0],[0,-1.077],[0,0],[-1.077,0],[0,0],[0,1.077],[0,0]],"o":[[0,0],[-1.077,0],[0,0],[0,1.077],[0,0],[1.077,0],[0,0],[0,-1.077]],"v":[[137.375,-4.355],[-137.375,-4.355],[-139.325,-2.405],[-139.325,2.405],[-137.375,4.355],[137.375,4.355],[139.325,2.405],[139.325,-2.405]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[159.105,47.645],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 1","ix":5,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.966,0],[0,0],[0,-0.966],[0,0],[-0.966,0],[0,0],[0,0.966],[0,0]],"o":[[0,0],[-0.966,0],[0,0],[0,0.966],[0,0],[0.966,0],[0,0],[0,-0.966]],"v":[[110.86,-4.355],[-110.86,-4.355],[-112.61,-2.605],[-112.61,2.605],[-110.86,4.355],[110.86,4.355],[112.61,2.605],[112.61,-2.605]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[132.39,35.925],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0.8471,0.8627,0.8824],"t":70},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[1,1,1],"t":76},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0.8235,0.8902,0.9882],"t":82}],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":1},{"ty":4,"nm":"header","mn":"","sr":1,"st":0,"op":91,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[160,11.15,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[3.95,0],[0,0],[0,-3.95],[0,0],[0,0],[0,0]],"o":[[0,0],[-3.95,0],[0,0],[0,0],[0,0],[0,-3.95]],"v":[[152.73,-11.14],[-152.73,-11.14],[-159.88,-3.99],[-159.88,11.14],[159.88,11.14],[159.88,-3.99]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0.9098,0.9176,0.9294],"t":70},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[1,1,1],"t":76},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0.8235,0.8902,0.9882],"t":82}],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":".white","mn":"","sr":1,"st":0,"op":91,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[160,99.01,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,4.15],[0,0],[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0]],"o":[[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0],[0,0],[0,4.15],[0,0]],"v":[[151.98,99],[159.88,91.48],[159.88,-91.1],[151.98,-99],[-151.98,-99],[-159.88,-91.1],[-159.88,91.48],[-151.98,99]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[1,1,1],"t":76},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0.8235,0.8902,0.9882],"t":82}],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3}],"id":"comp_6","fr":60}]}
\ No newline at end of file
diff --git a/res/raw-sw600dp/lottie_system_nav_fully_gestural.json b/res/raw-sw600dp/lottie_system_nav_fully_gestural.json
deleted file mode 100644
index 61eea23..0000000
--- a/res/raw-sw600dp/lottie_system_nav_fully_gestural.json
+++ /dev/null
@@ -1 +0,0 @@
-{"v":"5.8.1","fr":60,"ip":0,"op":954,"w":412,"h":300,"nm":"Gesture_Nav","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".grey600","cl":"grey600","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,150,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.147,0],[0,0],[0,4.148],[0,0],[-4.147,0],[0,0],[0,0],[0,-4.148]],"o":[[0,4.148],[0,0],[-4.147,0],[0,0],[0,-4.148],[0,0],[0,0],[4.147,0],[0,0]],"v":[[159.897,92.491],[151.998,100.014],[-151.969,100.014],[-159.868,92.491],[-159.868,-90.094],[-151.969,-97.994],[-57.101,-97.994],[151.998,-97.994],[159.897,-90.094]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[5.667,0],[0,0],[1.276,0],[0,0],[0,-1.276],[0,0],[1.276,0],[0,0],[0,-1.276],[0,0],[0,-5.667],[0,0],[-5.667,0],[0,0],[0,5.667],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,-1.276],[0,0],[-1.276,0],[0,0],[0,-1.276],[0,0],[-1.276,0],[0,0],[-5.667,0],[0,0],[0,5.667],[0,0],[5.667,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-5.667]],"v":[[151.997,-100.355],[138.43,-100.355],[136.119,-102.667],[126.874,-102.667],[124.562,-100.355],[113.841,-100.355],[111.529,-102.667],[88.416,-102.667],[86.104,-100.355],[-151.968,-100.355],[-162.229,-90.094],[-162.229,92.114],[-151.968,102.375],[151.998,102.375],[162.258,92.115],[162.258,33.153],[162.258,24.832],[162.258,-7.174],[162.258,-16.353],[162.258,-90.094]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Gesture_8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[197.5,110.5,0],"ix":2,"l":2},"a":{"a":0,"k":[19,-16,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[26,26],"ix":2},"p":{"a":0,"k":[19,-16],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":897,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":908,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":911,"s":[100]},{"t":917,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":897,"op":917,"st":860,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Gesture_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.5,273.75,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[26,26],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.5,"y":0},"t":778,"s":[-2,-99],"to":[26.833,0],"ti":[-26.833,0]},{"t":840,"s":[159,-99]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":760,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":775,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":840,"s":[100]},{"t":850,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":760,"op":850,"st":718,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Matte 8","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":571,"op":681,"st":529,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Gesture_6","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[186.5,251.25,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[26,26],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"t":589,"s":[19,-6],"to":[0,-11.333],"ti":[0,11.333]},{"t":630,"s":[19,-74]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":571,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":586,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":670,"s":[100]},{"t":680,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":571,"op":681,"st":529,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Matte 7","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":442,"op":515,"st":400,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Gesture_5","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[252.25,160,0],"ix":2,"l":2},"a":{"a":0,"k":[19,-16,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[26,26],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"t":460,"s":[129,-16],"to":[0,0],"ti":[0,0]},{"t":496,"s":[70,-16]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":442,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":457,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":509,"s":[100]},{"t":515,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":442,"op":515,"st":400,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Gesture_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[127.5,134,0],"ix":2,"l":2},"a":{"a":0,"k":[19,-16,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[26,26],"ix":2},"p":{"a":0,"k":[19,-16],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":350,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":361,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":364,"s":[100]},{"t":370,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":350,"op":370,"st":313,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Matte 9","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":236,"op":309,"st":194,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Gesture_3","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,160,0],"ix":2,"l":2},"a":{"a":0,"k":[19,-16,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[26,26],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"t":254,"s":[10,-16],"to":[0,0],"ti":[0,0]},{"t":290,"s":[70,-16]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":236,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":251,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":303,"s":[100]},{"t":309,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":236,"op":309,"st":194,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Gesture_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[223.375,225.625,0],"ix":2,"l":2},"a":{"a":0,"k":[19,-16,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[26,26],"ix":2},"p":{"a":0,"k":[19,-16],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":140,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":151,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":154,"s":[100]},{"t":160,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":140,"op":160,"st":103,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Matte 6","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":42,"op":78,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Gesture_1","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[186.25,244.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[26,26],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.65,"y":0},"t":60,"s":[19,0],"to":[0,-20],"ti":[0,20]},{"t":77,"s":[19,-120]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":42,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":57,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":71,"s":[100]},{"t":77,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":42,"op":78,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Gesture Bar 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,246,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-21.641,0],[21.641,0]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.311,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Matte 17","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":910,"op":955,"st":529,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Overview Avatar 2","parent":25,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204.5,30.435,0],"ix":2,"l":2},"a":{"a":0,"k":[204.62,44.592,0],"ix":1,"l":2},"s":{"a":0,"k":[144.928,144.928,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,44.592],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":910,"op":955,"st":589,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Matte 16","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":910,"op":955,"st":529,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Overview Avatar 4","parent":25,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":910,"s":[100]},{"t":920,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-44.051,30.435,0],"ix":2,"l":2},"a":{"a":0,"k":[204.62,44.592,0],"ix":1,"l":2},"s":{"a":0,"k":[144.928,144.928,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[105.62,127.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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,127.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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon 3","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[105.62,44.592],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon 2","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,44.592],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":910,"op":955,"st":589,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Matte 23","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":778,"op":910,"st":529,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"Overview Avatar 3","parent":44,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-44.051,30.435,0],"ix":2,"l":2},"a":{"a":0,"k":[204.62,44.592,0],"ix":1,"l":2},"s":{"a":0,"k":[144.928,144.928,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[105.62,127.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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,127.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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon 3","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[105.62,44.592],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon 2","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,44.592],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":778,"op":910,"st":589,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"Matte 14","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":778,"op":910,"st":529,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"Overview Avatar 5","parent":43,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204.5,30.435,0],"ix":2,"l":2},"a":{"a":0,"k":[204.62,44.592,0],"ix":1,"l":2},"s":{"a":0,"k":[144.928,144.928,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,44.592],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":778,"op":910,"st":589,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"Overview Avatar","parent":44,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204.5,30.435,0],"ix":2,"l":2},"a":{"a":0,"k":[204.62,44.592,0],"ix":1,"l":2},"s":{"a":0,"k":[144.928,144.928,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,44.592],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":589,"op":778,"st":589,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"Matte 20","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":910,"op":919,"st":529,"bm":0},{"ddd":0,"ind":25,"ty":4,"nm":"List 3","parent":33,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"t":589,"s":[35.903,144.697,0],"to":[-0.332,-6.341,0],"ti":[0.332,6.341,0]},{"i":{"x":0.5,"y":0.5},"o":{"x":0,"y":0},"t":630,"s":[33.911,106.654,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":672,"s":[33.911,106.654,0],"to":[0.087,7.857,0],"ti":[-0.087,-6.02,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":687,"s":[34.433,153.796,0],"to":[0.087,6.02,0],"ti":[0,1.837,0]},{"i":{"x":0.5,"y":0.5},"o":{"x":0,"y":0},"t":699,"s":[34.433,142.772,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":778,"s":[34.433,142.772,0],"to":[89.01,0.604,0],"ti":[-98.973,-0.604,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":819,"s":[568.491,146.395,0],"to":[98.973,0.604,0],"ti":[-9.964,0,0]},{"t":840,"s":[628.274,146.395,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":589,"s":[362.319,362.319,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":630,"s":[210.145,210.145,100]},{"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":672,"s":[210.145,210.145,100]},{"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":687,"s":[253.623,253.623,100]},{"t":699,"s":[250,250,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.102,0],[0,0],[0,-4.063],[0,0],[0,0],[0,0]],"o":[[0,0],[4.103,0],[0,0],[0,0],[0,0],[0,-4.063]],"v":[[-152.446,10.908],[151.827,10.87],[159.255,18.227],[159.255,33.299],[-159.873,33.337],[-159.873,18.265]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[204.62,39.528],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[100]},{"t":523,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.006,0],[0,0],[0,-0.592],[0,0],[1.007,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[1.007,0],[0,0],[0,0.592],[0,0],[-1.006,0],[0,0],[0,-0.592]],"v":[[-91.83,9.465],[-37.221,9.502],[-35.398,10.574],[-35.398,13.253],[-37.221,14.325],[-91.83,14.287],[-93.652,13.216],[-93.652,10.537]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.618,16.638],[-64.321,16.681],[-63.287,17.753],[-63.287,19.896],[-64.321,20.967],[-92.618,20.925],[-93.652,19.853],[-93.652,17.71]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-0.798,0],[0,0],[0,-0.592],[0,0],[0.798,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.798,0],[0,0],[0,0.592],[0,0],[-0.798,0],[0,0],[0,-0.592]],"v":[[-92.207,32.291],[-74.006,32.327],[-72.561,33.399],[-72.561,36.078],[-74.006,37.149],[-92.207,37.113],[-93.653,36.041],[-93.653,33.362]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[-0.446,0],[0,0],[0,-0.592],[0,0],[0.446,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.446,0],[0,0],[0,0.592],[0,0],[-0.446,0],[0,0],[0,-0.592]],"v":[[-92.845,39.464],[-52.145,39.453],[-51.337,40.524],[-51.337,42.667],[-52.145,43.739],[-92.845,43.751],[-93.653,42.679],[-93.653,40.536]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[-0.531,0],[0,0],[0,-0.592],[0,0],[0.531,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.531,0],[0,0],[0,0.592],[0,0],[-0.531,0],[0,0],[0,-0.592]],"v":[[-92.73,56.118],[-47.962,56.06],[-47.001,57.131],[-47.001,59.811],[-47.962,60.882],[-92.73,60.94],[-93.69,59.868],[-93.69,57.189]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.656,63.291],[7.016,63.274],[8.05,64.345],[8.05,66.489],[7.016,67.56],[-92.656,67.578],[-93.69,66.506],[-93.69,64.363]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":6,"ty":"sh","ix":7,"ks":{"a":0,"k":{"i":[[-0.852,0],[0,0],[0,-0.593],[0,0],[0.852,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.852,0],[0,0],[0,0.592],[0,0],[-0.852,0],[0,0],[0,-0.593]],"v":[[-92.164,80.593],[-36.852,80.585],[-35.309,81.657],[-35.309,84.336],[-36.852,85.407],[-92.164,85.416],[-93.706,84.344],[-93.706,81.665]],"c":true},"ix":2},"nm":"Path 7","mn":"ADBE Vector Shape - Group","hd":false},{"ind":7,"ty":"sh","ix":8,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.593],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.593]],"v":[[-92.672,87.766],[46.5,87.816],[47.534,88.889],[47.534,91.031],[46.5,92.104],[-92.672,92.054],[-93.706,90.981],[-93.706,88.839]],"c":true},"ix":2},"nm":"Path 8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":8,"ty":"sh","ix":9,"ks":{"a":0,"k":{"i":[[-0.442,0],[0,0],[0,-0.592],[0,0],[0.442,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.442,0],[0,0],[0,0.592],[0,0],[-0.442,0],[0,0],[0,-0.592]],"v":[[-92.873,104.422],[-54.131,104.404],[-53.33,105.476],[-53.33,108.155],[-54.131,109.227],[-92.873,109.245],[-93.674,108.173],[-93.674,105.494]],"c":true},"ix":2},"nm":"Path 9","mn":"ADBE Vector Shape - Group","hd":false},{"ind":9,"ty":"sh","ix":10,"ks":{"a":0,"k":{"i":[[-0.647,0],[0,0],[0,-0.593],[0,0],[0.646,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.646,0],[0,0],[0,0.592],[0,0],[-0.647,0],[0,0],[0,-0.593]],"v":[[-92.502,111.595],[30.08,111.582],[31.251,112.655],[31.251,114.797],[30.08,115.87],[-92.502,115.883],[-93.673,114.81],[-93.673,112.668]],"c":true},"ix":2},"nm":"Path 10","mn":"ADBE Vector Shape - Group","hd":false},{"ind":10,"ty":"sh","ix":11,"ks":{"a":0,"k":{"i":[[-0.959,0],[0,0],[0,-0.592],[0,0],[0.959,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.959,0],[0,0],[0,0.592],[0,0],[-0.959,0],[0,0],[0,-0.592]],"v":[[-92.042,127.459],[-65.006,127.415],[-63.27,128.487],[-63.27,131.166],[-65.006,132.237],[-92.042,132.281],[-93.777,131.209],[-93.777,128.53]],"c":true},"ix":2},"nm":"Path 11","mn":"ADBE Vector Shape - Group","hd":false},{"ind":11,"ty":"sh","ix":12,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.706,134.632],[-12.769,134.593],[-11.697,135.666],[-11.697,137.808],[-12.769,138.881],[-92.706,138.919],[-93.777,137.847],[-93.777,135.704]],"c":true},"ix":2},"nm":"Path 12","mn":"ADBE Vector Shape - Group","hd":false},{"ind":12,"ty":"sh","ix":13,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.591,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.591,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,152.326],[-36.305,152.306],[-35.234,153.379],[-35.234,156.057],[-36.305,157.129],[-92.581,157.149],[-93.652,156.077],[-93.652,153.398]],"c":true},"ix":2},"nm":"Path 13","mn":"ADBE Vector Shape - Group","hd":false},{"ind":13,"ty":"sh","ix":14,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.591],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.591],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,159.5],[40.481,159.468],[41.553,160.539],[41.553,162.683],[40.481,163.754],[-92.581,163.786],[-93.652,162.715],[-93.652,160.571]],"c":true},"ix":2},"nm":"Path 14","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[208.562,71.266],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L1","np":15,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.107],[-4.107,0]],"o":[[0,4.107],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-12.324],[-58.907,-4.888],[-66.342,-12.324],[-58.907,-19.758]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.493,-60.227],[-58.928,-52.793],[-66.363,-60.227],[-58.928,-67.662]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.51,-107.756],[-58.945,-100.322],[-66.38,-107.756],[-58.945,-115.19]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058883368,0.854902020623,0.870588295133,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":[160.956,241.646],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvGrey","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.597,-8.51],[-59.032,-1.075],[-66.467,-8.51],[-59.032,-15.945]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.526,-56.288],[-58.907,-49.354],[-66.396,-56.288],[-58.96,-63.724]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.472,-103.942],[-58.907,-96.508],[-66.342,-103.942],[-58.907,-111.377]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-127.519],[-58.907,-120.085],[-66.342,-127.519],[-58.907,-134.954]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843148708,0.890196084976,0.996078431606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 3","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[160.956,213.88],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvBlue","np":5,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[204.5,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":910,"op":919,"st":309,"bm":0},{"ddd":0,"ind":26,"ty":4,"nm":"Matte 18","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":910,"op":918,"st":529,"bm":0},{"ddd":0,"ind":27,"ty":4,"nm":"List Window UI 4","parent":33,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-311.593,422.209,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[322.061,322.061,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.947,0],[0,0.947],[-0.947,0],[0,-0.947]],"o":[[-0.947,0],[0,-0.947],[0.947,0],[0,0.947]],"v":[[-56.752,-12.81],[-58.467,-14.525],[-56.752,-16.239],[-55.038,-14.525]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-28.265],[-56.752,-26.551],[-58.467,-28.265],[-56.752,-29.98]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-42.006],[-56.752,-40.291],[-58.467,-42.006],[-56.752,-43.721]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-48.876],[-56.752,-47.161],[-58.467,-48.876],[-56.752,-50.591]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvatarBlue","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.947,0],[0,0.947],[-0.947,0],[0,-0.947]],"o":[[-0.947,0],[0,-0.947],[0.947,0],[0,0.947]],"v":[[-56.752,-19.68],[-58.467,-21.395],[-56.752,-23.11],[-55.038,-21.395]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-35.136],[-56.752,-33.421],[-58.467,-35.136],[-56.752,-36.85]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-55.747],[-56.752,-54.032],[-58.467,-55.747],[-56.752,-57.461]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvatarGrey","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-36.223,-50.453],[36.565,-50.453]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-36.223,-61.345],[-36.223,-7.065]],"c":false},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Lines","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-17.428,-25.498],[-30.133,-25.498],[-30.669,-26.034],[-30.669,-27.718],[-30.133,-28.254],[-17.428,-28.254],[-16.892,-27.718],[-16.892,-26.034]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[5.573,-29.961],[-30.085,-29.961],[-30.621,-30.497],[-30.621,-32.181],[-30.085,-32.716],[5.573,-32.716],[6.109,-32.181],[6.109,-30.497]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[14.363,-34.287],[-30.133,-34.287],[-30.669,-34.822],[-30.669,-36.506],[-30.133,-37.042],[14.363,-37.042],[14.899,-36.506],[14.899,-34.822]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-9.953,-43.195],[-30.133,-43.195],[-30.669,-43.731],[-30.669,-45.415],[-30.133,-45.95],[-9.953,-45.95],[-9.417,-45.415],[-9.417,-43.731]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-0.22,-54.369],[-30.133,-54.369],[-30.669,-54.905],[-30.669,-56.589],[-30.133,-57.124],[-0.22,-57.124],[0.316,-56.589],[0.316,-54.905]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Copy","np":6,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.838,0],[0,0],[0,-2.838]],"o":[[0,0],[0,0],[0,-2.838],[0,0],[2.838,0],[0,0]],"v":[[36.846,-61.186],[-63.128,-61.186],[-63.086,-63.61],[-58.13,-68.013],[32.833,-68.076],[36.877,-64.172]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 15","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,61],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","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":[-13,-37.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 16","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":910,"op":918,"st":778,"bm":0},{"ddd":0,"ind":28,"ty":4,"nm":"Matte 19","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":910,"op":921,"st":529,"bm":0},{"ddd":0,"ind":29,"ty":4,"nm":"Player Window UI 4","parent":33,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-355.555,-0.67,0],"ix":2,"l":2},"a":{"a":0,"k":[193.35,187.454,0],"ix":1,"l":2},"s":{"a":0,"k":[322.061,322.061,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[2.838,0],[0,0],[0,2.838]],"o":[[0,0],[0,0],[0,2.838],[0,0],[-2.838,0],[0,0]],"v":[[-50.057,-3.385],[49.917,-3.385],[49.917,-1.664],[44.778,3.474],[-44.919,3.474],[-50.057,-1.664]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.838,0],[0,0],[0,-2.838]],"o":[[0,0],[0,0],[0,-2.838],[0,0],[2.838,0],[0,0]],"v":[[49.92,-50.615],[-50.054,-50.615],[-50.054,-52.336],[-44.916,-57.474],[44.781,-57.474],[49.92,-52.336]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":[193.348,214.499],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.836,2.714],[1.418,0],[-2.836,-2.714]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.836,-2.714],[1.418,0],[-2.836,2.714]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-4.456,5.671],[-4.456,-5.671],[4.456,0]],"c":true},"ix":2},"nm":"Path 3","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":[196.187,186.804],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,61],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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":[193.348,187.454],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":910,"op":921,"st":778,"bm":0},{"ddd":0,"ind":30,"ty":4,"nm":"Matte 21","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":910,"op":918,"st":529,"bm":0},{"ddd":0,"ind":31,"ty":4,"nm":"Photo Grid UI 4","parent":33,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1.133,301.31,0],"ix":2,"l":2},"a":{"a":0,"k":[193.351,112.461,0],"ix":1,"l":2},"s":{"a":0,"k":[322.061,322.061,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.078,-0.085],[0,0],[-0.194,-2.185]],"o":[[0,0],[0,0],[-0.038,-2.098],[0,0],[1.741,-0.085],[0,0]],"v":[[49.917,3.412],[-50.198,3.412],[-50.193,0.637],[-46.502,-2.966],[45.585,-2.994],[49.951,0.074]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":[193.351,85.416],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"TopBar","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,5.683],[-9.991,5.683],[-9.991,-5.683],[9.991,-5.683]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.872,5.683],[-55.854,5.683],[-55.854,-5.683],[-35.872,-5.683]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.872,48.406],[-55.854,48.406],[-55.854,31.556],[-35.872,31.556]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,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":[227.613,94.529],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BlueSquares","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,5.683],[-9.991,5.683],[-9.991,-5.683],[9.991,-5.683]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.354,5.683],[-55.337,5.683],[-55.337,-5.683],[-35.354,-5.683]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,48.406],[-9.991,48.406],[-9.991,31.556],[9.991,31.556]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[33.168,28.611],[13.185,28.611],[13.185,8.629],[33.168,8.629]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-12.696,28.611],[-32.678,28.611],[-32.678,8.629],[-12.696,8.629]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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":[204.436,94.529],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"DarkGreySquares","np":6,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,8.425],[-9.991,8.425],[-9.991,-8.425],[9.991,-8.425]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-58.531,8.425],[-78.513,8.425],[-78.513,-8.425],[-58.531,-8.425]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-13.185,-11.37],[-33.168,-11.37],[-33.168,-31.353],[-13.185,-31.353]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-58.531,-11.37],[-78.513,-11.37],[-78.513,-31.353],[-58.531,-31.353]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[227.613,134.51],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":" LightGreySquares","np":5,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,61],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","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":[193.351,112.461],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 14","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":910,"op":918,"st":630,"bm":0},{"ddd":0,"ind":32,"ty":4,"nm":"Matte 22","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":910,"op":955,"st":529,"bm":0},{"ddd":0,"ind":33,"ty":4,"nm":"News Article UI 5","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":910,"s":[197.4]},{"t":940,"s":[206]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":910,"s":[109.552]},{"t":940,"s":[150.802]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":910,"s":[27.6,27.6,100]},{"t":940,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.828,0],[0,0],[0,2.828],[0,0],[-2.828,0],[0,0],[0,-2.828],[0,0]],"o":[[0,0],[-2.828,0],[0,0],[0,-2.828],[0,0],[2.828,0],[0,0],[0,2.828]],"v":[[104.906,37.499],[-104.906,37.499],[-110.026,32.379],[-110.026,-32.379],[-104.906,-37.499],[104.906,-37.499],[110.026,-32.379],[110.026,32.379]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.919,0],[0,0],[0,0.919],[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0]],"o":[[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0],[0.919,0],[0,0],[0,0.919]],"v":[[48.62,68.098],[-108.363,68.098],[-110.026,66.435],[-110.026,60.747],[-108.363,59.084],[48.62,59.084],[50.283,60.747],[50.283,66.435]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0.919,0],[0,0],[0,0.919],[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0]],"o":[[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0],[0.919,0],[0,0],[0,0.919]],"v":[[48.62,-45.957],[-108.363,-45.957],[-110.026,-47.621],[-110.026,-53.308],[-108.363,-54.971],[48.62,-54.971],[50.283,-53.308],[50.283,-47.621]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[1.011,0],[0,0],[0,1.011],[0,0],[-1.011,0],[0,0],[0,-1.011],[0,0]],"o":[[0,0],[-1.011,0],[0,0],[0,-1.011],[0,0],[1.011,0],[0,0],[0,1.011]],"v":[[82.12,55.664],[-108.196,55.664],[-110.026,53.834],[-110.026,48.48],[-108.196,46.65],[82.12,46.65],[83.95,48.48],[83.95,53.834]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[1.077,0],[0,0],[0,1.077],[0,0],[-1.077,0],[0,0],[0,-1.077],[0,0]],"o":[[0,0],[-1.077,0],[0,0],[0,-1.077],[0,0],[1.077,0],[0,0],[0,1.077]],"v":[[108.077,-58.084],[-108.077,-58.084],[-110.026,-60.033],[-110.026,-65.149],[-108.077,-67.098],[108.077,-67.098],[110.026,-65.149],[110.026,-60.033]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[0.968,0],[0,0],[0,0.968],[0,0],[-0.968,0],[0,0],[0,-0.968],[0,0]],"o":[[0,0],[-0.968,0],[0,0],[0,-0.968],[0,0],[0.968,0],[0,0],[0,0.968]],"v":[[66.085,-70.211],[-108.274,-70.211],[-110.026,-71.963],[-110.026,-77.473],[-108.274,-79.225],[66.085,-79.225],[67.837,-77.473],[67.837,-71.963]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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,11],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Copy","np":7,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.949,0],[0,0],[0,-3.949]],"o":[[0,0],[0,0],[0,-3.949],[0,0],[3.949,0],[0,0]],"v":[[159.883,11.142],[-159.883,11.142],[-159.883,-3.991],[-152.732,-11.142],[152.732,-11.142],[159.883,-3.991]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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,-88],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"TopBar","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":910,"s":[16]},{"t":940,"s":[6]}],"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","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":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bg","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":910,"op":955,"st":630,"bm":0},{"ddd":0,"ind":34,"ty":4,"nm":"Matte 13","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":778,"op":910,"st":529,"bm":0},{"ddd":0,"ind":35,"ty":4,"nm":"List Window UI","parent":41,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-311.593,422.209,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[322.061,322.061,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.947,0],[0,0.947],[-0.947,0],[0,-0.947]],"o":[[-0.947,0],[0,-0.947],[0.947,0],[0,0.947]],"v":[[-56.752,-12.81],[-58.467,-14.525],[-56.752,-16.239],[-55.038,-14.525]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-28.265],[-56.752,-26.551],[-58.467,-28.265],[-56.752,-29.98]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-42.006],[-56.752,-40.291],[-58.467,-42.006],[-56.752,-43.721]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-48.876],[-56.752,-47.161],[-58.467,-48.876],[-56.752,-50.591]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvatarBlue","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.947,0],[0,0.947],[-0.947,0],[0,-0.947]],"o":[[-0.947,0],[0,-0.947],[0.947,0],[0,0.947]],"v":[[-56.752,-19.68],[-58.467,-21.395],[-56.752,-23.11],[-55.038,-21.395]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-35.136],[-56.752,-33.421],[-58.467,-35.136],[-56.752,-36.85]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-55.747],[-56.752,-54.032],[-58.467,-55.747],[-56.752,-57.461]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvatarGrey","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-36.223,-50.453],[36.565,-50.453]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-36.223,-61.345],[-36.223,-7.065]],"c":false},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Lines","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-17.428,-25.498],[-30.133,-25.498],[-30.669,-26.034],[-30.669,-27.718],[-30.133,-28.254],[-17.428,-28.254],[-16.892,-27.718],[-16.892,-26.034]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[5.573,-29.961],[-30.085,-29.961],[-30.621,-30.497],[-30.621,-32.181],[-30.085,-32.716],[5.573,-32.716],[6.109,-32.181],[6.109,-30.497]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[14.363,-34.287],[-30.133,-34.287],[-30.669,-34.822],[-30.669,-36.506],[-30.133,-37.042],[14.363,-37.042],[14.899,-36.506],[14.899,-34.822]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-9.953,-43.195],[-30.133,-43.195],[-30.669,-43.731],[-30.669,-45.415],[-30.133,-45.95],[-9.953,-45.95],[-9.417,-45.415],[-9.417,-43.731]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-0.22,-54.369],[-30.133,-54.369],[-30.669,-54.905],[-30.669,-56.589],[-30.133,-57.124],[-0.22,-57.124],[0.316,-56.589],[0.316,-54.905]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Copy","np":6,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.838,0],[0,0],[0,-2.838]],"o":[[0,0],[0,0],[0,-2.838],[0,0],[2.838,0],[0,0]],"v":[[36.846,-61.186],[-63.128,-61.186],[-63.086,-63.61],[-58.13,-68.013],[32.833,-68.076],[36.877,-64.172]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 15","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,61],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","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":[-13,-37.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 16","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":778,"op":910,"st":778,"bm":0},{"ddd":0,"ind":36,"ty":4,"nm":"Matte 12","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":778,"op":910,"st":529,"bm":0},{"ddd":0,"ind":37,"ty":4,"nm":"Player Window UI","parent":41,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-355.555,-0.67,0],"ix":2,"l":2},"a":{"a":0,"k":[193.35,187.454,0],"ix":1,"l":2},"s":{"a":0,"k":[322.061,322.061,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[2.838,0],[0,0],[0,2.838]],"o":[[0,0],[0,0],[0,2.838],[0,0],[-2.838,0],[0,0]],"v":[[-50.057,-3.385],[49.917,-3.385],[49.917,-1.664],[44.778,3.474],[-44.919,3.474],[-50.057,-1.664]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.838,0],[0,0],[0,-2.838]],"o":[[0,0],[0,0],[0,-2.838],[0,0],[2.838,0],[0,0]],"v":[[49.92,-50.615],[-50.054,-50.615],[-50.054,-52.336],[-44.916,-57.474],[44.781,-57.474],[49.92,-52.336]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":[193.348,214.499],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.836,2.714],[1.418,0],[-2.836,-2.714]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.836,-2.714],[1.418,0],[-2.836,2.714]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-4.456,5.671],[-4.456,-5.671],[4.456,0]],"c":true},"ix":2},"nm":"Path 3","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":[196.187,186.804],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,61],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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":[193.348,187.454],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":778,"op":910,"st":778,"bm":0},{"ddd":0,"ind":38,"ty":4,"nm":"Matte 10","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":630,"op":910,"st":529,"bm":0},{"ddd":0,"ind":39,"ty":4,"nm":"Photo Grid UI","parent":41,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1.133,301.31,0],"ix":2,"l":2},"a":{"a":0,"k":[193.351,112.461,0],"ix":1,"l":2},"s":{"a":0,"k":[322.061,322.061,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.078,-0.085],[0,0],[-0.194,-2.185]],"o":[[0,0],[0,0],[-0.038,-2.098],[0,0],[1.741,-0.085],[0,0]],"v":[[49.917,3.412],[-50.198,3.412],[-50.193,0.637],[-46.502,-2.966],[45.585,-2.994],[49.951,0.074]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":[193.351,85.416],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"TopBar","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,5.683],[-9.991,5.683],[-9.991,-5.683],[9.991,-5.683]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.872,5.683],[-55.854,5.683],[-55.854,-5.683],[-35.872,-5.683]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.872,48.406],[-55.854,48.406],[-55.854,31.556],[-35.872,31.556]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,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":[227.613,94.529],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BlueSquares","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,5.683],[-9.991,5.683],[-9.991,-5.683],[9.991,-5.683]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.354,5.683],[-55.337,5.683],[-55.337,-5.683],[-35.354,-5.683]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,48.406],[-9.991,48.406],[-9.991,31.556],[9.991,31.556]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[33.168,28.611],[13.185,28.611],[13.185,8.629],[33.168,8.629]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-12.696,28.611],[-32.678,28.611],[-32.678,8.629],[-12.696,8.629]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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":[204.436,94.529],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"DarkGreySquares","np":6,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,8.425],[-9.991,8.425],[-9.991,-8.425],[9.991,-8.425]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-58.531,8.425],[-78.513,8.425],[-78.513,-8.425],[-58.531,-8.425]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-13.185,-11.37],[-33.168,-11.37],[-33.168,-31.353],[-13.185,-31.353]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-58.531,-11.37],[-78.513,-11.37],[-78.513,-31.353],[-58.531,-31.353]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[227.613,134.51],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":" LightGreySquares","np":5,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,61],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","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":[193.351,112.461],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 14","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":630,"op":910,"st":630,"bm":0},{"ddd":0,"ind":40,"ty":4,"nm":"Matte 11","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":630,"op":910,"st":529,"bm":0},{"ddd":0,"ind":41,"ty":4,"nm":"News Article UI","parent":43,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.409],"y":[1.008]},"o":{"x":[0.024],"y":[0.169]},"t":630,"s":[-164.362]},{"i":{"x":[0.601],"y":[1]},"o":{"x":[0.615],"y":[0.149]},"t":655,"s":[-42.127]},{"t":667,"s":[-45.5]}],"ix":3},"y":{"a":0,"k":89.931,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[40,40,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.828,0],[0,0],[0,2.828],[0,0],[-2.828,0],[0,0],[0,-2.828],[0,0]],"o":[[0,0],[-2.828,0],[0,0],[0,-2.828],[0,0],[2.828,0],[0,0],[0,2.828]],"v":[[104.906,37.499],[-104.906,37.499],[-110.026,32.379],[-110.026,-32.379],[-104.906,-37.499],[104.906,-37.499],[110.026,-32.379],[110.026,32.379]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.919,0],[0,0],[0,0.919],[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0]],"o":[[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0],[0.919,0],[0,0],[0,0.919]],"v":[[48.62,68.098],[-108.363,68.098],[-110.026,66.435],[-110.026,60.747],[-108.363,59.084],[48.62,59.084],[50.283,60.747],[50.283,66.435]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0.919,0],[0,0],[0,0.919],[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0]],"o":[[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0],[0.919,0],[0,0],[0,0.919]],"v":[[48.62,-45.957],[-108.363,-45.957],[-110.026,-47.621],[-110.026,-53.308],[-108.363,-54.971],[48.62,-54.971],[50.283,-53.308],[50.283,-47.621]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[1.011,0],[0,0],[0,1.011],[0,0],[-1.011,0],[0,0],[0,-1.011],[0,0]],"o":[[0,0],[-1.011,0],[0,0],[0,-1.011],[0,0],[1.011,0],[0,0],[0,1.011]],"v":[[82.12,55.664],[-108.196,55.664],[-110.026,53.834],[-110.026,48.48],[-108.196,46.65],[82.12,46.65],[83.95,48.48],[83.95,53.834]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[1.077,0],[0,0],[0,1.077],[0,0],[-1.077,0],[0,0],[0,-1.077],[0,0]],"o":[[0,0],[-1.077,0],[0,0],[0,-1.077],[0,0],[1.077,0],[0,0],[0,1.077]],"v":[[108.077,-58.084],[-108.077,-58.084],[-110.026,-60.033],[-110.026,-65.149],[-108.077,-67.098],[108.077,-67.098],[110.026,-65.149],[110.026,-60.033]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[0.968,0],[0,0],[0,0.968],[0,0],[-0.968,0],[0,0],[0,-0.968],[0,0]],"o":[[0,0],[-0.968,0],[0,0],[0,-0.968],[0,0],[0.968,0],[0,0],[0,0.968]],"v":[[66.085,-70.211],[-108.274,-70.211],[-110.026,-71.963],[-110.026,-77.473],[-108.274,-79.225],[66.085,-79.225],[67.837,-77.473],[67.837,-71.963]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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,11],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Copy","np":7,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.949,0],[0,0],[0,-3.949]],"o":[[0,0],[0,0],[0,-3.949],[0,0],[3.949,0],[0,0]],"v":[[159.883,11.142],[-159.883,11.142],[-159.883,-3.991],[-152.732,-11.142],[152.732,-11.142],[159.883,-3.991]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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,-88],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"TopBar","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","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":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bg","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":630,"op":910,"st":630,"bm":0},{"ddd":0,"ind":42,"ty":4,"nm":"Matte 15","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":778,"op":910,"st":529,"bm":0},{"ddd":0,"ind":43,"ty":4,"nm":"List 4","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"t":589,"s":[207.309,149.489,0],"to":[-0.092,-1.75,0],"ti":[0.092,1.75,0]},{"i":{"x":0.5,"y":0.5},"o":{"x":0,"y":0},"t":630,"s":[206.759,138.989,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":672,"s":[206.759,138.989,0],"to":[0.024,2.169,0],"ti":[-0.024,-1.661,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":687,"s":[206.903,152,0],"to":[0.024,1.661,0],"ti":[0,0.507,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0,"y":0},"t":699,"s":[206.903,148.957,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.5,"y":0},"t":778,"s":[206.903,148.957,0],"to":[27.317,0.167,0],"ti":[-27.317,-0.167,0]},{"t":840,"s":[370.803,149.957,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":589,"s":[100.5,100.5,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":630,"s":[58,58,100]},{"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":672,"s":[58,58,100]},{"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":687,"s":[70,70,100]},{"t":699,"s":[69,69,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.102,0],[0,0],[0,-4.063],[0,0],[0,0],[0,0]],"o":[[0,0],[4.103,0],[0,0],[0,0],[0,0],[0,-4.063]],"v":[[-152.446,10.908],[151.827,10.87],[159.255,18.227],[159.255,33.299],[-159.873,33.337],[-159.873,18.265]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[204.62,39.528],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[100]},{"t":523,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.006,0],[0,0],[0,-0.592],[0,0],[1.007,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[1.007,0],[0,0],[0,0.592],[0,0],[-1.006,0],[0,0],[0,-0.592]],"v":[[-91.83,9.465],[-37.221,9.502],[-35.398,10.574],[-35.398,13.253],[-37.221,14.325],[-91.83,14.287],[-93.652,13.216],[-93.652,10.537]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.618,16.638],[-64.321,16.681],[-63.287,17.753],[-63.287,19.896],[-64.321,20.967],[-92.618,20.925],[-93.652,19.853],[-93.652,17.71]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-0.798,0],[0,0],[0,-0.592],[0,0],[0.798,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.798,0],[0,0],[0,0.592],[0,0],[-0.798,0],[0,0],[0,-0.592]],"v":[[-92.207,32.291],[-74.006,32.327],[-72.561,33.399],[-72.561,36.078],[-74.006,37.149],[-92.207,37.113],[-93.653,36.041],[-93.653,33.362]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[-0.446,0],[0,0],[0,-0.592],[0,0],[0.446,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.446,0],[0,0],[0,0.592],[0,0],[-0.446,0],[0,0],[0,-0.592]],"v":[[-92.845,39.464],[-52.145,39.453],[-51.337,40.524],[-51.337,42.667],[-52.145,43.739],[-92.845,43.751],[-93.653,42.679],[-93.653,40.536]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[-0.531,0],[0,0],[0,-0.592],[0,0],[0.531,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.531,0],[0,0],[0,0.592],[0,0],[-0.531,0],[0,0],[0,-0.592]],"v":[[-92.73,56.118],[-47.962,56.06],[-47.001,57.131],[-47.001,59.811],[-47.962,60.882],[-92.73,60.94],[-93.69,59.868],[-93.69,57.189]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.656,63.291],[7.016,63.274],[8.05,64.345],[8.05,66.489],[7.016,67.56],[-92.656,67.578],[-93.69,66.506],[-93.69,64.363]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":6,"ty":"sh","ix":7,"ks":{"a":0,"k":{"i":[[-0.852,0],[0,0],[0,-0.593],[0,0],[0.852,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.852,0],[0,0],[0,0.592],[0,0],[-0.852,0],[0,0],[0,-0.593]],"v":[[-92.164,80.593],[-36.852,80.585],[-35.309,81.657],[-35.309,84.336],[-36.852,85.407],[-92.164,85.416],[-93.706,84.344],[-93.706,81.665]],"c":true},"ix":2},"nm":"Path 7","mn":"ADBE Vector Shape - Group","hd":false},{"ind":7,"ty":"sh","ix":8,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.593],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.593]],"v":[[-92.672,87.766],[46.5,87.816],[47.534,88.889],[47.534,91.031],[46.5,92.104],[-92.672,92.054],[-93.706,90.981],[-93.706,88.839]],"c":true},"ix":2},"nm":"Path 8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":8,"ty":"sh","ix":9,"ks":{"a":0,"k":{"i":[[-0.442,0],[0,0],[0,-0.592],[0,0],[0.442,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.442,0],[0,0],[0,0.592],[0,0],[-0.442,0],[0,0],[0,-0.592]],"v":[[-92.873,104.422],[-54.131,104.404],[-53.33,105.476],[-53.33,108.155],[-54.131,109.227],[-92.873,109.245],[-93.674,108.173],[-93.674,105.494]],"c":true},"ix":2},"nm":"Path 9","mn":"ADBE Vector Shape - Group","hd":false},{"ind":9,"ty":"sh","ix":10,"ks":{"a":0,"k":{"i":[[-0.647,0],[0,0],[0,-0.593],[0,0],[0.646,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.646,0],[0,0],[0,0.592],[0,0],[-0.647,0],[0,0],[0,-0.593]],"v":[[-92.502,111.595],[30.08,111.582],[31.251,112.655],[31.251,114.797],[30.08,115.87],[-92.502,115.883],[-93.673,114.81],[-93.673,112.668]],"c":true},"ix":2},"nm":"Path 10","mn":"ADBE Vector Shape - Group","hd":false},{"ind":10,"ty":"sh","ix":11,"ks":{"a":0,"k":{"i":[[-0.959,0],[0,0],[0,-0.592],[0,0],[0.959,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.959,0],[0,0],[0,0.592],[0,0],[-0.959,0],[0,0],[0,-0.592]],"v":[[-92.042,127.459],[-65.006,127.415],[-63.27,128.487],[-63.27,131.166],[-65.006,132.237],[-92.042,132.281],[-93.777,131.209],[-93.777,128.53]],"c":true},"ix":2},"nm":"Path 11","mn":"ADBE Vector Shape - Group","hd":false},{"ind":11,"ty":"sh","ix":12,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.706,134.632],[-12.769,134.593],[-11.697,135.666],[-11.697,137.808],[-12.769,138.881],[-92.706,138.919],[-93.777,137.847],[-93.777,135.704]],"c":true},"ix":2},"nm":"Path 12","mn":"ADBE Vector Shape - Group","hd":false},{"ind":12,"ty":"sh","ix":13,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.591,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.591,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,152.326],[-36.305,152.306],[-35.234,153.379],[-35.234,156.057],[-36.305,157.129],[-92.581,157.149],[-93.652,156.077],[-93.652,153.398]],"c":true},"ix":2},"nm":"Path 13","mn":"ADBE Vector Shape - Group","hd":false},{"ind":13,"ty":"sh","ix":14,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.591],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.591],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,159.5],[40.481,159.468],[41.553,160.539],[41.553,162.683],[40.481,163.754],[-92.581,163.786],[-93.652,162.715],[-93.652,160.571]],"c":true},"ix":2},"nm":"Path 14","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[208.562,71.266],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L1","np":15,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.107],[-4.107,0]],"o":[[0,4.107],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-12.324],[-58.907,-4.888],[-66.342,-12.324],[-58.907,-19.758]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.493,-60.227],[-58.928,-52.793],[-66.363,-60.227],[-58.928,-67.662]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.51,-107.756],[-58.945,-100.322],[-66.38,-107.756],[-58.945,-115.19]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058883368,0.854902020623,0.870588295133,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":[160.956,241.646],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvGrey","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.597,-8.51],[-59.032,-1.075],[-66.467,-8.51],[-59.032,-15.945]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.526,-56.288],[-58.907,-49.354],[-66.396,-56.288],[-58.96,-63.724]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.472,-103.942],[-58.907,-96.508],[-66.342,-103.942],[-58.907,-111.377]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-127.519],[-58.907,-120.085],[-66.342,-127.519],[-58.907,-134.954]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843148708,0.890196084976,0.996078431606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 3","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[160.956,213.88],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvBlue","np":5,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[204.5,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":778,"op":910,"st":309,"bm":0},{"ddd":0,"ind":44,"ty":4,"nm":"List 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"t":589,"s":[207.309,149.489,0],"to":[-0.092,-1.75,0],"ti":[0.092,1.75,0]},{"i":{"x":0.5,"y":0.5},"o":{"x":0,"y":0},"t":630,"s":[206.759,138.989,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":672,"s":[206.759,138.989,0],"to":[0.024,2.169,0],"ti":[-0.024,-1.661,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":687,"s":[206.903,152,0],"to":[0.024,1.661,0],"ti":[0,0.507,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0,"y":0},"t":699,"s":[206.903,148.957,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.5,"y":0},"t":778,"s":[206.903,148.957,0],"to":[27.317,0.167,0],"ti":[-27.317,-0.167,0]},{"t":840,"s":[370.803,149.957,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":589,"s":[100.5,100.5,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":630,"s":[58,58,100]},{"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":672,"s":[58,58,100]},{"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":687,"s":[70,70,100]},{"t":699,"s":[69,69,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.102,0],[0,0],[0,-4.063],[0,0],[0,0],[0,0]],"o":[[0,0],[4.103,0],[0,0],[0,0],[0,0],[0,-4.063]],"v":[[-152.446,10.908],[151.827,10.87],[159.255,18.227],[159.255,33.299],[-159.873,33.337],[-159.873,18.265]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[204.62,39.528],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[100]},{"t":523,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.006,0],[0,0],[0,-0.592],[0,0],[1.007,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[1.007,0],[0,0],[0,0.592],[0,0],[-1.006,0],[0,0],[0,-0.592]],"v":[[-91.83,9.465],[-37.221,9.502],[-35.398,10.574],[-35.398,13.253],[-37.221,14.325],[-91.83,14.287],[-93.652,13.216],[-93.652,10.537]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.618,16.638],[-64.321,16.681],[-63.287,17.753],[-63.287,19.896],[-64.321,20.967],[-92.618,20.925],[-93.652,19.853],[-93.652,17.71]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-0.798,0],[0,0],[0,-0.592],[0,0],[0.798,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.798,0],[0,0],[0,0.592],[0,0],[-0.798,0],[0,0],[0,-0.592]],"v":[[-92.207,32.291],[-74.006,32.327],[-72.561,33.399],[-72.561,36.078],[-74.006,37.149],[-92.207,37.113],[-93.653,36.041],[-93.653,33.362]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[-0.446,0],[0,0],[0,-0.592],[0,0],[0.446,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.446,0],[0,0],[0,0.592],[0,0],[-0.446,0],[0,0],[0,-0.592]],"v":[[-92.845,39.464],[-52.145,39.453],[-51.337,40.524],[-51.337,42.667],[-52.145,43.739],[-92.845,43.751],[-93.653,42.679],[-93.653,40.536]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[-0.531,0],[0,0],[0,-0.592],[0,0],[0.531,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.531,0],[0,0],[0,0.592],[0,0],[-0.531,0],[0,0],[0,-0.592]],"v":[[-92.73,56.118],[-47.962,56.06],[-47.001,57.131],[-47.001,59.811],[-47.962,60.882],[-92.73,60.94],[-93.69,59.868],[-93.69,57.189]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.656,63.291],[7.016,63.274],[8.05,64.345],[8.05,66.489],[7.016,67.56],[-92.656,67.578],[-93.69,66.506],[-93.69,64.363]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":6,"ty":"sh","ix":7,"ks":{"a":0,"k":{"i":[[-0.852,0],[0,0],[0,-0.593],[0,0],[0.852,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.852,0],[0,0],[0,0.592],[0,0],[-0.852,0],[0,0],[0,-0.593]],"v":[[-92.164,80.593],[-36.852,80.585],[-35.309,81.657],[-35.309,84.336],[-36.852,85.407],[-92.164,85.416],[-93.706,84.344],[-93.706,81.665]],"c":true},"ix":2},"nm":"Path 7","mn":"ADBE Vector Shape - Group","hd":false},{"ind":7,"ty":"sh","ix":8,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.593],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.593]],"v":[[-92.672,87.766],[46.5,87.816],[47.534,88.889],[47.534,91.031],[46.5,92.104],[-92.672,92.054],[-93.706,90.981],[-93.706,88.839]],"c":true},"ix":2},"nm":"Path 8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":8,"ty":"sh","ix":9,"ks":{"a":0,"k":{"i":[[-0.442,0],[0,0],[0,-0.592],[0,0],[0.442,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.442,0],[0,0],[0,0.592],[0,0],[-0.442,0],[0,0],[0,-0.592]],"v":[[-92.873,104.422],[-54.131,104.404],[-53.33,105.476],[-53.33,108.155],[-54.131,109.227],[-92.873,109.245],[-93.674,108.173],[-93.674,105.494]],"c":true},"ix":2},"nm":"Path 9","mn":"ADBE Vector Shape - Group","hd":false},{"ind":9,"ty":"sh","ix":10,"ks":{"a":0,"k":{"i":[[-0.647,0],[0,0],[0,-0.593],[0,0],[0.646,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.646,0],[0,0],[0,0.592],[0,0],[-0.647,0],[0,0],[0,-0.593]],"v":[[-92.502,111.595],[30.08,111.582],[31.251,112.655],[31.251,114.797],[30.08,115.87],[-92.502,115.883],[-93.673,114.81],[-93.673,112.668]],"c":true},"ix":2},"nm":"Path 10","mn":"ADBE Vector Shape - Group","hd":false},{"ind":10,"ty":"sh","ix":11,"ks":{"a":0,"k":{"i":[[-0.959,0],[0,0],[0,-0.592],[0,0],[0.959,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.959,0],[0,0],[0,0.592],[0,0],[-0.959,0],[0,0],[0,-0.592]],"v":[[-92.042,127.459],[-65.006,127.415],[-63.27,128.487],[-63.27,131.166],[-65.006,132.237],[-92.042,132.281],[-93.777,131.209],[-93.777,128.53]],"c":true},"ix":2},"nm":"Path 11","mn":"ADBE Vector Shape - Group","hd":false},{"ind":11,"ty":"sh","ix":12,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.706,134.632],[-12.769,134.593],[-11.697,135.666],[-11.697,137.808],[-12.769,138.881],[-92.706,138.919],[-93.777,137.847],[-93.777,135.704]],"c":true},"ix":2},"nm":"Path 12","mn":"ADBE Vector Shape - Group","hd":false},{"ind":12,"ty":"sh","ix":13,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.591,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.591,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,152.326],[-36.305,152.306],[-35.234,153.379],[-35.234,156.057],[-36.305,157.129],[-92.581,157.149],[-93.652,156.077],[-93.652,153.398]],"c":true},"ix":2},"nm":"Path 13","mn":"ADBE Vector Shape - Group","hd":false},{"ind":13,"ty":"sh","ix":14,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.591],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.591],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,159.5],[40.481,159.468],[41.553,160.539],[41.553,162.683],[40.481,163.754],[-92.581,163.786],[-93.652,162.715],[-93.652,160.571]],"c":true},"ix":2},"nm":"Path 14","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":517,"s":[188.562,71.266],"to":[3.333,0],"ti":[-3.333,0]},{"t":527,"s":[208.562,71.266]}],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":520,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L1","np":15,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.107],[-4.107,0]],"o":[[0,4.107],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-12.324],[-58.907,-4.888],[-66.342,-12.324],[-58.907,-19.758]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.493,-60.227],[-58.928,-52.793],[-66.363,-60.227],[-58.928,-67.662]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.51,-107.756],[-58.945,-100.322],[-66.38,-107.756],[-58.945,-115.19]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058883368,0.854902020623,0.870588295133,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":517,"s":[140.956,241.646],"to":[3.333,0],"ti":[-3.333,0]},{"t":527,"s":[160.956,241.646]}],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":520,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvGrey","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.597,-8.51],[-59.032,-1.075],[-66.467,-8.51],[-59.032,-15.945]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.526,-56.288],[-58.907,-49.354],[-66.396,-56.288],[-58.96,-63.724]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.472,-103.942],[-58.907,-96.508],[-66.342,-103.942],[-58.907,-111.377]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-127.519],[-58.907,-120.085],[-66.342,-127.519],[-58.907,-134.954]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843148708,0.890196084976,0.996078431606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 3","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":517,"s":[140.956,213.88],"to":[3.333,0],"ti":[-3.333,0]},{"t":527,"s":[160.956,213.88]}],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":520,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvBlue","np":5,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[204.5,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":522,"s":[100]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":517,"op":778,"st":309,"bm":0},{"ddd":0,"ind":45,"ty":4,"nm":"OV_BG","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,147.925,0],"ix":2,"l":2},"a":{"a":0,"k":[-2.043,-2.075,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.912],[0,0],[4.912,0],[0,0],[0,4.912],[0,0],[-4.912,0],[0,0]],"o":[[0,0],[0,4.912],[0,0],[-4.912,0],[0,0],[0,-4.912],[0,0],[4.912,0]],"v":[[166.473,-89.274],[166.473,94.935],[157.58,103.828],[-154.386,103.82],[-163.279,94.927],[-163.279,-89.282],[-154.386,-98.175],[157.58,-98.167]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,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":[-3.59,-1.696],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[98.392,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":589,"op":2389,"st":589,"bm":0},{"ddd":0,"ind":46,"ty":1,"nm":"Royal Blue Solid 1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":365,"s":[40]},{"t":385,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,134.5,0],"ix":2,"l":2},"a":{"a":0,"k":[162.5,12.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":true,"mode":"s","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":350,"s":[{"i":[[6.187,0],[0,-6.187],[-6.187,0],[0,6.187]],"o":[[-6.187,0],[0,6.187],[6.187,0],[0,-6.187]],"v":[[83.798,0.563],[72.595,11.766],[83.798,22.968],[95,11.766]],"c":true}]},{"t":385,"s":[{"i":[[142.619,0],[0,-142.619],[-142.619,0],[0,142.619]],"o":[[-142.619,0],[0,142.619],[142.619,0],[0,-142.619]],"v":[[83.798,-246.468],[-174.436,11.766],[83.798,270],[342.032,11.766]],"c":true}]}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"sw":325,"sh":25,"sc":"#2c7de8","ip":350,"op":2119,"st":319,"bm":0},{"ddd":0,"ind":47,"ty":4,"nm":"List","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.309,149.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.102,0],[0,0],[0,-4.063],[0,0],[0,0],[0,0]],"o":[[0,0],[4.103,0],[0,0],[0,0],[0,0],[0,-4.063]],"v":[[-152.446,10.908],[151.827,10.87],[159.255,18.227],[159.255,33.299],[-159.873,33.337],[-159.873,18.265]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[204.62,39.528],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":309,"s":[100]},{"t":315,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.006,0],[0,0],[0,-0.592],[0,0],[1.007,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[1.007,0],[0,0],[0,0.592],[0,0],[-1.006,0],[0,0],[0,-0.592]],"v":[[-91.83,9.465],[-37.221,9.502],[-35.398,10.574],[-35.398,13.253],[-37.221,14.325],[-91.83,14.287],[-93.652,13.216],[-93.652,10.537]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.618,16.638],[-64.321,16.681],[-63.287,17.753],[-63.287,19.896],[-64.321,20.967],[-92.618,20.925],[-93.652,19.853],[-93.652,17.71]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-0.798,0],[0,0],[0,-0.592],[0,0],[0.798,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.798,0],[0,0],[0,0.592],[0,0],[-0.798,0],[0,0],[0,-0.592]],"v":[[-92.207,32.291],[-74.006,32.327],[-72.561,33.399],[-72.561,36.078],[-74.006,37.149],[-92.207,37.113],[-93.653,36.041],[-93.653,33.362]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[-0.446,0],[0,0],[0,-0.592],[0,0],[0.446,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.446,0],[0,0],[0,0.592],[0,0],[-0.446,0],[0,0],[0,-0.592]],"v":[[-92.845,39.464],[-52.145,39.453],[-51.337,40.524],[-51.337,42.667],[-52.145,43.739],[-92.845,43.751],[-93.653,42.679],[-93.653,40.536]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[-0.531,0],[0,0],[0,-0.592],[0,0],[0.531,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.531,0],[0,0],[0,0.592],[0,0],[-0.531,0],[0,0],[0,-0.592]],"v":[[-92.73,56.118],[-47.962,56.06],[-47.001,57.131],[-47.001,59.811],[-47.962,60.882],[-92.73,60.94],[-93.69,59.868],[-93.69,57.189]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.656,63.291],[7.016,63.274],[8.05,64.345],[8.05,66.489],[7.016,67.56],[-92.656,67.578],[-93.69,66.506],[-93.69,64.363]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":6,"ty":"sh","ix":7,"ks":{"a":0,"k":{"i":[[-0.852,0],[0,0],[0,-0.593],[0,0],[0.852,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.852,0],[0,0],[0,0.592],[0,0],[-0.852,0],[0,0],[0,-0.593]],"v":[[-92.164,80.593],[-36.852,80.585],[-35.309,81.657],[-35.309,84.336],[-36.852,85.407],[-92.164,85.416],[-93.706,84.344],[-93.706,81.665]],"c":true},"ix":2},"nm":"Path 7","mn":"ADBE Vector Shape - Group","hd":false},{"ind":7,"ty":"sh","ix":8,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.593],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.593]],"v":[[-92.672,87.766],[46.5,87.816],[47.534,88.889],[47.534,91.031],[46.5,92.104],[-92.672,92.054],[-93.706,90.981],[-93.706,88.839]],"c":true},"ix":2},"nm":"Path 8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":8,"ty":"sh","ix":9,"ks":{"a":0,"k":{"i":[[-0.442,0],[0,0],[0,-0.592],[0,0],[0.442,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.442,0],[0,0],[0,0.592],[0,0],[-0.442,0],[0,0],[0,-0.592]],"v":[[-92.873,104.422],[-54.131,104.404],[-53.33,105.476],[-53.33,108.155],[-54.131,109.227],[-92.873,109.245],[-93.674,108.173],[-93.674,105.494]],"c":true},"ix":2},"nm":"Path 9","mn":"ADBE Vector Shape - Group","hd":false},{"ind":9,"ty":"sh","ix":10,"ks":{"a":0,"k":{"i":[[-0.647,0],[0,0],[0,-0.593],[0,0],[0.646,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.646,0],[0,0],[0,0.592],[0,0],[-0.647,0],[0,0],[0,-0.593]],"v":[[-92.502,111.595],[30.08,111.582],[31.251,112.655],[31.251,114.797],[30.08,115.87],[-92.502,115.883],[-93.673,114.81],[-93.673,112.668]],"c":true},"ix":2},"nm":"Path 10","mn":"ADBE Vector Shape - Group","hd":false},{"ind":10,"ty":"sh","ix":11,"ks":{"a":0,"k":{"i":[[-0.959,0],[0,0],[0,-0.592],[0,0],[0.959,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.959,0],[0,0],[0,0.592],[0,0],[-0.959,0],[0,0],[0,-0.592]],"v":[[-92.042,127.459],[-65.006,127.415],[-63.27,128.487],[-63.27,131.166],[-65.006,132.237],[-92.042,132.281],[-93.777,131.209],[-93.777,128.53]],"c":true},"ix":2},"nm":"Path 11","mn":"ADBE Vector Shape - Group","hd":false},{"ind":11,"ty":"sh","ix":12,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.706,134.632],[-12.769,134.593],[-11.697,135.666],[-11.697,137.808],[-12.769,138.881],[-92.706,138.919],[-93.777,137.847],[-93.777,135.704]],"c":true},"ix":2},"nm":"Path 12","mn":"ADBE Vector Shape - Group","hd":false},{"ind":12,"ty":"sh","ix":13,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.591,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.591,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,152.326],[-36.305,152.306],[-35.234,153.379],[-35.234,156.057],[-36.305,157.129],[-92.581,157.149],[-93.652,156.077],[-93.652,153.398]],"c":true},"ix":2},"nm":"Path 13","mn":"ADBE Vector Shape - Group","hd":false},{"ind":13,"ty":"sh","ix":14,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.591],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.591],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,159.5],[40.481,159.468],[41.553,160.539],[41.553,162.683],[40.481,163.754],[-92.581,163.786],[-93.652,162.715],[-93.652,160.571]],"c":true},"ix":2},"nm":"Path 14","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":309,"s":[188.562,71.266],"to":[3.333,0],"ti":[-3.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":319,"s":[208.562,71.266],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":386,"s":[208.562,71.266],"to":[-3.333,0],"ti":[3.333,0]},{"t":396,"s":[188.562,71.266]}],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":315,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":319,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":386,"s":[100]},{"t":392,"s":[0]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L1","np":15,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.107],[-4.107,0]],"o":[[0,4.107],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-12.324],[-58.907,-4.888],[-66.342,-12.324],[-58.907,-19.758]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.493,-60.227],[-58.928,-52.793],[-66.363,-60.227],[-58.928,-67.662]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.51,-107.756],[-58.945,-100.322],[-66.38,-107.756],[-58.945,-115.19]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058883368,0.854902020623,0.870588295133,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":309,"s":[140.956,241.646],"to":[3.333,0],"ti":[-3.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":319,"s":[160.956,241.646],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":386,"s":[160.956,241.646],"to":[-3.333,0],"ti":[3.333,0]},{"t":396,"s":[140.956,241.646]}],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":315,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":319,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":386,"s":[100]},{"t":392,"s":[0]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvGrey","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.597,-8.51],[-59.032,-1.075],[-66.467,-8.51],[-59.032,-15.945]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.526,-56.288],[-58.907,-49.354],[-66.396,-56.288],[-58.96,-63.724]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.472,-103.942],[-58.907,-96.508],[-66.342,-103.942],[-58.907,-111.377]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-127.519],[-58.907,-120.085],[-66.342,-127.519],[-58.907,-134.954]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843148708,0.890196084976,0.996078431606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 3","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":309,"s":[140.956,213.88],"to":[3.333,0],"ti":[-3.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":319,"s":[160.956,213.88],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":386,"s":[160.956,213.88],"to":[-3.333,0],"ti":[3.333,0]},{"t":396,"s":[140.956,213.88]}],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":315,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":319,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":386,"s":[100]},{"t":392,"s":[0]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvBlue","np":5,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[204.5,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":309,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":319,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":390,"s":[100]},{"t":395,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":309,"op":402,"st":309,"bm":0},{"ddd":0,"ind":48,"ty":4,"nm":"Matte 4","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.309,150.364,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":390,"op":529,"st":390,"bm":0},{"ddd":0,"ind":49,"ty":4,"nm":"Text 3","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.687,-9.352],[4.676,-11.363],[-6.687,0],[4.676,11.363],[6.687,9.352],[-2.665,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.231372563979,0.250980392157,0.262745098039,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":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.5,"y":0},"t":462,"s":[412.657,162.625],"to":[-3.473,0],"ti":[3.473,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":498,"s":[391.818,162.625],"to":[0,0],"ti":[0,0]},{"i":{"x":0.338,"y":1},"o":{"x":0.465,"y":0},"t":513,"s":[391.818,162.625],"to":[0,0],"ti":[0,0]},{"t":521,"s":[417.526,162.625]}],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":473,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":481,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":514,"s":[100]},{"t":519,"s":[0]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 25","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.116,0],[0,0],[0,-5.116],[0,0],[0,0],[0,0]],"o":[[0,0],[5.116,0],[0,0],[0,0],[0,0],[0,-5.116]],"v":[[-190.915,-13.649],[190.934,-13.721],[200.198,-4.457],[200.198,14.522],[-200.179,14.594],[-200.179,-4.385]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[204.523,40.213],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,4.086],[-4.086,0],[0,0],[0,-4.086],[4.086,0],[0,0]],"o":[[0,-4.086],[0,0],[4.086,0],[0,4.086],[0,0],[-4.086,0]],"v":[[-90.597,-65.09],[-83.2,-72.487],[-13.378,-72.501],[-5.979,-65.104],[-13.378,-57.707],[-83.2,-57.693]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,4.086],[-4.086,0],[0,0],[0,-4.086],[4.086,0],[0,0]],"o":[[0,-4.086],[0,0],[4.086,0],[0,4.086],[0,0],[-4.086,0]],"v":[[-90.595,4.635],[-83.198,-2.762],[-28.418,-2.767],[-21.02,4.63],[-28.418,12.027],[-83.198,12.032]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,4.037],[-4.036,0],[0,0],[0,-4.035],[4.035,0],[0,0]],"o":[[0,-4.035],[0,0],[4.035,0],[0,4.037],[0,0],[-4.036,0]],"v":[[-89.959,72.522],[-82.65,65.215],[-13.78,65.26],[-6.472,72.567],[-13.78,79.874],[-82.65,79.829]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":390,"s":[204,119.04],"to":[-3.338,0],"ti":[3.338,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":404,"s":[183.975,119.04],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":513,"s":[183.975,119.04],"to":[3.333,0],"ti":[-3.333,0]},{"t":522,"s":[203.975,119.04]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BubbleGrey","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.573,-129.125],[-26.057,-121.641],[-33.541,-129.125],[-26.057,-136.609]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.556,-59.478],[-26.04,-51.995],[-33.523,-59.478],[-26.04,-66.962]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.542,8.367],[-26.026,15.85],[-33.51,8.367],[-26.026,0.883]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":390,"s":[127.855,183.187],"to":[-3.333,0],"ti":[3.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":404,"s":[107.855,183.187],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":513,"s":[107.855,183.187],"to":[3.333,0],"ti":[-3.333,0]},{"t":522,"s":[127.855,183.187]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvatarGrey","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.616,1.208],[-1.062,0.541],[-3.162,0],[0,0],[-1.208,-0.616],[-0.541,-1.063],[0,-3.163],[0,0],[0.616,-1.208],[1.062,-0.541],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.163],[0.541,-1.063],[1.209,-0.616],[0,0],[3.163,0],[1.062,0.541],[0.616,1.208],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.541],[-0.616,-1.208],[0,0]],"v":[[-24.383,-21.033],[-23.767,-26.985],[-21.3,-29.452],[-15.348,-30.068],[51.285,-30.068],[57.237,-29.452],[59.704,-26.985],[60.32,-21.033],[60.32,-3.967],[59.704,1.985],[57.237,4.452],[51.285,5.068],[-15.348,5.068],[-21.3,4.452],[-23.767,1.985],[-24.383,-3.967]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,3.632],[-3.632,0],[0,0],[-1.407,-0.717],[-0.631,-1.237],[0,-3.682],[0,0],[0.16,-0.313],[0.275,-0.14],[0.819,0],[0,0]],"o":[[0,-3.632],[0,0],[3.682,0],[1.237,0.63],[0.717,1.407],[0,0],[0,0.819],[-0.14,0.275],[-0.312,0.16],[0,0],[-3.632,0]],"v":[[-6.103,41.588],[0.471,35.012],[49.239,35.003],[56.168,35.72],[59.04,38.594],[59.758,45.523],[59.758,45.815],[59.598,47.356],[58.96,47.994],[57.42,48.153],[0.471,48.163]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[-0.616,1.208],[-1.062,0.542],[-3.162,0],[0,0],[-0.268,-0.137],[-0.12,-0.236],[0,-0.703],[0,0],[0.616,-1.208],[1.062,-0.542],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.163],[0.541,-1.063],[1.209,-0.615],[0,0],[0.703,0],[0.236,0.12],[0.137,0.268],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.542],[-0.616,-1.208],[0,0]],"v":[[-24.476,60.39],[-23.86,54.438],[-21.393,51.97],[-15.441,51.355],[58.219,51.355],[59.542,51.492],[60.09,52.04],[60.227,53.363],[60.227,65.535],[59.611,71.487],[57.143,73.954],[51.192,74.57],[-15.441,74.57],[-21.393,73.954],[-23.86,71.487],[-24.476,65.535]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0],[-0.616,1.209],[-1.062,0.541],[-3.162,0],[0,0],[-1.208,-0.616],[-0.541,-1.063],[0,-3.162],[0,0],[0.616,-1.208],[1.062,-0.541],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.162],[0.541,-1.063],[1.209,-0.616],[0,0],[3.163,0],[1.062,0.541],[0.616,1.209],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.541],[-0.616,-1.208],[0,0]],"v":[[-24.476,116.792],[-23.86,110.84],[-21.393,108.373],[-15.441,107.757],[50.567,107.777],[56.518,108.393],[58.986,110.86],[59.602,116.812],[59.602,121.957],[58.986,127.909],[56.518,130.376],[50.567,130.992],[-15.441,130.972],[-21.393,130.356],[-23.86,127.889],[-24.476,121.937]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843197093,0.89019613827,0.996078491211,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":390,"s":[295.15,100.532],"to":[-3.333,0],"ti":[3.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":404,"s":[275.15,100.532],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":513,"s":[275.15,100.532],"to":[3.333,0],"ti":[-3.333,0]},{"t":522,"s":[295.15,100.532]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BubbleBlue","np":5,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.812,0],[0,0],[0,-3.812],[3.811,0],[0,0],[0,3.812]],"o":[[0,0],[3.811,0],[0,3.812],[0,0],[-3.812,0],[0,-3.812]],"v":[[-130.188,-3.777],[123.314,-3.842],[130.215,3.06],[123.314,9.962],[-130.188,10.027],[-137.09,3.125]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":390,"s":[224.5,247.036],"to":[-3.333,0],"ti":[3.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":404,"s":[204.5,247.036],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":513,"s":[204.5,247.036],"to":[3.333,0],"ti":[-3.333,0]},{"t":522,"s":[224.5,247.036]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Field","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[400,250],"ix":2},"p":{"a":0,"k":[204,151],"ix":3},"r":{"a":0,"k":9,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","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}],"ip":390,"op":529,"st":10,"bm":0},{"ddd":0,"ind":50,"ty":4,"nm":"Matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.809,150.364,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":182,"op":321,"st":182,"bm":0},{"ddd":0,"ind":51,"ty":4,"nm":"Text 2","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":305,"s":[206.809,148.489,0],"to":[3.333,0,0],"ti":[-3.333,0,0]},{"t":320,"s":[226.809,148.489,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.687,-9.352],[4.676,-11.363],[-6.687,0],[4.676,11.363],[6.687,9.352],[-2.665,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.231372563979,0.250980392157,0.262745098039,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":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.5,"y":0},"t":256,"s":[-4.592,162.625],"to":[4.333,0],"ti":[-4.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":292,"s":[21.408,162.625],"to":[0,0],"ti":[0,0]},{"i":{"x":0.338,"y":1},"o":{"x":0.465,"y":0},"t":305,"s":[21.408,162.625],"to":[0,0],"ti":[0,0]},{"t":315,"s":[-4.592,162.625]}],"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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":267,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":275,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":308,"s":[100]},{"t":313,"s":[0]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 25","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.116,0],[0,0],[0,-5.116],[0,0],[0,0],[0,0]],"o":[[0,0],[5.116,0],[0,0],[0,0],[0,0],[0,-5.116]],"v":[[-190.915,-13.649],[190.934,-13.721],[200.198,-4.457],[200.198,14.522],[-200.179,14.594],[-200.179,-4.385]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[204.523,40.213],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,4.086],[-4.086,0],[0,0],[0,-4.086],[4.086,0],[0,0]],"o":[[0,-4.086],[0,0],[4.086,0],[0,4.086],[0,0],[-4.086,0]],"v":[[-90.597,-65.09],[-83.2,-72.487],[-13.378,-72.501],[-5.979,-65.104],[-13.378,-57.707],[-83.2,-57.693]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,4.086],[-4.086,0],[0,0],[0,-4.086],[4.086,0],[0,0]],"o":[[0,-4.086],[0,0],[4.086,0],[0,4.086],[0,0],[-4.086,0]],"v":[[-90.595,4.635],[-83.198,-2.762],[-28.418,-2.767],[-21.02,4.63],[-28.418,12.027],[-83.198,12.032]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,4.037],[-4.036,0],[0,0],[0,-4.035],[4.035,0],[0,0]],"o":[[0,-4.035],[0,0],[4.035,0],[0,4.037],[0,0],[-4.036,0]],"v":[[-89.959,72.522],[-82.65,65.215],[-13.78,65.26],[-6.472,72.567],[-13.78,79.874],[-82.65,79.829]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[183.975,119.04],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BubbleGrey","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.573,-129.125],[-26.057,-121.641],[-33.541,-129.125],[-26.057,-136.609]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.556,-59.478],[-26.04,-51.995],[-33.523,-59.478],[-26.04,-66.962]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.542,8.367],[-26.026,15.85],[-33.51,8.367],[-26.026,0.883]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[107.855,183.187],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvatarGrey","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.616,1.208],[-1.062,0.541],[-3.162,0],[0,0],[-1.208,-0.616],[-0.541,-1.063],[0,-3.163],[0,0],[0.616,-1.208],[1.062,-0.541],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.163],[0.541,-1.063],[1.209,-0.616],[0,0],[3.163,0],[1.062,0.541],[0.616,1.208],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.541],[-0.616,-1.208],[0,0]],"v":[[-24.383,-21.033],[-23.767,-26.985],[-21.3,-29.452],[-15.348,-30.068],[51.285,-30.068],[57.237,-29.452],[59.704,-26.985],[60.32,-21.033],[60.32,-3.967],[59.704,1.985],[57.237,4.452],[51.285,5.068],[-15.348,5.068],[-21.3,4.452],[-23.767,1.985],[-24.383,-3.967]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,3.632],[-3.632,0],[0,0],[-1.407,-0.717],[-0.631,-1.237],[0,-3.682],[0,0],[0.16,-0.313],[0.275,-0.14],[0.819,0],[0,0]],"o":[[0,-3.632],[0,0],[3.682,0],[1.237,0.63],[0.717,1.407],[0,0],[0,0.819],[-0.14,0.275],[-0.312,0.16],[0,0],[-3.632,0]],"v":[[-6.103,41.588],[0.471,35.012],[49.239,35.003],[56.168,35.72],[59.04,38.594],[59.758,45.523],[59.758,45.815],[59.598,47.356],[58.96,47.994],[57.42,48.153],[0.471,48.163]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[-0.616,1.208],[-1.062,0.542],[-3.162,0],[0,0],[-0.268,-0.137],[-0.12,-0.236],[0,-0.703],[0,0],[0.616,-1.208],[1.062,-0.542],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.163],[0.541,-1.063],[1.209,-0.615],[0,0],[0.703,0],[0.236,0.12],[0.137,0.268],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.542],[-0.616,-1.208],[0,0]],"v":[[-24.476,60.39],[-23.86,54.438],[-21.393,51.97],[-15.441,51.355],[58.219,51.355],[59.542,51.492],[60.09,52.04],[60.227,53.363],[60.227,65.535],[59.611,71.487],[57.143,73.954],[51.192,74.57],[-15.441,74.57],[-21.393,73.954],[-23.86,71.487],[-24.476,65.535]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0],[-0.616,1.209],[-1.062,0.541],[-3.162,0],[0,0],[-1.208,-0.616],[-0.541,-1.063],[0,-3.162],[0,0],[0.616,-1.208],[1.062,-0.541],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.162],[0.541,-1.063],[1.209,-0.616],[0,0],[3.163,0],[1.062,0.541],[0.616,1.209],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.541],[-0.616,-1.208],[0,0]],"v":[[-24.476,116.792],[-23.86,110.84],[-21.393,108.373],[-15.441,107.757],[50.567,107.777],[56.518,108.393],[58.986,110.86],[59.602,116.812],[59.602,121.957],[58.986,127.909],[56.518,130.376],[50.567,130.992],[-15.441,130.972],[-21.393,130.356],[-23.86,127.889],[-24.476,121.937]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843197093,0.89019613827,0.996078491211,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":[275.15,100.532],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BubbleBlue","np":5,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.812,0],[0,0],[0,-3.812],[3.811,0],[0,0],[0,3.812]],"o":[[0,0],[3.811,0],[0,3.812],[0,0],[-3.812,0],[0,-3.812]],"v":[[-130.188,-3.777],[123.314,-3.842],[130.215,3.06],[123.314,9.962],[-130.188,10.027],[-137.09,3.125]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[204.5,247.036],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Field","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[410,255],"ix":2},"p":{"a":0,"k":[204,151],"ix":3},"r":{"a":0,"k":9,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","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}],"ip":182,"op":321,"st":10,"bm":0},{"ddd":0,"ind":52,"ty":4,"nm":"Matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.05,"y":1},"o":{"x":0.3,"y":0},"t":160,"s":[223.934,225.916,0],"to":[-11.042,-1.708,0],"ti":[-0.083,37.333,0]},{"t":182,"s":[207.809,150.364,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.05,0.05,0.2],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.4],"y":[0,0,0]},"t":160,"s":[10.5,10.5,100]},{"t":182,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.319,0.319],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":163,"s":[130,130]},{"t":172,"s":[320,200]}],"ix":2},"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.319],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":163,"s":[93]},{"t":172,"s":[8]}],"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":160,"op":183,"st":160,"bm":0},{"ddd":0,"ind":53,"ty":4,"nm":"Text","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.05,"y":1},"o":{"x":0.3,"y":0},"t":160,"s":[223.738,226.114,0],"to":[-13.873,-4.542,0],"ti":[0.498,38.167,0]},{"t":182,"s":[206.809,148.489,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.05,0.05,0.2],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.4],"y":[0,0,0]},"t":160,"s":[11.5,11.5,100]},{"t":182,"s":[80,80,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.116,0],[0,0],[0,-5.116],[0,0],[0,0],[0,0]],"o":[[0,0],[5.116,0],[0,0],[0,0],[0,0],[0,-5.116]],"v":[[-190.915,-13.649],[190.934,-13.721],[200.198,-4.457],[200.198,14.522],[-200.179,14.594],[-200.179,-4.385]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":162,"s":[0.980392217636,0.823529481888,0.811764776707,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[1,1,1,1]},{"t":180,"s":[0.909803981407,0.917647118662,0.929411824544,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":[204.523,40.213],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,4.086],[-4.086,0],[0,0],[0,-4.086],[4.086,0],[0,0]],"o":[[0,-4.086],[0,0],[4.086,0],[0,4.086],[0,0],[-4.086,0]],"v":[[-90.597,-65.09],[-83.2,-72.487],[-13.378,-72.501],[-5.979,-65.104],[-13.378,-57.707],[-83.2,-57.693]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,4.086],[-4.086,0],[0,0],[0,-4.086],[4.086,0],[0,0]],"o":[[0,-4.086],[0,0],[4.086,0],[0,4.086],[0,0],[-4.086,0]],"v":[[-90.595,4.635],[-83.198,-2.762],[-28.418,-2.767],[-21.02,4.63],[-28.418,12.027],[-83.198,12.032]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,4.037],[-4.036,0],[0,0],[0,-4.035],[4.035,0],[0,0]],"o":[[0,-4.035],[0,0],[4.035,0],[0,4.037],[0,0],[-4.036,0]],"v":[[-89.959,72.522],[-82.65,65.215],[-13.78,65.26],[-6.472,72.567],[-13.78,79.874],[-82.65,79.829]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":162,"s":[0.980392217636,0.823529481888,0.811764776707,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[1,1,1,1]},{"t":180,"s":[0.909803981407,0.917647118662,0.929411824544,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":[183.975,119.04],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BubbleGrey","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.573,-129.125],[-26.057,-121.641],[-33.541,-129.125],[-26.057,-136.609]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.556,-59.478],[-26.04,-51.995],[-33.523,-59.478],[-26.04,-66.962]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.542,8.367],[-26.026,15.85],[-33.51,8.367],[-26.026,0.883]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":162,"s":[0.980392217636,0.823529481888,0.811764776707,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[1,1,1,1]},{"t":180,"s":[0.741176486015,0.75686275959,0.776470601559,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":[107.855,183.187],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvatarGrey","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.616,1.208],[-1.062,0.541],[-3.162,0],[0,0],[-1.208,-0.616],[-0.541,-1.063],[0,-3.163],[0,0],[0.616,-1.208],[1.062,-0.541],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.163],[0.541,-1.063],[1.209,-0.616],[0,0],[3.163,0],[1.062,0.541],[0.616,1.208],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.541],[-0.616,-1.208],[0,0]],"v":[[-24.383,-21.033],[-23.767,-26.985],[-21.3,-29.452],[-15.348,-30.068],[51.285,-30.068],[57.237,-29.452],[59.704,-26.985],[60.32,-21.033],[60.32,-3.967],[59.704,1.985],[57.237,4.452],[51.285,5.068],[-15.348,5.068],[-21.3,4.452],[-23.767,1.985],[-24.383,-3.967]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,3.632],[-3.632,0],[0,0],[-1.407,-0.717],[-0.631,-1.237],[0,-3.682],[0,0],[0.16,-0.313],[0.275,-0.14],[0.819,0],[0,0]],"o":[[0,-3.632],[0,0],[3.682,0],[1.237,0.63],[0.717,1.407],[0,0],[0,0.819],[-0.14,0.275],[-0.312,0.16],[0,0],[-3.632,0]],"v":[[-6.103,41.588],[0.471,35.012],[49.239,35.003],[56.168,35.72],[59.04,38.594],[59.758,45.523],[59.758,45.815],[59.598,47.356],[58.96,47.994],[57.42,48.153],[0.471,48.163]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[-0.616,1.208],[-1.062,0.542],[-3.162,0],[0,0],[-0.268,-0.137],[-0.12,-0.236],[0,-0.703],[0,0],[0.616,-1.208],[1.062,-0.542],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.163],[0.541,-1.063],[1.209,-0.615],[0,0],[0.703,0],[0.236,0.12],[0.137,0.268],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.542],[-0.616,-1.208],[0,0]],"v":[[-24.476,60.39],[-23.86,54.438],[-21.393,51.97],[-15.441,51.355],[58.219,51.355],[59.542,51.492],[60.09,52.04],[60.227,53.363],[60.227,65.535],[59.611,71.487],[57.143,73.954],[51.192,74.57],[-15.441,74.57],[-21.393,73.954],[-23.86,71.487],[-24.476,65.535]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0],[-0.616,1.209],[-1.062,0.541],[-3.162,0],[0,0],[-1.208,-0.616],[-0.541,-1.063],[0,-3.162],[0,0],[0.616,-1.208],[1.062,-0.541],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.162],[0.541,-1.063],[1.209,-0.616],[0,0],[3.163,0],[1.062,0.541],[0.616,1.209],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.541],[-0.616,-1.208],[0,0]],"v":[[-24.476,116.792],[-23.86,110.84],[-21.393,108.373],[-15.441,107.757],[50.567,107.777],[56.518,108.393],[58.986,110.86],[59.602,116.812],[59.602,121.957],[58.986,127.909],[56.518,130.376],[50.567,130.992],[-15.441,130.972],[-21.393,130.356],[-23.86,127.889],[-24.476,121.937]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":162,"s":[0.980392217636,0.823529481888,0.811764776707,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[1,1,1,1]},{"t":180,"s":[0.807843197093,0.89019613827,0.996078491211,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":[275.15,100.532],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BubbleBlue","np":5,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.812,0],[0,0],[0,-3.812],[3.811,0],[0,0],[0,3.812]],"o":[[0,0],[3.811,0],[0,3.812],[0,0],[-3.812,0],[0,-3.812]],"v":[[-130.188,-3.777],[123.314,-3.842],[130.215,3.06],[123.314,9.962],[-130.188,10.027],[-137.09,3.125]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":162,"s":[0.980392217636,0.823529481888,0.811764776707,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[1,1,1,1]},{"t":180,"s":[0.909803981407,0.917647118662,0.929411824544,1]}],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[204.5,247.036],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Field","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[410,255],"ix":2},"p":{"a":0,"k":[204,151],"ix":3},"r":{"a":0,"k":9,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":162,"s":[0.980392217636,0.823529481888,0.811764776707,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[1,1,1,1]},{"t":180,"s":[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}],"ip":160,"op":183,"st":10,"bm":0},{"ddd":0,"ind":54,"ty":4,"nm":"Matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.65,"y":0},"t":60,"s":[207.809,150.739,0],"to":[-3.333,0.167,0],"ti":[-0.167,-67.167,0]},{"t":90,"s":[201.684,229.541,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.2,0.2,0.2],"y":[1,1,1]},"o":{"x":[0.65,0.65,0.4],"y":[0,0,0]},"t":60,"s":[101,101,100]},{"t":90,"s":[11.5,11.5,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.425,0.433],"y":[1,1]},"o":{"x":[0.455,0.463],"y":[0,0]},"t":66,"s":[320,200]},{"t":85,"s":[120,120]}],"ix":2},"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.425],"y":[1]},"o":{"x":[0.455],"y":[0]},"t":66,"s":[8]},{"t":85,"s":[93]}],"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":91,"st":0,"bm":0},{"ddd":0,"ind":55,"ty":4,"nm":"News Article UI 3","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.65,"y":0},"t":60,"s":[206,150.802,0],"to":[-3.083,0.292,0],"ti":[0.083,-58.917,0]},{"t":90,"s":[201.5,229.302,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.2,0.2,0.2],"y":[1,1,1]},"o":{"x":[0.65,0.65,0.4],"y":[0,0,0]},"t":60,"s":[100,100,100]},{"t":90,"s":[11,11,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.828,0],[0,0],[0,2.828],[0,0],[-2.828,0],[0,0],[0,-2.828],[0,0]],"o":[[0,0],[-2.828,0],[0,0],[0,-2.828],[0,0],[2.828,0],[0,0],[0,2.828]],"v":[[104.906,37.499],[-104.906,37.499],[-110.026,32.379],[-110.026,-32.379],[-104.906,-37.499],[104.906,-37.499],[110.026,-32.379],[110.026,32.379]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.919,0],[0,0],[0,0.919],[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0]],"o":[[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0],[0.919,0],[0,0],[0,0.919]],"v":[[48.62,68.098],[-108.363,68.098],[-110.026,66.435],[-110.026,60.747],[-108.363,59.084],[48.62,59.084],[50.283,60.747],[50.283,66.435]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0.919,0],[0,0],[0,0.919],[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0]],"o":[[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0],[0.919,0],[0,0],[0,0.919]],"v":[[48.62,-45.957],[-108.363,-45.957],[-110.026,-47.621],[-110.026,-53.308],[-108.363,-54.971],[48.62,-54.971],[50.283,-53.308],[50.283,-47.621]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[1.011,0],[0,0],[0,1.011],[0,0],[-1.011,0],[0,0],[0,-1.011],[0,0]],"o":[[0,0],[-1.011,0],[0,0],[0,-1.011],[0,0],[1.011,0],[0,0],[0,1.011]],"v":[[82.12,55.664],[-108.196,55.664],[-110.026,53.834],[-110.026,48.48],[-108.196,46.65],[82.12,46.65],[83.95,48.48],[83.95,53.834]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[1.077,0],[0,0],[0,1.077],[0,0],[-1.077,0],[0,0],[0,-1.077],[0,0]],"o":[[0,0],[-1.077,0],[0,0],[0,-1.077],[0,0],[1.077,0],[0,0],[0,1.077]],"v":[[108.077,-58.084],[-108.077,-58.084],[-110.026,-60.033],[-110.026,-65.149],[-108.077,-67.098],[108.077,-67.098],[110.026,-65.149],[110.026,-60.033]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[0.968,0],[0,0],[0,0.968],[0,0],[-0.968,0],[0,0],[0,-0.968],[0,0]],"o":[[0,0],[-0.968,0],[0,0],[0,-0.968],[0,0],[0.968,0],[0,0],[0,0.968]],"v":[[66.085,-70.211],[-108.274,-70.211],[-110.026,-71.963],[-110.026,-77.473],[-108.274,-79.225],[66.085,-79.225],[67.837,-77.473],[67.837,-71.963]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":70,"s":[0.847058832645,0.86274510622,0.882352948189,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76,"s":[1,1,1,1]},{"t":82,"s":[0.823529481888,0.890196144581,0.988235354424,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,11],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Copy","np":7,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.949,0],[0,0],[0,-3.949]],"o":[[0,0],[0,0],[0,-3.949],[0,0],[3.949,0],[0,0]],"v":[[159.883,11.142],[-159.883,11.142],[-159.883,-3.991],[-152.732,-11.142],[152.732,-11.142],[159.883,-3.991]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":70,"s":[0.909803926945,0.917647063732,0.929411768913,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76,"s":[1,1,1,1]},{"t":82,"s":[0.823529481888,0.890196144581,0.988235354424,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,-88],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"TopBar","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[8]},{"t":90,"s":[8]}],"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":70,"s":[1,1,1,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76,"s":[1,1,1,1]},{"t":82,"s":[0.823529481888,0.890196144581,0.988235354424,1]}],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bg","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1520,"st":-280,"bm":0},{"ddd":0,"ind":56,"ty":4,"nm":"Home UI 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":180,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.65,"y":0},"t":60,"s":[206,226.056,0],"to":[0,0.583,0],"ti":[0,0,0]},{"i":{"x":0.4,"y":1},"o":{"x":0.333,"y":0},"t":90,"s":[206,229.556,0],"to":[0,0,0],"ti":[0,0.583,0]},{"t":120,"s":[206,226.056,0]}],"ix":2,"l":2},"a":{"a":0,"k":[206,226.056,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.711,0],[0,0],[0,3.711],[0,0],[-3.711,0],[0,0],[0,-3.711],[0,0]],"o":[[0,0],[-3.711,0],[0,0],[0,-3.711],[0,0],[3.711,0],[0,0],[0,3.711]],"v":[[40.967,6.72],[-35.389,6.72],[-42.108,0],[-42.108,0],[-35.389,-6.72],[40.967,-6.72],[47.687,0],[47.687,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,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":[269.313,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.711],[3.711,0],[0,3.711],[-3.711,0]],"o":[[0,3.711],[-3.711,0],[0,-3.711],[3.711,0]],"v":[[6.897,0],[0.177,6.72],[-6.543,0],[0.177,-6.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[209.773,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.711],[3.711,0],[0,3.711],[-3.711,0]],"o":[[0,3.711],[-3.711,0],[0,-3.711],[3.711,0]],"v":[[5.99,0],[-0.729,6.72],[-7.449,0],[-0.729,-6.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392158031,0.823529422283,0.811764717102,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":[189.114,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.711],[3.711,0],[0,3.711],[-3.711,0]],"o":[[0,3.711],[-3.711,0],[0,-3.711],[3.711,0]],"v":[[5.059,0],[-1.66,6.72],[-8.38,0],[-1.66,-6.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843148708,0.917647063732,0.839215695858,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":[167.893,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.711],[3.711,0],[0,3.711],[-3.711,0]],"o":[[0,3.711],[-3.711,0],[0,-3.711],[3.711,0]],"v":[[4.154,0],[-2.565,6.72],[-9.285,0],[-2.565,-6.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.996078431606,0.937254905701,0.764705896378,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":[147.269,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.711],[3.711,0],[0,3.711],[-3.711,0]],"o":[[0,3.711],[-3.711,0],[0,-3.711],[3.711,0]],"v":[[3.242,0],[-3.478,6.72],[-10.198,0],[-3.478,-6.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529481888,0.890196144581,0.988235354424,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":[126.465,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.711],[3.711,0],[0,3.711],[-3.711,0]],"o":[[0,3.711],[-3.711,0],[0,-3.711],[3.711,0]],"v":[[2.326,0],[-4.394,6.72],[-11.113,0],[-4.394,-6.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392217636,0.823529481888,0.811764776707,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":[105.591,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":183,"st":0,"bm":0},{"ddd":0,"ind":57,"ty":4,"nm":"WHITE_BG","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.901],[0,0],[4.901,0],[0,0],[0,4.901],[0,0],[-4.901,0],[0,0]],"o":[[0,0],[0,4.901],[0,0],[-4.901,0],[0,0],[0,-4.901],[0,0],[4.901,0]],"v":[[365.087,60.044],[365.064,242.065],[356.191,250.938],[54.163,250.875],[45.29,242.001],[45.312,59.98],[54.186,51.107],[356.213,51.171]],"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}],"ip":303,"op":540,"st":-42,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/raw/accessibility_magnification_banner_tablet.json b/res/raw/accessibility_magnification_banner_tablet.json
index 49996a4..8142267 100644
--- a/res/raw/accessibility_magnification_banner_tablet.json
+++ b/res/raw/accessibility_magnification_banner_tablet.json
@@ -1 +1 @@
-{"v":"5.10.0","fr":60,"ip":0,"op":540,"w":412,"h":300,"nm":"Magnification_Tablet_DT_V03","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":2,"ty":3,"nm":"MoveA+Dots","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.351,"y":1},"o":{"x":0.167,"y":0.167},"t":170,"s":[206,150,0],"to":[4.167,-0.833,0],"ti":[-4.167,0.833,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":207,"s":[231,145,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.423,"y":1},"o":{"x":0.488,"y":0},"t":214,"s":[231,145,0],"to":[-0.833,5,0],"ti":[0.833,-5,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":247,"s":[226,175,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.735,"y":0.034},"t":438,"s":[226,175,0],"to":[-3.333,-4.167,0],"ti":[3.333,4.167,0]},{"t":478,"s":[206,150,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":540,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".yellow600","cl":"yellow600","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":146,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":155,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":270,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":279,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":325,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":334,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":465,"s":[85]},{"t":472,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":298,"s":[226,175,0],"to":[-0.5,-1.667,0],"ti":[0.5,1.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":305,"s":[223,165,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.257,"y":1},"o":{"x":0.333,"y":0},"t":352,"s":[223,165,0],"to":[1.667,-1.667,0],"ti":[-1.667,1.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":393,"s":[233,155,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.568,"y":0.036},"t":438,"s":[233,155,0],"to":[-3.833,0,0],"ti":[3.833,0,0]},{"t":478,"s":[210,155,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":146,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":163,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":270,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":279,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":325,"s":[13,13]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":334,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":445,"s":[19,19]},{"t":474,"s":[13,13]}],"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.976470588235,0.670588235294,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":438,"op":540,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".yellow600","cl":"yellow600","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":146,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":155,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":270,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":279,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":325,"s":[50]},{"t":334,"s":[85]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":298,"s":[0,0,0],"to":[-0.5,-1.667,0],"ti":[0.5,1.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":305,"s":[-3,-10,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.257,"y":1},"o":{"x":0.333,"y":0},"t":352,"s":[-3,-10,0],"to":[1.667,-1.667,0],"ti":[-1.667,1.667,0]},{"t":393,"s":[7,-20,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":146,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":163,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":270,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":279,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":325,"s":[13,13]},{"t":334,"s":[19,19]}],"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.976470588235,0.670588235294,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":438,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".yellow600","cl":"yellow600","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":49,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":143,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":157,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":270,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":279,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":325,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":334,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":465,"s":[85]},{"t":472,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[226,175,0],"to":[-5.333,0,0],"ti":[5.333,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":135,"s":[194,175,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":298,"s":[194,175,0],"to":[0.5,1.667,0],"ti":[-0.5,-1.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":305,"s":[197,185,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.257,"y":1},"o":{"x":0.333,"y":0},"t":352,"s":[197,185,0],"to":[-1.667,1.667,0],"ti":[1.667,-1.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":393,"s":[187,195,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.568,"y":0.019},"t":438,"s":[187,195,0],"to":[2.833,-6.667,0],"ti":[-2.833,6.667,0]},{"t":478,"s":[204,155,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":40,"s":[13,13]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":57,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":69,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":143,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":157,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":270,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":279,"s":[13,13]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":325,"s":[13,13]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":334,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":445,"s":[19,19]},{"t":474,"s":[13,13]}],"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.976470588235,0.670588235294,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":438,"op":540,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".yellow600","cl":"yellow600","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":49,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":143,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":157,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":270,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":279,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":325,"s":[50]},{"t":334,"s":[85]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[0,0,0],"to":[-5.333,0,0],"ti":[5.333,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":135,"s":[-32,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":298,"s":[-32,0,0],"to":[0.5,1.667,0],"ti":[-0.5,-1.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":305,"s":[-29,10,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.257,"y":1},"o":{"x":0.333,"y":0},"t":352,"s":[-29,10,0],"to":[-1.667,1.667,0],"ti":[1.667,-1.667,0]},{"t":393,"s":[-39,20,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":40,"s":[13,13]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":57,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":69,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":143,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":157,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":270,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":279,"s":[13,13]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":325,"s":[13,13]},{"t":334,"s":[19,19]}],"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.976470588235,0.670588235294,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":438,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".grey600","cl":"grey600","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[205.999,150,0],"ix":2,"l":2},"a":{"a":0,"k":[205.999,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[201.948,319.538],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.501960784314,0.525490196078,0.545098039216,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-90,"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":"frame","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[205.999,151.162],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[-100,-100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"frame","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-1.372],[0,0],[0,0],[1.367,0]],"o":[[-1.367,0],[0,0],[0,0],[0,-1.372],[0,0]],"v":[[-4.457,-1.74],[-6.933,0.746],[0.99,0.746],[6.933,0.746],[4.457,-1.74]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960784314,0.525490196078,0.545098039216,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"button2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[318.382,49.604],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"button2","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-1.372],[0,0],[0,0],[1.367,0]],"o":[[-1.367,0],[0,0],[0,0],[0,-1.372],[0,0]],"v":[[-10.894,-1.74],[-13.37,0.746],[0.495,0.746],[13.37,0.746],[10.894,-1.74]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960784314,0.525490196078,0.545098039216,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"button1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[276.958,49.604],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"button1","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":540,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Yellow Matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[205.998,151.162,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,-100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[190,308],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":10,"ix":4},"nm":"Rectangle Path 2","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"mm","mm":3,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-90,"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":"Highlight","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":540,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".yellow600","cl":"yellow600","tt":2,"tp":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[205.998,151.162,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,-100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[201.948,319.538],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"mm","mm":3,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.976470589638,0.670588254929,0,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.67],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":0,"s":[0]},{"i":{"x":[0.776],"y":[1]},"o":{"x":[0.165],"y":[0]},"t":23,"s":[100]},{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.33],"y":[0]},"t":460,"s":[100]},{"t":475,"s":[0]}],"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":-90,"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":"Highlight","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":540,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"screenMatte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[205.999,151.162,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,-100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[201.948,319.538],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-90,"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":"BG","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":540,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".grey100","cl":"grey100","parent":2,"tt":1,"tp":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.18,0.18,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":76,"s":[30,30,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":95,"s":[119,119,100]},{"i":{"x":[0.257,0.257,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":352,"s":[119,119,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":393,"s":[161,161,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.735,0.735,0.333],"y":[-0.008,-0.008,0]},"t":438,"s":[161,161,100]},{"t":478,"s":[30,30,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[13.974,5.25],[4.524,-21.75],[0.624,-34.65],[-0.576,-34.65],[-4.476,-21.75],[-14.076,5.25]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-11.676,-57.9],[11.574,-57.9],[51.924,49.5],[29.574,49.5],[20.574,23.85],[-20.526,23.85],[-29.526,49.5],[-51.876,49.5]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098039216,0.952941176471,0.956862745098,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,8],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[155,155],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":540,"st":0,"ct":1,"bm":0}],"markers":[]}
\ No newline at end of file
+{"v":"5.10.0","fr":60,"ip":0,"op":540,"w":412,"h":300,"nm":"Magnification_Tablet","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":2,"ty":3,"nm":"MoveA+Dots","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.351,"y":1},"o":{"x":0.167,"y":0.167},"t":170,"s":[206,150,0],"to":[4.167,-0.833,0],"ti":[-4.167,0.833,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":207,"s":[231,145,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.423,"y":1},"o":{"x":0.488,"y":0},"t":214,"s":[231,145,0],"to":[-0.833,5,0],"ti":[0.833,-5,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":247,"s":[226,175,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.735,"y":0.034},"t":438,"s":[226,175,0],"to":[-3.333,-4.167,0],"ti":[3.333,4.167,0]},{"t":478,"s":[206,150,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":540,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".yellow600","cl":"yellow600","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":146,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":155,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":270,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":279,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":325,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":334,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":465,"s":[85]},{"t":472,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":298,"s":[226,175,0],"to":[-0.5,-1.667,0],"ti":[0.5,1.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":305,"s":[223,165,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.257,"y":1},"o":{"x":0.333,"y":0},"t":352,"s":[223,165,0],"to":[1.667,-1.667,0],"ti":[-1.667,1.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":393,"s":[233,155,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.568,"y":0.036},"t":438,"s":[233,155,0],"to":[-3.833,0,0],"ti":[3.833,0,0]},{"t":478,"s":[210,155,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":146,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":163,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":270,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":279,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":325,"s":[13,13]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":334,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":445,"s":[19,19]},{"t":474,"s":[13,13]}],"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.976470588235,0.670588235294,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":438,"op":540,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".yellow600","cl":"yellow600","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":146,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":155,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":270,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":279,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":325,"s":[50]},{"t":334,"s":[85]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":298,"s":[0,0,0],"to":[-0.5,-1.667,0],"ti":[0.5,1.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":305,"s":[-3,-10,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.257,"y":1},"o":{"x":0.333,"y":0},"t":352,"s":[-3,-10,0],"to":[1.667,-1.667,0],"ti":[-1.667,1.667,0]},{"t":393,"s":[7,-20,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":146,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":163,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":270,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":279,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":325,"s":[13,13]},{"t":334,"s":[19,19]}],"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.976470588235,0.670588235294,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":438,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".yellow600","cl":"yellow600","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":49,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":143,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":157,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":270,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":279,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":325,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":334,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":465,"s":[85]},{"t":472,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[226,175,0],"to":[-5.333,0,0],"ti":[5.333,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":135,"s":[194,175,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":298,"s":[194,175,0],"to":[0.5,1.667,0],"ti":[-0.5,-1.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":305,"s":[197,185,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.257,"y":1},"o":{"x":0.333,"y":0},"t":352,"s":[197,185,0],"to":[-1.667,1.667,0],"ti":[1.667,-1.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":393,"s":[187,195,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.568,"y":0.019},"t":438,"s":[187,195,0],"to":[2.833,-6.667,0],"ti":[-2.833,6.667,0]},{"t":478,"s":[204,155,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":40,"s":[13,13]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":57,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":69,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":143,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":157,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":270,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":279,"s":[13,13]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":325,"s":[13,13]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":334,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":445,"s":[19,19]},{"t":474,"s":[13,13]}],"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.976470588235,0.670588235294,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":438,"op":540,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".yellow600","cl":"yellow600","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":49,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":143,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":157,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":270,"s":[85]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":279,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":325,"s":[50]},{"t":334,"s":[85]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":114,"s":[0,0,0],"to":[-5.333,0,0],"ti":[5.333,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":135,"s":[-32,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":298,"s":[-32,0,0],"to":[0.5,1.667,0],"ti":[-0.5,-1.667,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":305,"s":[-29,10,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.257,"y":1},"o":{"x":0.333,"y":0},"t":352,"s":[-29,10,0],"to":[-1.667,1.667,0],"ti":[1.667,-1.667,0]},{"t":393,"s":[-39,20,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":40,"s":[13,13]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":57,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":69,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":143,"s":[13,13]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":157,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":270,"s":[19,19]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":279,"s":[13,13]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":325,"s":[13,13]},{"t":334,"s":[19,19]}],"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.976470588235,0.670588235294,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":438,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".grey300","cl":"grey300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[205.999,150,0],"ix":2,"l":2},"a":{"a":0,"k":[205.999,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[201.948,319.538],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.854901969433,0.86274510622,0.878431379795,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-90,"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":"frame","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[205.999,151.162],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[-100,-100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"frame","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-1.372],[0,0],[0,0],[1.367,0]],"o":[[-1.367,0],[0,0],[0,0],[0,-1.372],[0,0]],"v":[[-4.457,-1.74],[-6.933,0.746],[0.99,0.746],[6.933,0.746],[4.457,-1.74]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901969433,0.86274510622,0.878431379795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"button2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[318.382,49.604],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"button2","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-1.372],[0,0],[0,0],[1.367,0]],"o":[[-1.367,0],[0,0],[0,0],[0,-1.372],[0,0]],"v":[[-10.894,-1.74],[-13.37,0.746],[0.495,0.746],[13.37,0.746],[10.894,-1.74]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901969433,0.86274510622,0.878431379795,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"button1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[276.958,49.604],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"button1","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":540,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".yellow600","cl":"yellow600","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.67],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":0,"s":[0]},{"i":{"x":[0.776],"y":[1]},"o":{"x":[0.165],"y":[0]},"t":23,"s":[100]},{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.33],"y":[0]},"t":460,"s":[100]},{"t":475,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[205.998,151.162,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,-100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[201.948,319.538],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"op","nm":"Offset Paths 1","a":{"a":0,"k":-3,"ix":1},"lj":1,"ml":{"a":0,"k":4,"ix":3},"ix":2,"mn":"ADBE Vector Filter - Offset","hd":false},{"ty":"st","c":{"a":0,"k":[0.976470589638,0.670588254929,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-90,"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":"Highlight","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":540,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"screenMatte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[205.999,151.162,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,-100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[201.948,319.538],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-90,"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":"BG","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":540,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".grey100","cl":"grey100","parent":2,"tt":1,"tp":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.18,0.18,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":76,"s":[30,30,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":95,"s":[119,119,100]},{"i":{"x":[0.257,0.257,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":352,"s":[119,119,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":393,"s":[161,161,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.735,0.735,0.333],"y":[-0.008,-0.008,0]},"t":438,"s":[161,161,100]},{"t":478,"s":[30,30,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[13.974,5.25],[4.524,-21.75],[0.624,-34.65],[-0.576,-34.65],[-4.476,-21.75],[-14.076,5.25]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-11.676,-57.9],[11.574,-57.9],[51.924,49.5],[29.574,49.5],[20.574,23.85],[-20.526,23.85],[-29.526,49.5],[-51.876,49.5]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098039216,0.952941176471,0.956862745098,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,8],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[155,155],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":540,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".black","cl":"black","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[205.999,151.162,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,-100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[201.948,319.538],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-90,"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":"BG","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":540,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".white","cl":"white","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,150,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[15.4,0],[0,0],[0,15.4],[0,0],[-15.4,0],[0,0],[0,-15.4],[0,0]],"o":[[0,0],[-15.4,0],[0,0],[0,-15.4],[0,0],[15.4,0],[0,0],[0,15.4]],"v":[[178,150],[-178,150],[-206,122],[-206,-122],[-178,-150],[178,-150],[206,-122],[206,122]],"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":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/values/config.xml b/res/values/config.xml
index 95957e6..07f6432 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -225,6 +225,10 @@
-->
<integer name="config_vibration_supported_intensity_levels">1</integer>
+ <!-- Whether or not to show Media vibration settings in the vibration and haptics screen.
+ Can be overridden for specific product builds if the target device does not support it -->
+ <bool name="config_media_vibration_supported">true</bool>
+
<!--
Whether or not the homepage should be powered by legacy suggestion (versus contextual cards)
Default to true as not all devices support contextual cards.
@@ -691,20 +695,4 @@
<!-- Whether auto data switching on secondary SIM enables cross-SIM calling on both SIMs. -->
<bool name="config_auto_data_switch_enables_cross_sim_calling">false</bool>
-
- <!-- The illustration for those screen are not in one of below type. This file should be a video in JSON format. -->
- <item name="a11y_timeout_banner" type="raw" product="default">@raw/accessibility_timeout_banner</item>
- <item name="a11y_timeout_banner" type="raw" product="tablet">@raw/accessibility_timeout_banner_tablet</item>
-
- <item name="a11y_shortcut_type_triple_tap" type="raw" product="default">@raw/accessibility_shortcut_type_triple_tap</item>
- <item name="a11y_shortcut_type_triple_tap" type="raw" product="tablet">@raw/accessibility_shortcut_type_triple_tap_tablet</item>
-
- <item name="a11y_color_inversion_banner" type="raw" product="default">@raw/accessibility_color_inversion_banner</item>
- <item name="a11y_color_inversion_banner" type="raw" product="tablet">@raw/accessibility_color_inversion_banner_tablet</item>
-
- <item name="a11y_magnification_banner" type="raw" product="default">@raw/accessibility_magnification_banner</item>
- <item name="a11y_magnification_banner" type="raw" product="tablet">@raw/accessibility_magnification_banner_tablet</item>
-
- <item name="a11y_extra_dim_banner" type="raw" product="default">@raw/extra_dim_banner</item>
- <item name="a11y_extra_dim_banner" type="raw" product="tablet">@raw/extra_dim_banner_tablet</item>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 5261d12..6c268aa 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -382,13 +382,13 @@
<!-- The subtitle of option's page of regional preferences for Temperature units, Calendar and First day of week. [CHAR LIMIT=NONE] -->
<string name="regional_preferences_option_page_sub_title">Apps will use your regional preferences where possible.</string>
<!-- The title of menu entry of Temperature unit preference. [CHAR LIMIT=50] -->
- <string name="temperature_preferences_title">Temperature units</string>
+ <string name="temperature_preferences_title">Temperature</string>
<!-- The title of the menu entry of Calendar type preference. [CHAR LIMIT=50] -->
<string name="calendar_preferences_title">Calendar</string>
<!-- The title of the menu entry of First day of week preference. [CHAR LIMIT=50] -->
<string name="first_day_of_week_preferences_title">First day of week</string>
<!-- The title of the menu entry of Numbers system preference. [CHAR LIMIT=50] -->
- <string name="numbers_preferences_title">Numbers</string>
+ <string name="numbers_preferences_title">Numbers preferences</string>
<!-- The summary of default string for each regional preference. [CHAR LIMIT=50] -->
<string name="default_string_of_regional_preference">Use app default</string>
<!-- The title of Celsius for preference of temperature unit. [CHAR LIMIT=50] -->
@@ -3341,6 +3341,24 @@
<!-- Header shown when the password needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
<string name="lockpassword_confirm_your_password_header_frp">Verify password</string>
+ <!-- Header shown when prompted for remote device credential validation. [CHAR LIMIT=17] -->
+ <string name="lockpassword_remote_validation_header">Verify it\u0027s you</string>
+
+ <!-- Details shown when pattern is prompted for remote device credential validation. [CHAR LIMIT=100] -->
+ <string name="lockpassword_remote_validation_pattern_details">Enter your other device\u0027s pattern to securely transfer Google Accounts, settings, and more. Your pattern is encrypted.</string>
+ <!-- Details shown when PIN is prompted for remote device credential validation. [CHAR LIMIT=100] -->
+ <string name="lockpassword_remote_validation_pin_details">Enter your other device\u0027s PIN to securely transfer Google Accounts, settings, and more. Your PIN is encrypted.</string>
+ <!-- Details shown when password is prompted for remote device credential validation. [CHAR LIMIT=100] -->
+ <string name="lockpassword_remote_validation_password_details">Enter your other device\u0027s password to securely transfer Google Accounts, settings, and more. Your password is encrypted.</string>
+
+ <!-- Checkbox label to set pattern as new screen lock if remote device credential validation succeeds. [CHAR LIMIT=43] -->
+ <string name="lockpassword_remote_validation_set_pattern_as_screenlock">Also use pattern to unlock this device</string>
+ <!-- Checkbox label to set PIN as new screen lock if remote device credential validation succeeds. [CHAR LIMIT=43] -->
+ <string name="lockpassword_remote_validation_set_pin_as_screenlock">Also use PIN to unlock this device</string>
+ <!-- Checkbox label to set password as new screen lock if remote device credential validation succeeds. [CHAR LIMIT=43] -->
+ <string name="lockpassword_remote_validation_set_password_as_screenlock">Also use password to unlock this device</string>
+
+
<!-- Security & location settings screen, change security method screen instruction if user
enters incorrect PIN [CHAR LIMIT=30] -->
<string name="lockpassword_invalid_pin">Wrong PIN</string>
@@ -6968,6 +6986,9 @@
<!-- Sound: Title for the option managing notification volume. [CHAR LIMIT=30] -->
<string name="notification_volume_option_title">Notification volume</string>
+ <!-- Sound: Summary for when notification volume is disabled. [CHAR LIMIT=100] -->
+ <string name="notification_volume_disabled_summary">Unavailable because ring is muted</string>
+
<!-- Sound: Title for the option defining the phone ringtone. [CHAR LIMIT=30] -->
<string name="ringtone_title">Phone ringtone</string>
@@ -10873,10 +10894,13 @@
<!-- [CHAR LIMIT=32] Name of MTE page in "Developer Options" and heading of page. -->
<string name="development_memtag_page_title">Memory Tagging Extension</string>
- <!-- [CHAR LIMIT=52] Label for button to turn on / off MTE protection.-->
+ <!-- [CHAR LIMIT=NONE] Explanation shown under heading of the page.-->
<string name="development_memtag_intro">Memory Tagging Extension (MTE) makes it easier to find memory safety issues in your app and make native code in it more secure.</string>
+ <!-- [CHAR LIMIT=NONE] Further explanation shown at the bottom of the page.-->
<string name="development_memtag_footer">Turning on MTE might cause slower device performance.</string>
+ <!-- [CHAR LIMIT=NONE] String for link to learn more about MTE.-->
<string name="development_memtag_learn_more">Learn more about MTE</string>
+ <!-- [CHAR LIMIT=52] Label for button to turn on / off MTE protection.-->
<string name="development_memtag_toggle">Enable MTE until you turn it off</string>
<!-- [CHAR LIMIT=NONE] Message shown in dialog prompting user to reboot device to turn on MTE.-->
<string name="development_memtag_reboot_message_on">You\u0027ll need to restart your device to turn on MTE.</string>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 42ccf0d..18fc2c1 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -322,7 +322,6 @@
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginStart">?android:attr/listPreferredItemPaddingStart</item>
- <item name="android:minHeight">?android:attr/listPreferredItemHeight</item>
<item name="android:textAppearance">?android:attr/textAppearanceListItem</item>
<item name="android:gravity">center_vertical</item>
</style>
diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml
index a84b0ae..7181e80 100644
--- a/res/xml/sound_settings.xml
+++ b/res/xml/sound_settings.xml
@@ -86,8 +86,8 @@
android:icon="@drawable/ic_notifications"
android:title="@string/notification_volume_option_title"
android:order="-150"
- settings:controller=
- "com.android.settings.notification.NotificationVolumePreferenceController"/>
+ settings:controller="com.android.settings.notification.NotificationVolumePreferenceController"
+ settings:unavailableSliceSubtitle="@string/notification_volume_disabled_summary"/>
<!-- Alarm volume -->
<com.android.settings.notification.VolumeSeekBarPreference
diff --git a/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceController.java
index 1cde1b3..22552ea 100644
--- a/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceController.java
@@ -122,7 +122,7 @@
: R.drawable.a11y_button_preview_two_finger));
} else {
mIllustrationPreference.setImageDrawable(
- mContext.getDrawable(R.drawable.accessibility_button_navigation));
+ mContext.getDrawable(R.drawable.a11y_button_navigation));
}
}
diff --git a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
index 1873cf0..528801f 100644
--- a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
+++ b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
@@ -230,8 +230,8 @@
final ImageView imageView = view.findViewById(R.id.image);
final int gestureSettingsImageResId =
- isTouchExploreEnabled ? R.drawable.illustration_accessibility_gesture_three_finger
- : R.drawable.illustration_accessibility_gesture_two_finger;
+ isTouchExploreEnabled ? R.drawable.a11y_gesture_navigation_three_finger_preview
+ : R.drawable.a11y_gesture_navigation_two_finger_preview;
imageView.setImageResource(gestureSettingsImageResId);
final TextView textView = view.findViewById(R.id.gesture_tutorial_message);
diff --git a/src/com/android/settings/accessibility/MediaVibrationIntensityPreferenceController.java b/src/com/android/settings/accessibility/MediaVibrationIntensityPreferenceController.java
index 0678e58..36e7d4c 100644
--- a/src/com/android/settings/accessibility/MediaVibrationIntensityPreferenceController.java
+++ b/src/com/android/settings/accessibility/MediaVibrationIntensityPreferenceController.java
@@ -20,6 +20,8 @@
import android.os.VibrationAttributes;
import android.provider.Settings;
+import com.android.settings.R;
+
/** Preference controller for am vibration intensity */
public class MediaVibrationIntensityPreferenceController
extends VibrationIntensityPreferenceController {
@@ -46,6 +48,7 @@
@Override
public int getAvailabilityStatus() {
- return AVAILABLE;
+ return mContext.getResources().getBoolean(R.bool.config_media_vibration_supported) ?
+ AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
}
diff --git a/src/com/android/settings/accessibility/MediaVibrationTogglePreferenceController.java b/src/com/android/settings/accessibility/MediaVibrationTogglePreferenceController.java
index f7b0e39..c663ad4 100644
--- a/src/com/android/settings/accessibility/MediaVibrationTogglePreferenceController.java
+++ b/src/com/android/settings/accessibility/MediaVibrationTogglePreferenceController.java
@@ -19,6 +19,7 @@
import android.content.Context;
import com.android.settings.accessibility.MediaVibrationIntensityPreferenceController.MediaVibrationPreferenceConfig;
+import com.android.settings.R;
/** Preference controller for alarm vibration with only a toggle for on/off states. */
public class MediaVibrationTogglePreferenceController extends VibrationTogglePreferenceController {
@@ -29,6 +30,7 @@
@Override
public int getAvailabilityStatus() {
- return AVAILABLE;
+ return mContext.getResources().getBoolean(R.bool.config_media_vibration_supported) ?
+ AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
}
diff --git a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollHelper.java b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollHelper.java
index f7f138c..70fdbf0 100644
--- a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollHelper.java
+++ b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollHelper.java
@@ -142,7 +142,10 @@
setRetainInstance(true);
}
- void onEnrollmentProgress(int totalSteps, int remaining) {
+ /**
+ * Called when a enroll progress update
+ */
+ public void onEnrollmentProgress(int totalSteps, int remaining) {
if (mTotalSteps == -1) {
mTotalSteps = totalSteps;
}
@@ -161,25 +164,37 @@
}
}
- void onEnrollmentHelp() {
+ /**
+ * Called when a receive error has been encountered during enrollment.
+ */
+ public void onEnrollmentHelp() {
if (mListener != null) {
mListener.onEnrollmentHelp(mRemainingSteps, mTotalSteps);
}
}
- void onAcquired(boolean isAcquiredGood) {
+ /**
+ * Called when a fingerprint image has been acquired, but wasn't processed yet.
+ */
+ public void onAcquired(boolean isAcquiredGood) {
if (mListener != null && mTotalSteps != -1) {
mListener.onAcquired(isAcquiredGood && animateIfLastStep());
}
}
- void onPointerDown(int sensorId) {
+ /**
+ * Called when pointer down
+ */
+ public void onPointerDown(int sensorId) {
if (mListener != null) {
mListener.onPointerDown(sensorId);
}
}
- void onPointerUp(int sensorId) {
+ /**
+ * Called when pointer up
+ */
+ public void onPointerUp(int sensorId) {
if (mListener != null) {
mListener.onPointerUp(sensorId);
}
diff --git a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollView.java b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollView.java
index 96b49aa..6e42059 100644
--- a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollView.java
+++ b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollView.java
@@ -108,7 +108,10 @@
return mOverlayParams;
}
- void setOverlayParams(UdfpsOverlayParams params) {
+ /**
+ * Set UdfpsOverlayParams
+ */
+ public void setOverlayParams(UdfpsOverlayParams params) {
mOverlayParams = params;
post(() -> {
@@ -121,7 +124,10 @@
});
}
- void setEnrollHelper(UdfpsEnrollHelper enrollHelper) {
+ /**
+ * Set UdfpsEnrollHelper
+ */
+ public void setEnrollHelper(UdfpsEnrollHelper enrollHelper) {
mFingerprintDrawable.setEnrollHelper(enrollHelper);
enrollHelper.setListener(this);
}
@@ -193,6 +199,8 @@
params.height = rotatedBounds.height() + 2 * getPaddingX();
params.width = rotatedBounds.width() + 2 * getPaddingY();
setLayoutParams(params);
+
+
}
private void onFingerDown() {
diff --git a/src/com/android/settings/biometrics2/data/repository/AccessibilityRepository.java b/src/com/android/settings/biometrics2/data/repository/AccessibilityRepository.java
index 5353f89..20d7f1f 100644
--- a/src/com/android/settings/biometrics2/data/repository/AccessibilityRepository.java
+++ b/src/com/android/settings/biometrics2/data/repository/AccessibilityRepository.java
@@ -16,8 +16,12 @@
package com.android.settings.biometrics2.data.repository;
+import android.view.View;
+import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
+import androidx.annotation.NonNull;
+
/**
* This repository is used to call all APIs in {@link AccessibilityManager}
*/
@@ -44,4 +48,30 @@
public boolean isEnabled() {
return mAccessibilityManager.isEnabled();
}
+
+ /**
+ * Sends an {@link AccessibilityEvent}.
+ *
+ * @param event The event to send.
+ *
+ * @throws IllegalStateException if accessibility is not enabled.
+ *
+ * <strong>Note:</strong> The preferred mechanism for sending custom accessibility
+ * events is through calling
+ * {@link android.view.ViewParent#requestSendAccessibilityEvent(View, AccessibilityEvent)}
+ * instead of this method to allow predecessors to augment/filter events sent by
+ * their descendants.
+ */
+ public void sendAccessibilityEvent(@NonNull AccessibilityEvent event) {
+ mAccessibilityManager.sendAccessibilityEvent(event);
+ }
+
+ /**
+ * Returns if the touch exploration in the system is enabled.
+ *
+ * @return True if touch exploration is enabled, false otherwise.
+ */
+ public boolean isTouchExplorationEnabled() {
+ return mAccessibilityManager.isTouchExplorationEnabled();
+ }
}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.java
index 842bf42..74ae6fb 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.java
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.java
@@ -410,12 +410,6 @@
}
}
- @Override
- public void onDestroy() {
- // TODO stopListenOrientationEvent();
- super.onDestroy();
- }
-
private void animateProgress(int progress) {
if (mProgressAnim != null) {
mProgressAnim.cancel();
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.java
index 7d2ef9f..be18b9c 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.java
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.java
@@ -27,35 +27,33 @@
import android.content.res.Configuration;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
-import android.graphics.drawable.Animatable2;
-import android.graphics.drawable.AnimatedVectorDrawable;
-import android.graphics.drawable.Drawable;
+import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
+import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.AnimationUtils;
import android.view.animation.Interpolator;
import android.widget.ProgressBar;
-import android.widget.TextView;
+import android.widget.RelativeLayout;
+import androidx.activity.OnBackPressedCallback;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
-import androidx.transition.Transition;
-import androidx.transition.TransitionSet;
import com.android.settings.R;
+import com.android.settings.biometrics.fingerprint.FingerprintErrorDialog;
import com.android.settings.biometrics2.ui.model.EnrollmentProgress;
import com.android.settings.biometrics2.ui.model.EnrollmentStatusMessage;
-import com.android.settings.biometrics2.ui.viewmodel.DeviceRotationViewModel;
import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel;
import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel;
-import com.android.settingslib.display.DisplayDensityUtils;
import com.airbnb.lottie.LottieAnimationView;
import com.airbnb.lottie.LottieCompositionFactory;
@@ -73,8 +71,10 @@
public class FingerprintEnrollEnrollingSfpsFragment extends Fragment {
private static final String TAG = FingerprintEnrollEnrollingSfpsFragment.class.getSimpleName();
+ private static final boolean DEBUG = false;
private static final int PROGRESS_BAR_MAX = 10000;
+ private static final long ANIMATION_DURATION = 250L;
private static final long ICON_TOUCH_DURATION_UNTIL_DIALOG_SHOWN = 500;
private static final int ICON_TOUCH_COUNT_SHOW_UNTIL_DIALOG_SHOWN = 3;
@@ -86,101 +86,75 @@
private static final int SFPS_STAGE_RIGHT_EDGE = 4;
private FingerprintEnrollEnrollingViewModel mEnrollingViewModel;
- private DeviceRotationViewModel mRotationViewModel;
private FingerprintEnrollProgressViewModel mProgressViewModel;
private Interpolator mFastOutSlowInInterpolator;
- private Interpolator mLinearOutSlowInInterpolator;
- private Interpolator mFastOutLinearInInterpolator;
- private boolean mAnimationCancelled;
private GlifLayout mView;
private ProgressBar mProgressBar;
private ObjectAnimator mProgressAnim;
- private TextView mErrorText;
- private FooterBarMixin mFooterBarMixin;
- private AnimatedVectorDrawable mIconAnimationDrawable;
- private AnimatedVectorDrawable mIconBackgroundBlinksDrawable;
private LottieAnimationView mIllustrationLottie;
- private boolean mShouldShowLottie;
- private boolean mIsAccessibilityEnabled;
private boolean mHaveShownSfpsNoAnimationLottie;
private boolean mHaveShownSfpsCenterLottie;
private boolean mHaveShownSfpsTipLottie;
private boolean mHaveShownSfpsLeftEdgeLottie;
private boolean mHaveShownSfpsRightEdgeLottie;
+ private ObjectAnimator mHelpAnimation;
+ private int mIconTouchCount;
private final View.OnClickListener mOnSkipClickListener =
(v) -> mEnrollingViewModel.onCancelledDueToOnSkipPressed();
+
private final Observer<EnrollmentProgress> mProgressObserver = progress -> {
- // TODO
- };
- private final Observer<EnrollmentStatusMessage> mHelpMessageObserver = helpMessage -> {
- // TODO
- };
- private final Observer<EnrollmentStatusMessage> mErrorMessageObserver = errorMessage -> {
- // TODO
- };
- private final Observer<Boolean> mAcquireObserver = isAcquiredGood -> {
- // TODO
- };
- private final Observer<Integer> mPointerDownObserver = sensorId -> {
- // TODO
- };
- private final Observer<Integer> mPointerUpObserver = sensorId -> {
- // TODO
+ if (DEBUG) {
+ Log.d(TAG, "mProgressObserver(" + progress + ")");
+ }
+ if (progress != null && progress.getSteps() >= 0) {
+ onEnrollmentProgressChange(progress);
+ }
};
- private int mIconTouchCount;
+ private final Observer<EnrollmentStatusMessage> mHelpMessageObserver = helpMessage -> {
+ if (DEBUG) {
+ Log.d(TAG, "mHelpMessageObserver(" + helpMessage + ")");
+ }
+ if (helpMessage != null) {
+ onEnrollmentHelp(helpMessage);
+ }
+ };
+
+ private final Observer<EnrollmentStatusMessage> mErrorMessageObserver = errorMessage -> {
+ if (DEBUG) {
+ Log.d(TAG, "mErrorMessageObserver(" + errorMessage + ")");
+ }
+ if (errorMessage != null) {
+ onEnrollmentError(errorMessage);
+ }
+ };
@Override
public void onAttach(@NonNull Context context) {
final FragmentActivity activity = getActivity();
final ViewModelProvider provider = new ViewModelProvider(activity);
mEnrollingViewModel = provider.get(FingerprintEnrollEnrollingViewModel.class);
- mRotationViewModel = provider.get(DeviceRotationViewModel.class);
mProgressViewModel = provider.get(FingerprintEnrollProgressViewModel.class);
super.onAttach(context);
- final TransitionSet transitionSet = (TransitionSet) getSharedElementEnterTransition();
- if (transitionSet != null) {
- transitionSet.addListener(new Transition.TransitionListener() {
- @Override
- public void onTransitionStart(@NonNull Transition transition) {
-
- }
-
- @Override
- public void onTransitionEnd(@NonNull Transition transition) {
- transition.removeListener(this);
- mAnimationCancelled = false;
- startIconAnimation();
- }
-
- @Override
- public void onTransitionCancel(@NonNull Transition transition) {
-
- }
-
- @Override
- public void onTransitionPause(@NonNull Transition transition) {
-
- }
-
- @Override
- public void onTransitionResume(@NonNull Transition transition) {
-
- }
- });
- }
+ requireActivity().getOnBackPressedDispatcher().addCallback(new OnBackPressedCallback(true) {
+ @Override
+ public void handleOnBackPressed() {
+ setEnabled(false);
+ mEnrollingViewModel.setOnBackPressed();
+ cancelEnrollment();
+ }
+ });
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mEnrollingViewModel.restoreSavedState(savedInstanceState);
- mIsAccessibilityEnabled = mEnrollingViewModel.isAccessibilityEnabled();
}
@Override
@@ -193,6 +167,7 @@
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mView = initSfpsLayout(inflater, container);
+ maybeHideSfpsText(getActivity().getResources().getConfiguration());
return mView;
}
@@ -204,13 +179,22 @@
new GlifLayoutHelper(activity, containView).setDescriptionText(
getString(R.string.security_settings_fingerprint_enroll_start_message));
- mShouldShowLottie = shouldShowLottie(); // Move shouldShowLottie into updateOrientation()?
+ // setHelpAnimation()
+ final float translationX = 40;
+ final int duration = 550;
+ final RelativeLayout progressLottieLayout = containView.findViewById(R.id.progress_lottie);
+ mHelpAnimation = ObjectAnimator.ofFloat(progressLottieLayout,
+ "translationX" /* propertyName */,
+ 0, translationX, -1 * translationX, translationX, 0f);
+ mHelpAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
+ mHelpAnimation.setDuration(duration);
+ mHelpAnimation.setAutoCancel(false);
+
mIllustrationLottie = containView.findViewById(R.id.illustration_lottie);
- mErrorText = containView.findViewById(R.id.error_text);
mProgressBar = containView.findViewById(R.id.fingerprint_progress_bar);
- mFooterBarMixin = containView.getMixin(FooterBarMixin.class);
- mFooterBarMixin.setSecondaryButton(
+ final FooterBarMixin footerBarMixin = containView.getMixin(FooterBarMixin.class);
+ footerBarMixin.setSecondaryButton(
new FooterButton.Builder(activity)
.setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
.setListener(mOnSkipClickListener)
@@ -221,10 +205,6 @@
mFastOutSlowInInterpolator = AnimationUtils.loadInterpolator(
activity, android.R.interpolator.fast_out_slow_in);
- mLinearOutSlowInInterpolator = AnimationUtils.loadInterpolator(
- activity, android.R.interpolator.linear_out_slow_in);
- mFastOutLinearInInterpolator = AnimationUtils.loadInterpolator(
- activity, android.R.interpolator.fast_out_linear_in);
mProgressBar.setProgressBackgroundTintMode(PorterDuff.Mode.SRC);
mProgressBar.setOnTouchListener((v, event) -> {
@@ -243,7 +223,6 @@
return true;
});
- maybeHideSfpsText(activity.getResources().getConfiguration());
return containView;
}
@@ -251,46 +230,130 @@
public void onStart() {
super.onStart();
startEnrollment();
- updateProgress(false /* animate */);
- updateTitleAndDescription(new GlifLayoutHelper(getActivity(), mView));
- if (true /* TODO mRestoring */) {
- startIconAnimation();
- }
+ updateProgress(false /* animate */, mProgressViewModel.getProgressLiveData().getValue());
+ updateTitleAndDescription();
}
@Override
public void onStop() {
- stopIconAnimation();
- mProgressViewModel.getProgressLiveData().removeObserver(mProgressObserver);
- mProgressViewModel.getHelpMessageLiveData().removeObserver(mHelpMessageObserver);
- mProgressViewModel.getErrorMessageLiveData().removeObserver(mErrorMessageObserver);
- mProgressViewModel.getAcquireLiveData().removeObserver(mAcquireObserver);
- mProgressViewModel.getPointerDownLiveData().removeObserver(mPointerDownObserver);
- mProgressViewModel.getPointerUpLiveData().removeObserver(mPointerUpObserver);
- if (!getActivity().isChangingConfigurations()) {
+ removeEnrollmentObservers();
+ if (!getActivity().isChangingConfigurations() && mProgressViewModel.isEnrolling()) {
mProgressViewModel.cancelEnrollment();
}
super.onStop();
}
+ private void removeEnrollmentObservers() {
+ preRemoveEnrollmentObservers();
+ mProgressViewModel.getErrorMessageLiveData().removeObserver(mErrorMessageObserver);
+ }
+
+ private void preRemoveEnrollmentObservers() {
+ mProgressViewModel.getProgressLiveData().removeObserver(mProgressObserver);
+ mProgressViewModel.getHelpMessageLiveData().removeObserver(mHelpMessageObserver);
+ }
+
+ private void cancelEnrollment() {
+ preRemoveEnrollmentObservers();
+ mProgressViewModel.cancelEnrollment();
+ }
+
private void startEnrollment() {
+ final boolean startResult = mProgressViewModel.startEnrollment(ENROLL_ENROLL);
+ if (!startResult) {
+ Log.e(TAG, "startEnrollment(), failed");
+ }
mProgressViewModel.getProgressLiveData().observe(this, mProgressObserver);
mProgressViewModel.getHelpMessageLiveData().observe(this, mHelpMessageObserver);
mProgressViewModel.getErrorMessageLiveData().observe(this, mErrorMessageObserver);
- mProgressViewModel.getAcquireLiveData().observe(this, mAcquireObserver);
- mProgressViewModel.getPointerDownLiveData().observe(this, mPointerDownObserver);
- mProgressViewModel.getPointerUpLiveData().observe(this, mPointerUpObserver);
- mProgressViewModel.startEnrollment(ENROLL_ENROLL);
}
- private void updateProgress(boolean animate) {
+ private void configureEnrollmentStage(CharSequence description, @RawRes int lottie) {
+ new GlifLayoutHelper(getActivity(), mView).setDescriptionText(description);
+ LottieCompositionFactory.fromRawRes(getActivity(), lottie)
+ .addListener((c) -> {
+ mIllustrationLottie.setComposition(c);
+ mIllustrationLottie.setVisibility(View.VISIBLE);
+ mIllustrationLottie.playAnimation();
+ });
+ }
+
+ private int getCurrentSfpsStage() {
+ EnrollmentProgress progressLiveData = mProgressViewModel.getProgressLiveData().getValue();
+
+ if (progressLiveData == null) {
+ return STAGE_UNKNOWN;
+ }
+
+ final int progressSteps = progressLiveData.getSteps() - progressLiveData.getRemaining();
+ if (progressSteps < getStageThresholdSteps(0)) {
+ return SFPS_STAGE_NO_ANIMATION;
+ } else if (progressSteps < getStageThresholdSteps(1)) {
+ return SFPS_STAGE_CENTER;
+ } else if (progressSteps < getStageThresholdSteps(2)) {
+ return SFPS_STAGE_FINGERTIP;
+ } else if (progressSteps < getStageThresholdSteps(3)) {
+ return SFPS_STAGE_LEFT_EDGE;
+ } else {
+ return SFPS_STAGE_RIGHT_EDGE;
+ }
+ }
+
+ private void onEnrollmentHelp(@NonNull EnrollmentStatusMessage helpMessage) {
+ final CharSequence helpStr = helpMessage.getStr();
+ if (!TextUtils.isEmpty(helpStr)) {
+ showError(helpStr);
+ }
+ }
+
+ private void onEnrollmentError(@NonNull EnrollmentStatusMessage errorMessage) {
+ removeEnrollmentObservers();
+
+ if (mEnrollingViewModel.getOnBackPressed()
+ && errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
+ mEnrollingViewModel.onCancelledDueToOnBackPressed();
+ } else if (mEnrollingViewModel.getOnSkipPressed()
+ && errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
+ mEnrollingViewModel.onCancelledDueToOnSkipPressed();
+ } else {
+ final int errMsgId = errorMessage.getMsgId();
+ mEnrollingViewModel.showErrorDialog(
+ new FingerprintEnrollEnrollingViewModel.ErrorDialogData(
+ getString(FingerprintErrorDialog.getErrorMessage(errMsgId)),
+ getString(FingerprintErrorDialog.getErrorTitle(errMsgId)),
+ errMsgId
+ ));
+ mProgressViewModel.cancelEnrollment();
+ }
+ }
+
+ private void announceEnrollmentProgress(CharSequence announcement) {
+ mEnrollingViewModel.sendAccessibilityEvent(announcement);
+ }
+
+ private void onEnrollmentProgressChange(@NonNull EnrollmentProgress progress) {
+ updateProgress(true /* animate */, progress);
+ if (mEnrollingViewModel.isAccessibilityEnabled()) {
+ final int percent = (int) (((float) (progress.getSteps() - progress.getRemaining())
+ / (float) progress.getSteps()) * 100);
+
+ CharSequence announcement = getString(
+ R.string.security_settings_sfps_enroll_progress_a11y_message, percent);
+ announceEnrollmentProgress(announcement);
+
+ mIllustrationLottie.setContentDescription(
+ getString(R.string.security_settings_sfps_animation_a11y_label, percent)
+ );
+ }
+ updateTitleAndDescription();
+ }
+
+ private void updateProgress(boolean animate, @NonNull EnrollmentProgress enrollmentProgress) {
if (!mProgressViewModel.isEnrolling()) {
Log.d(TAG, "Enrollment not started yet");
return;
}
- final EnrollmentProgress enrollmentProgress =
- mProgressViewModel.getProgressLiveData().getValue();
final int progress = getProgress(enrollmentProgress);
// Only clear the error when progress has been made.
// TODO (b/234772728) Add tests.
@@ -318,19 +381,43 @@
return PROGRESS_BAR_MAX * displayProgress / (progress.getSteps() + 1);
}
+ private void showError(CharSequence error) {
+ mView.setHeaderText(error);
+ mView.getHeaderTextView().setContentDescription(error);
+ new GlifLayoutHelper(getActivity(), mView).setDescriptionText("");
+ if (!mHelpAnimation.isRunning()) {
+ mHelpAnimation.start();
+ }
+ applySfpsErrorDynamicColors(true);
+ if (isResumed() && mEnrollingViewModel.isAccessibilityEnabled()) {
+ mEnrollingViewModel.vibrateError(getClass().getSimpleName() + "::showError");
+ }
+ }
+
private void clearError() {
applySfpsErrorDynamicColors(false);
}
+ private void animateProgress(int progress) {
+ if (mProgressAnim != null) {
+ mProgressAnim.cancel();
+ }
+ ObjectAnimator anim = ObjectAnimator.ofInt(mProgressBar, "progress",
+ mProgressBar.getProgress(), progress);
+ anim.addListener(mProgressAnimationListener);
+ anim.setInterpolator(mFastOutSlowInInterpolator);
+ anim.setDuration(ANIMATION_DURATION);
+ anim.start();
+ mProgressAnim = anim;
+ }
+
/**
* Applies dynamic colors corresponding to showing or clearing errors on the progress bar
* and finger lottie for SFPS
*/
private void applySfpsErrorDynamicColors(boolean isError) {
applyProgressBarDynamicColor(isError);
- if (mIllustrationLottie != null) {
- applyLottieDynamicColor(isError);
- }
+ applyLottieDynamicColor(isError);
}
private void applyProgressBarDynamicColor(boolean isError) {
@@ -358,36 +445,39 @@
mIllustrationLottie.invalidate();
}
- @Override
- public void onDestroy() {
- // TODO stopListenOrientationEvent();
- super.onDestroy();
- }
+ private int getStageThresholdSteps(int index) {
+ final EnrollmentProgress progressLiveData =
+ mProgressViewModel.getProgressLiveData().getValue();
- private void animateProgress(int progress) {
- if (mProgressAnim != null) {
- mProgressAnim.cancel();
+ if (progressLiveData == null || progressLiveData.getSteps() == -1) {
+ Log.w(TAG, "getStageThresholdSteps: Enrollment not started yet");
+ return 1;
}
- ObjectAnimator anim = ObjectAnimator.ofInt(mProgressBar, "progress",
- mProgressBar.getProgress(), progress);
- anim.addListener(mProgressAnimationListener);
- anim.setInterpolator(mFastOutSlowInInterpolator);
- anim.setDuration(250);
- anim.start();
- mProgressAnim = anim;
+ return Math.round(progressLiveData.getSteps()
+ * mEnrollingViewModel.getEnrollStageThreshold(index));
}
- private void updateTitleAndDescription(@NonNull GlifLayoutHelper glifLayoutHelper) {
- if (mIsAccessibilityEnabled) {
+ private void updateTitleAndDescription() {
+ final GlifLayoutHelper glifLayoutHelper = new GlifLayoutHelper(getActivity(), mView);
+ if (mEnrollingViewModel.isAccessibilityEnabled()) {
mEnrollingViewModel.clearTalkback();
glifLayoutHelper.getGlifLayout().getDescriptionTextView().setAccessibilityLiveRegion(
View.ACCESSIBILITY_LIVE_REGION_POLITE);
}
- switch (getCurrentSfpsStage()) {
+ final int stage = getCurrentSfpsStage();
+ if (DEBUG) {
+ Log.d(TAG, "updateTitleAndDescription, stage:" + stage
+ + ", noAnimation:" + mHaveShownSfpsNoAnimationLottie
+ + ", center:" + mHaveShownSfpsCenterLottie
+ + ", tip:" + mHaveShownSfpsTipLottie
+ + ", leftEdge:" + mHaveShownSfpsLeftEdgeLottie
+ + ", rightEdge:" + mHaveShownSfpsRightEdgeLottie);
+ }
+ switch (stage) {
case SFPS_STAGE_NO_ANIMATION:
glifLayoutHelper.setHeaderText(
R.string.security_settings_fingerprint_enroll_repeat_title);
- if (!mHaveShownSfpsNoAnimationLottie && mIllustrationLottie != null) {
+ if (!mHaveShownSfpsNoAnimationLottie) {
mHaveShownSfpsNoAnimationLottie = true;
mIllustrationLottie.setContentDescription(
getString(
@@ -405,7 +495,7 @@
case SFPS_STAGE_CENTER:
glifLayoutHelper.setHeaderText(
R.string.security_settings_sfps_enroll_finger_center_title);
- if (!mHaveShownSfpsCenterLottie && mIllustrationLottie != null) {
+ if (!mHaveShownSfpsCenterLottie) {
mHaveShownSfpsCenterLottie = true;
configureEnrollmentStage(
getString(R.string.security_settings_sfps_enroll_start_message),
@@ -417,7 +507,7 @@
case SFPS_STAGE_FINGERTIP:
glifLayoutHelper.setHeaderText(
R.string.security_settings_sfps_enroll_fingertip_title);
- if (!mHaveShownSfpsTipLottie && mIllustrationLottie != null) {
+ if (!mHaveShownSfpsTipLottie) {
mHaveShownSfpsTipLottie = true;
configureEnrollmentStage("", R.raw.sfps_lottie_tip);
}
@@ -426,7 +516,7 @@
case SFPS_STAGE_LEFT_EDGE:
glifLayoutHelper.setHeaderText(
R.string.security_settings_sfps_enroll_left_edge_title);
- if (!mHaveShownSfpsLeftEdgeLottie && mIllustrationLottie != null) {
+ if (!mHaveShownSfpsLeftEdgeLottie) {
mHaveShownSfpsLeftEdgeLottie = true;
configureEnrollmentStage("", R.raw.sfps_lottie_left_edge);
}
@@ -435,7 +525,7 @@
case SFPS_STAGE_RIGHT_EDGE:
glifLayoutHelper.setHeaderText(
R.string.security_settings_sfps_enroll_right_edge_title);
- if (!mHaveShownSfpsRightEdgeLottie && mIllustrationLottie != null) {
+ if (!mHaveShownSfpsRightEdgeLottie) {
mHaveShownSfpsRightEdgeLottie = true;
configureEnrollmentStage("", R.raw.sfps_lottie_right_edge);
}
@@ -460,7 +550,38 @@
}
}
- private void maybeHideSfpsText(@android.annotation.NonNull Configuration newConfig) {
+ private void showIconTouchDialog() {
+ mIconTouchCount = 0;
+ //TODO EnrollingActivity should observe live data and add dialog fragment
+ mEnrollingViewModel.onIconTouchDialogShow();
+ }
+
+ private final Runnable mShowDialogRunnable = () -> showIconTouchDialog();
+
+ private final Animator.AnimatorListener mProgressAnimationListener =
+ new Animator.AnimatorListener() {
+
+ @Override
+ public void onAnimationStart(Animator animation) { }
+
+ @Override
+ public void onAnimationRepeat(Animator animation) { }
+
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ if (mProgressBar.getProgress() >= PROGRESS_BAR_MAX) {
+ mProgressBar.postDelayed(mDelayedFinishRunnable, ANIMATION_DURATION);
+ }
+ }
+
+ @Override
+ public void onAnimationCancel(Animator animation) { }
+ };
+
+ // Give the user a chance to see progress completed before jumping to the next stage.
+ private final Runnable mDelayedFinishRunnable = () -> mEnrollingViewModel.onEnrollingDone();
+
+ private void maybeHideSfpsText(@NonNull Configuration newConfig) {
final HeaderMixin headerMixin = ((GlifLayout) mView).getMixin(HeaderMixin.class);
final DescriptionMixin descriptionMixin = ((GlifLayout) mView).getMixin(
DescriptionMixin.class);
@@ -480,137 +601,4 @@
}
}
-
- private int getCurrentSfpsStage() {
- EnrollmentProgress progressLiveData = mProgressViewModel.getProgressLiveData().getValue();
-
- if (progressLiveData == null || progressLiveData.getSteps() == -1) {
- return STAGE_UNKNOWN;
- }
-
- final int progressSteps = progressLiveData.getSteps() - progressLiveData.getRemaining();
- if (progressSteps < getStageThresholdSteps(0)) {
- return SFPS_STAGE_NO_ANIMATION;
- } else if (progressSteps < getStageThresholdSteps(1)) {
- return SFPS_STAGE_CENTER;
- } else if (progressSteps < getStageThresholdSteps(2)) {
- return SFPS_STAGE_FINGERTIP;
- } else if (progressSteps < getStageThresholdSteps(3)) {
- return SFPS_STAGE_LEFT_EDGE;
- } else {
- return SFPS_STAGE_RIGHT_EDGE;
- }
- }
-
- private int getStageThresholdSteps(int index) {
- final EnrollmentProgress progressLiveData =
- mProgressViewModel.getProgressLiveData().getValue();
-
- if (progressLiveData == null || progressLiveData.getSteps() == -1) {
- Log.w(TAG, "getStageThresholdSteps: Enrollment not started yet");
- return 1;
- }
- return Math.round(progressLiveData.getSteps()
- * mEnrollingViewModel.getEnrollStageThreshold(index));
- }
-
- private void updateOrientation() {
- mIllustrationLottie = mView.findViewById(R.id.illustration_lottie);
- }
-
- private boolean shouldShowLottie() {
- DisplayDensityUtils displayDensity = new DisplayDensityUtils(getContext());
- int currentDensityIndex = displayDensity.getCurrentIndexForDefaultDisplay();
- final int currentDensity = displayDensity.getDefaultDisplayDensityValues()
- [currentDensityIndex];
- final int defaultDensity = displayDensity.getDefaultDensityForDefaultDisplay();
- return defaultDensity == currentDensity;
- }
-
-
- private void startIconAnimation() {
- if (mIconAnimationDrawable != null) {
- mIconAnimationDrawable.start();
- }
- }
-
- private void stopIconAnimation() {
- mAnimationCancelled = true;
- if (mIconAnimationDrawable != null) {
- mIconAnimationDrawable.stop();
- }
- }
-
- private void showIconTouchDialog() {
- mIconTouchCount = 0;
- //TODO EnrollingActivity should observe live data and add dialog fragment
- mEnrollingViewModel.onIconTouchDialogShow();
- }
-
- private void configureEnrollmentStage(CharSequence description, @RawRes int lottie) {
- new GlifLayoutHelper(getActivity(), mView).setDescriptionText(description);
- LottieCompositionFactory.fromRawRes(getActivity(), lottie)
- .addListener((c) -> {
- mIllustrationLottie.setComposition(c);
- mIllustrationLottie.setVisibility(View.VISIBLE);
- mIllustrationLottie.playAnimation();
- });
- }
-
- private final Runnable mShowDialogRunnable = new Runnable() {
- @Override
- public void run() {
- showIconTouchDialog();
- }
- };
-
- private final Animator.AnimatorListener mProgressAnimationListener =
- new Animator.AnimatorListener() {
-
- @Override
- public void onAnimationStart(Animator animation) {
- startIconAnimation();
- }
-
- @Override
- public void onAnimationRepeat(Animator animation) { }
-
- @Override
- public void onAnimationEnd(Animator animation) {
- stopIconAnimation();
-
- if (mProgressBar.getProgress() >= PROGRESS_BAR_MAX) {
- mProgressBar.postDelayed(mDelayedFinishRunnable, 250L);
- }
- }
-
- @Override
- public void onAnimationCancel(Animator animation) { }
- };
-
- // Give the user a chance to see progress completed before jumping to the next stage.
- private final Runnable mDelayedFinishRunnable = new Runnable() {
- @Override
- public void run() {
- /* TODO launchFinish(); */
- }
- };
-
- private final Animatable2.AnimationCallback mIconAnimationCallback =
- new Animatable2.AnimationCallback() {
- @Override
- public void onAnimationEnd(Drawable d) {
- if (mAnimationCancelled) {
- return;
- }
-
- // Start animation after it has ended.
- mProgressBar.post(new Runnable() {
- @Override
- public void run() {
- startIconAnimation();
- }
- });
- }
- };
}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.java
index ad6abf1..4cf3573 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.java
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.java
@@ -22,18 +22,23 @@
import android.app.Activity;
import android.content.Context;
import android.content.res.Configuration;
+import android.graphics.Point;
+import android.graphics.Rect;
import android.graphics.drawable.Animatable2;
-import android.graphics.drawable.AnimatedVectorDrawable;
import android.graphics.drawable.Drawable;
+import android.hardware.fingerprint.FingerprintManager;
+import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
+import android.view.DisplayInfo;
import android.view.LayoutInflater;
import android.view.Surface;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import android.view.animation.Interpolator;
+import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -47,15 +52,20 @@
import com.android.settings.R;
import com.android.settings.biometrics.BiometricUtils;
+import com.android.settings.biometrics.fingerprint.UdfpsEnrollHelper;
+import com.android.settings.biometrics.fingerprint.UdfpsEnrollView;
import com.android.settings.biometrics2.ui.model.EnrollmentProgress;
import com.android.settings.biometrics2.ui.model.EnrollmentStatusMessage;
import com.android.settings.biometrics2.ui.viewmodel.DeviceRotationViewModel;
import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel;
import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel;
import com.android.settingslib.display.DisplayDensityUtils;
+import com.android.settingslib.udfps.UdfpsOverlayParams;
+import com.android.settingslib.udfps.UdfpsUtils;
import com.airbnb.lottie.LottieAnimationView;
import com.airbnb.lottie.LottieCompositionFactory;
+import com.google.android.setupcompat.template.FooterActionButton;
import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupcompat.template.FooterButton;
import com.google.android.setupdesign.GlifLayout;
@@ -70,9 +80,6 @@
private static final String TAG = FingerprintEnrollEnrollingUdfpsFragment.class.getSimpleName();
private static final int PROGRESS_BAR_MAX = 10000;
- private static final long ICON_TOUCH_DURATION_UNTIL_DIALOG_SHOWN = 500;
- private static final int ICON_TOUCH_COUNT_SHOW_UNTIL_DIALOG_SHOWN = 3;
- private static final int HINT_TIMEOUT_DURATION = 2500;
private static final int STAGE_UNKNOWN = -1;
private static final int STAGE_CENTER = 0;
@@ -100,35 +107,52 @@
private GlifLayout mView;
private TextView mErrorText;
private FooterBarMixin mFooterBarMixin;
- private AnimatedVectorDrawable mIconAnimationDrawable;
- private AnimatedVectorDrawable mIconBackgroundBlinksDrawable;
private boolean mShouldShowLottie;
private boolean mIsAccessibilityEnabled;
private final View.OnClickListener mOnSkipClickListener =
(v) -> mEnrollingViewModel.onCancelledDueToOnSkipPressed();
- private final Observer<EnrollmentProgress> mProgressObserver = progress -> {
+
+ private Observer<EnrollmentProgress> mProgressObserver = progress -> {
+ if (progress != null) {
+ onEnrollmentProgressChange(progress);
+ }
+ };
+ private Observer<EnrollmentStatusMessage> mHelpMessageObserver = helpMessage -> {
+ if (helpMessage != null) {
+ onEnrollmentHelp(helpMessage.getMsgId(), helpMessage.getStr());
+ }
+ };
+ private Observer<EnrollmentStatusMessage> mErrorMessageObserver = errorMessage -> {
// TODO
};
- private final Observer<EnrollmentStatusMessage> mHelpMessageObserver = helpMessage -> {
- // TODO
- };
- private final Observer<EnrollmentStatusMessage> mErrorMessageObserver = errorMessage -> {
- // TODO
- };
- private final Observer<Boolean> mAcquireObserver = isAcquiredGood -> {
- // TODO
+ private Observer<Boolean> mAcquireObserver = isAcquiredGood -> {
+ if (isAcquiredGood != null) {
+ onAcquired(isAcquiredGood);
+ }
};
private final Observer<Integer> mPointerDownObserver = sensorId -> {
- // TODO
+ if (sensorId != null) {
+ onPointerDown(sensorId);
+ }
};
private final Observer<Integer> mPointerUpObserver = sensorId -> {
- // TODO
+ if (sensorId != null) {
+ onPointerUp(sensorId);
+ }
};
private int mIconTouchCount;
+ private UdfpsUtils mUdfpsUtils;
+ private float mScaleFactor = 1.0f;
+ //TODO UdfpsEnrollHelper should not be a Fragment, we should tell enrollview & progress
+ // drawable enough information EnrollView & ProgressDrawable should draw themselves without
+ // UdfpsEnrollHelper
+ private UdfpsEnrollHelper mUdfpsEnrollHelper;
+
+
@Override
public void onAttach(@NonNull Context context) {
final FragmentActivity activity = getActivity();
@@ -176,6 +200,10 @@
super.onCreate(savedInstanceState);
mEnrollingViewModel.restoreSavedState(savedInstanceState);
mIsAccessibilityEnabled = mEnrollingViewModel.isAccessibilityEnabled();
+ mUdfpsUtils = new UdfpsUtils();
+ mUdfpsEnrollHelper = new UdfpsEnrollHelper(getActivity(), getActivity().getSystemService(
+ FingerprintManager.class
+ ));
}
@Override
@@ -188,13 +216,15 @@
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mView = initUdfpsLayout(inflater, container);
+
return mView;
}
private GlifLayout initUdfpsLayout(LayoutInflater inflater, ViewGroup container) {
final GlifLayout containView = (GlifLayout) inflater.inflate(
R.layout.udfps_enroll_enrolling, container, false);
-
+ final UdfpsEnrollView udfpsEnrollView = addUdfpsEnrollView(inflater,
+ mEnrollingViewModel.getFirstFingerprintSensorPropertiesInternal());
final int rotation = mRotationViewModel.getLiveData().getValue();
if (rotation == Surface.ROTATION_90) {
final boolean isLayoutRtl = (TextUtils.getLayoutDirectionFromLocale(
@@ -207,19 +237,36 @@
isLayoutRtl ? 0 : (int) getResources().getDimension(
R.dimen.rotation_90_enroll_padding_end),
0);
+
final LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
lp.setMarginEnd((int) getResources().getDimension(
R.dimen.rotation_90_enroll_margin_end));
layoutContainer.setLayoutParams(lp);
+ containView.addView(udfpsEnrollView);
+ containView.setClipChildren(false);
+ containView.setClipToPadding(false);
containView.setLayoutParams(lp);
+ setOnHoverListener(true, containView, udfpsEnrollView);
+ } else if (rotation == Surface.ROTATION_270) {
+ containView.addView(udfpsEnrollView);
+ containView.setClipChildren(false);
+ containView.setClipToPadding(false);
+ setOnHoverListener(true, containView, udfpsEnrollView);
+ } else {
+ final FrameLayout portraitLayoutContainer = containView.findViewById(
+ R.id.layout_container);
+ portraitLayoutContainer.addView(udfpsEnrollView);
+ ViewGroup parent = ((ViewGroup) portraitLayoutContainer.getParent());
+ parent.setClipChildren(false);
+ parent.setClipToPadding(false);
+ setOnHoverListener(false, containView, udfpsEnrollView);
}
final Activity activity = getActivity();
new GlifLayoutHelper(activity, containView).setDescriptionText(
getString(R.string.security_settings_udfps_enroll_start_message));
- updateTitleAndDescription();
mShouldShowLottie = shouldShowLottie();
boolean isLandscape = BiometricUtils.isReverseLandscape(activity)
@@ -245,6 +292,19 @@
mFastOutLinearInInterpolator = AnimationUtils.loadInterpolator(
activity, android.R.interpolator.fast_out_linear_in);
+ final LinearLayout buttonContainer = mFooterBarMixin.getButtonContainer();
+ View spaceView = null;
+ for (int i = 0; i < buttonContainer.getChildCount(); i++) {
+ if (!(buttonContainer.getChildAt(i) instanceof FooterActionButton)) {
+ spaceView = buttonContainer.getChildAt(i);
+ break;
+ }
+ }
+ if (spaceView != null) {
+ spaceView.setVisibility(View.GONE);
+ buttonContainer.getLayoutParams().width = ViewGroup.LayoutParams.WRAP_CONTENT;
+ }
+
return containView;
}
@@ -298,6 +358,9 @@
final int progress = getProgress(enrollmentProgress);
+ mUdfpsEnrollHelper.onEnrollmentProgress(enrollmentProgress.getSteps(),
+ enrollmentProgress.getRemaining());
+
if (animate) {
animateProgress(progress);
} else if (progress >= PROGRESS_BAR_MAX) {
@@ -319,6 +382,38 @@
super.onDestroy();
}
+ private UdfpsEnrollView addUdfpsEnrollView(LayoutInflater inflater,
+ FingerprintSensorPropertiesInternal udfpsProps) {
+
+ UdfpsEnrollView enrollView = (UdfpsEnrollView) inflater.inflate(R.layout.udfps_enroll_view,
+ null, false);
+ DisplayInfo displayInfo = new DisplayInfo();
+ getActivity().getDisplay().getDisplayInfo(displayInfo);
+ mScaleFactor = mUdfpsUtils.getScaleFactor(displayInfo);
+ Rect udfpsBounds = udfpsProps.getLocation().getRect();
+ udfpsBounds.scale(mScaleFactor);
+
+ final Rect overlayBounds = new Rect(
+ 0, /* left */
+ displayInfo.getNaturalHeight() / 2, /* top */
+ displayInfo.getNaturalWidth(), /* right */
+ displayInfo.getNaturalHeight() /* botom */);
+
+ UdfpsOverlayParams params = new UdfpsOverlayParams(
+ udfpsBounds,
+ overlayBounds,
+ displayInfo.getNaturalWidth(),
+ displayInfo.getNaturalHeight(),
+ mScaleFactor,
+ displayInfo.rotation);
+
+ enrollView.setOverlayParams(params);
+
+ enrollView.setEnrollHelper(mUdfpsEnrollHelper);
+
+ return enrollView;
+ }
+
private void animateProgress(int progress) {
// UDFPS animations are owned by SystemUI
if (progress >= PROGRESS_BAR_MAX) {
@@ -462,16 +557,10 @@
}
private void startIconAnimation() {
- if (mIconAnimationDrawable != null) {
- mIconAnimationDrawable.start();
- }
}
private void stopIconAnimation() {
mAnimationCancelled = true;
- if (mIconAnimationDrawable != null) {
- mIconAnimationDrawable.stop();
- }
}
private int getCurrentStage() {
@@ -545,6 +634,79 @@
});
}
+ private void setOnHoverListener(boolean isLandscape, GlifLayout enrollLayout,
+ UdfpsEnrollView udfpsEnrollView) {
+ if (!mIsAccessibilityEnabled) return;
+
+ final Context context = getActivity();
+ final View.OnHoverListener onHoverListener = (v, event) -> {
+ // Map the touch to portrait mode if the device is in
+ // landscape mode.
+ final Point scaledTouch =
+ mUdfpsUtils.getTouchInNativeCoordinates(event.getPointerId(0),
+ event, udfpsEnrollView.getOverlayParams());
+
+ final String theStr = mUdfpsUtils.onTouchOutsideOfSensorArea(
+ mEnrollingViewModel.isTouchExplorationEnabled(), context,
+ scaledTouch.x, scaledTouch.y, udfpsEnrollView.getOverlayParams());
+ if (theStr != null) {
+ v.announceForAccessibility(theStr);
+ }
+ return false;
+ };
+
+ enrollLayout.findManagedViewById(isLandscape ? R.id.sud_landscape_content_area
+ : R.id.sud_layout_content).setOnHoverListener(onHoverListener);
+ }
+
+ private void onEnrollmentProgressChange(@NonNull EnrollmentProgress progress) {
+ updateProgress(true /* animate */, progress);
+
+ updateTitleAndDescription();
+
+ if (mIsAccessibilityEnabled) {
+ final int steps = progress.getSteps();
+ final int remaining = progress.getRemaining();
+ final int percent = (int) (((float) (steps - remaining) / (float) steps) * 100);
+ CharSequence announcement = getActivity().getString(
+ R.string.security_settings_udfps_enroll_progress_a11y_message, percent);
+ mEnrollingViewModel.sendAccessibilityEvent(announcement);
+ }
+
+ }
+
+ private void onEnrollmentHelp(int helpMsgId, CharSequence helpString) {
+ if (!TextUtils.isEmpty(helpString)) {
+ showError(helpString);
+ mUdfpsEnrollHelper.onEnrollmentHelp();
+ }
+ }
+
+ private void onAcquired(boolean isAcquiredGood) {
+ if (mUdfpsEnrollHelper != null) {
+ mUdfpsEnrollHelper.onAcquired(isAcquiredGood);
+ }
+ }
+
+ private void onPointerDown(int sensorId) {
+ if (mUdfpsEnrollHelper != null) {
+ mUdfpsEnrollHelper.onPointerDown(sensorId);
+ }
+ }
+
+ private void onPointerUp(int sensorId) {
+ if (mUdfpsEnrollHelper != null) {
+ mUdfpsEnrollHelper.onPointerUp(sensorId);
+ }
+ }
+
+ private void showError(CharSequence error) {
+ mView.setHeaderText(error);
+ mView.getHeaderTextView().setContentDescription(error);
+ new GlifLayoutHelper(getActivity(), mView).setDescriptionText("");
+ }
+
+
private final Runnable mShowDialogRunnable = new Runnable() {
@Override
public void run() {
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.java
index 1ea26fa..61f8e82 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.java
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.java
@@ -25,6 +25,7 @@
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
+import android.view.Surface;
import android.view.View;
import android.view.ViewGroup;
@@ -32,6 +33,7 @@
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
+import androidx.lifecycle.LiveData;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
@@ -39,6 +41,7 @@
import com.android.settings.biometrics.fingerprint.FingerprintFindSensorAnimation;
import com.android.settings.biometrics2.ui.model.EnrollmentProgress;
import com.android.settings.biometrics2.ui.model.EnrollmentStatusMessage;
+import com.android.settings.biometrics2.ui.viewmodel.DeviceRotationViewModel;
import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel;
import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel;
@@ -67,12 +70,23 @@
private FingerprintEnrollFindSensorViewModel mViewModel;
private FingerprintEnrollProgressViewModel mProgressViewModel;
+ private DeviceRotationViewModel mRotationViewModel;
private View mView;
private GlifLayout mGlifLayout;
private FooterBarMixin mFooterBarMixin;
private final OnClickListener mOnSkipClickListener = (v) -> mViewModel.onSkipButtonClick();
@Nullable private FingerprintFindSensorAnimation mAnimation;
+ @Surface.Rotation private int mLastRotation = -1;
+
+ private final Observer<Integer> mRotationObserver = rotation -> {
+ if (DEBUG) {
+ Log.d(TAG, "rotationObserver " + rotation);
+ }
+ if (rotation != null) {
+ onRotationChanged(rotation);
+ }
+ };
private final Observer<EnrollmentProgress> mProgressObserver = progress -> {
if (DEBUG) {
@@ -85,15 +99,10 @@
private final Observer<EnrollmentStatusMessage> mLastCancelMessageObserver = errorMessage -> {
if (DEBUG) {
- Log.d(TAG, "mErrorMessageObserver(" + errorMessage + ")");
+ Log.d(TAG, "mLastCancelMessageObserver(" + errorMessage + ")");
}
if (errorMessage != null) {
- if (errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
- mProgressViewModel.clearProgressLiveData();
- mViewModel.onStartButtonClick();
- } else {
- Log.e(TAG, "mErrorMessageObserver(" + errorMessage + ")");
- }
+ onLastCancelMessage(errorMessage);
}
};
@@ -144,6 +153,10 @@
@Override
public void onResume() {
+ final LiveData<Integer> rotationLiveData = mRotationViewModel.getLiveData();
+ mLastRotation = rotationLiveData.getValue();
+ rotationLiveData.observe(this, mRotationObserver);
+
if (mAnimation != null) {
if (DEBUG) {
Log.d(TAG, "onResume(), start animation");
@@ -198,15 +211,39 @@
return;
}
+ if (waitForLastCancelErrMsg) {
+ mProgressViewModel.clearErrorMessageLiveData(); // Prevent got previous error message
+ mProgressViewModel.getErrorMessageLiveData().observe(this,
+ mLastCancelMessageObserver);
+ }
+
mProgressViewModel.getProgressLiveData().removeObserver(mProgressObserver);
final boolean cancelResult = mProgressViewModel.cancelEnrollment();
if (!cancelResult) {
Log.e(TAG, "stopLookingForFingerprint(), failed to cancel enrollment");
}
+ }
- if (waitForLastCancelErrMsg) {
- mProgressViewModel.getErrorMessageLiveData().observe(this,
- mLastCancelMessageObserver);
+ private void onRotationChanged(@Surface.Rotation int newRotation) {
+ if (DEBUG) {
+ Log.d(TAG, "onRotationChanged() from " + mLastRotation + " to " + newRotation);
+ }
+ if (newRotation % 2 != mLastRotation % 2) {
+ // Fragment is going to be recreated, just stopLookingForFingerprint() here.
+ stopLookingForFingerprint(true);
+ }
+ }
+
+ private void onLastCancelMessage(@NonNull EnrollmentStatusMessage errorMessage) {
+ if (errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
+ final EnrollmentProgress progress = mProgressViewModel.getProgressLiveData().getValue();
+ mProgressViewModel.clearProgressLiveData();
+ mProgressViewModel.getErrorMessageLiveData().removeObserver(mLastCancelMessageObserver);
+ if (progress != null && !progress.isInitialStep()) {
+ mViewModel.onStartButtonClick();
+ }
+ } else {
+ Log.e(TAG, "mErrorMessageObserver(" + errorMessage + ")");
}
}
@@ -227,6 +264,7 @@
final ViewModelProvider provider = new ViewModelProvider(activity);
mViewModel = provider.get(FingerprintEnrollFindSensorViewModel.class);
mProgressViewModel = provider.get(FingerprintEnrollProgressViewModel.class);
+ mRotationViewModel = provider.get(DeviceRotationViewModel.class);
super.onAttach(context);
}
}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.java
index c363f04..75207ca 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.java
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.java
@@ -20,6 +20,7 @@
import android.app.Activity;
import android.content.Context;
+import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
@@ -39,6 +40,7 @@
import com.android.settings.R;
import com.android.settings.biometrics2.ui.model.EnrollmentProgress;
+import com.android.settings.biometrics2.ui.model.EnrollmentStatusMessage;
import com.android.settings.biometrics2.ui.viewmodel.DeviceFoldedViewModel;
import com.android.settings.biometrics2.ui.viewmodel.DeviceRotationViewModel;
import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel;
@@ -75,30 +77,36 @@
private DeviceRotationViewModel mRotationViewModel;
private DeviceFoldedViewModel mFoldedViewModel;
+ private GlifLayout mView;
+ private FooterBarMixin mFooterBarMixin;
+ private final OnClickListener mOnSkipClickListener = (v) -> mViewModel.onSkipButtonClick();
+ private LottieAnimationView mIllustrationLottie;
+ @Surface.Rotation private int mAnimationRotation = -1;
+
private final Observer<Integer> mRotationObserver = rotation -> {
if (DEBUG) {
Log.d(TAG, "rotationObserver " + rotation);
}
- if (rotation == null) {
- return;
+ if (rotation != null) {
+ onRotationChanged(rotation);
}
- onRotationChanged(rotation);
};
- @Surface.Rotation private int mAnimationRotation = -1;
-
- private View mView;
- private GlifLayout mGlifLayout;
- private FooterBarMixin mFooterBarMixin;
- private final OnClickListener mOnSkipClickListener = (v) -> mViewModel.onSkipButtonClick();
- private LottieAnimationView mIllustrationLottie;
-
private final Observer<EnrollmentProgress> mProgressObserver = progress -> {
if (DEBUG) {
Log.d(TAG, "mProgressObserver(" + progress + ")");
}
if (progress != null && !progress.isInitialStep()) {
- mViewModel.onStartButtonClick();
+ stopLookingForFingerprint(true);
+ }
+ };
+
+ private final Observer<EnrollmentStatusMessage> mLastCancelMessageObserver = errorMessage -> {
+ if (DEBUG) {
+ Log.d(TAG, "mLastCancelMessageObserver(" + errorMessage + ")");
+ }
+ if (errorMessage != null) {
+ onLastCancelMessage(errorMessage);
}
};
@@ -107,10 +115,10 @@
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
final Context context = inflater.getContext();
- mView = inflater.inflate(R.layout.sfps_enroll_find_sensor_layout, container, false);
- mGlifLayout = mView.findViewById(R.id.setup_wizard_layout);
+ mView = (GlifLayout) inflater.inflate(R.layout.sfps_enroll_find_sensor_layout, container,
+ false);
mIllustrationLottie = mView.findViewById(R.id.illustration_lottie);
- mFooterBarMixin = mGlifLayout.getMixin(FooterBarMixin.class);
+ mFooterBarMixin = mView.getMixin(FooterBarMixin.class);
mFooterBarMixin.setSecondaryButton(
new FooterButton.Builder(context)
.setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
@@ -125,7 +133,7 @@
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
final Activity activity = getActivity();
- final GlifLayoutHelper glifLayoutHelper = new GlifLayoutHelper(activity, mGlifLayout);
+ final GlifLayoutHelper glifLayoutHelper = new GlifLayoutHelper(activity, mView);
glifLayoutHelper.setHeaderText(R.string.security_settings_sfps_enroll_find_sensor_title);
glifLayoutHelper.setDescriptionText(
getText(R.string.security_settings_sfps_enroll_find_sensor_message));
@@ -136,10 +144,13 @@
public void onStart() {
super.onStart();
+ final boolean isEnrolling = mProgressViewModel.isEnrolling();
if (DEBUG) {
- Log.d(TAG, "onStart(), start looking for fingerprint");
+ Log.d(TAG, "onStart(), isEnrolling:" + isEnrolling);
}
- startLookingForFingerprint();
+ if (!isEnrolling) {
+ startLookingForFingerprint();
+ }
}
@Override
@@ -159,10 +170,13 @@
@Override
public void onStop() {
super.onStop();
+ final boolean isEnrolling = mProgressViewModel.isEnrolling();
if (DEBUG) {
- Log.d(TAG, "onStop(), stop looking for fingerprint");
+ Log.d(TAG, "onStop(), isEnrolling:" + isEnrolling);
}
- stopLookingForFingerprint();
+ if (isEnrolling) {
+ stopLookingForFingerprint(false);
+ }
}
private void startLookingForFingerprint() {
@@ -180,13 +194,19 @@
}
}
- private void stopLookingForFingerprint() {
+ private void stopLookingForFingerprint(boolean waitForLastCancelErrMsg) {
if (!mProgressViewModel.isEnrolling()) {
Log.d(TAG, "stopLookingForFingerprint(), failed because isEnrolling is false before"
+ " stopping");
return;
}
+ if (waitForLastCancelErrMsg) {
+ mProgressViewModel.clearErrorMessageLiveData(); // Prevent got previous error message
+ mProgressViewModel.getErrorMessageLiveData().observe(this,
+ mLastCancelMessageObserver);
+ }
+
mProgressViewModel.getProgressLiveData().removeObserver(mProgressObserver);
final boolean cancelResult = mProgressViewModel.cancelEnrollment();
if (!cancelResult) {
@@ -199,10 +219,25 @@
Log.d(TAG, "onRotationChanged() from " + mAnimationRotation + " to " + newRotation);
}
if ((newRotation + 2) % 4 == mAnimationRotation) {
+ // Fragment not changed, we just need to play correct rotation animation
playLottieAnimation(newRotation);
+ } else if (newRotation % 2 != mAnimationRotation % 2) {
+ // Fragment is going to be recreated, just stopLookingForFingerprint() here.
+ stopLookingForFingerprint(true);
}
- // Fragment will be re-created if it's changed between landscape and portrait, so no need to
- // handle other cases.
+ }
+
+ private void onLastCancelMessage(@NonNull EnrollmentStatusMessage errorMessage) {
+ if (errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
+ final EnrollmentProgress progress = mProgressViewModel.getProgressLiveData().getValue();
+ mProgressViewModel.clearProgressLiveData();
+ mProgressViewModel.getErrorMessageLiveData().removeObserver(mLastCancelMessageObserver);
+ if (progress != null && !progress.isInitialStep()) {
+ mViewModel.onStartButtonClick();
+ }
+ } else {
+ Log.e(TAG, "mErrorMessageObserver(" + errorMessage + ")");
+ }
}
private void playLottieAnimation(@Surface.Rotation int rotation) {
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModel.java
index bf7b0ac..6fde44c 100644
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModel.java
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModel.java
@@ -23,6 +23,7 @@
import android.os.VibrationAttributes;
import android.os.VibrationEffect;
import android.util.Log;
+import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import androidx.annotation.NonNull;
@@ -279,6 +280,27 @@
}
/**
+ * Sends an {@link AccessibilityEvent}.
+ */
+ public void sendAccessibilityEvent(CharSequence announcement) {
+ AccessibilityEvent e = AccessibilityEvent.obtain();
+ e.setEventType(AccessibilityEvent.TYPE_ANNOUNCEMENT);
+ e.setClassName(getClass().getName());
+ e.setPackageName(getApplication().getPackageName());
+ e.getText().add(announcement);
+ mAccessibilityRepository.sendAccessibilityEvent(e);
+ }
+
+ /**
+ * Returns if the touch exploration in the system is enabled.
+ *
+ * @return True if touch exploration is enabled, false otherwise.
+ */
+ public boolean isTouchExplorationEnabled() {
+ return mAccessibilityRepository.isTouchExplorationEnabled();
+ }
+
+ /**
* Like {@link #vibrate(VibrationEffect, VibrationAttributes)}, but allows the
* caller to specify the vibration is owned by someone else and set a reason for vibration.
*/
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModel.java
index eebbc42..2a918f5 100644
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModel.java
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModel.java
@@ -92,6 +92,9 @@
@Override
public void onEnrollmentError(int errMsgId, CharSequence errString) {
+ if (DEBUG) {
+ Log.d(TAG, "onEnrollmentError(" + errMsgId + ", " + errString + ")");
+ }
mErrorMessageLiveData.postValue(new EnrollmentStatusMessage(errMsgId, errString));
}
@@ -146,6 +149,13 @@
mErrorMessageLiveData.setValue(null);
}
+ /**
+ * clear error message
+ */
+ public void clearErrorMessageLiveData() {
+ mErrorMessageLiveData.setValue(null);
+ }
+
public LiveData<EnrollmentProgress> getProgressLiveData() {
return mProgressLiveData;
}
diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java
index 395d1c7..3047d73 100644
--- a/src/com/android/settings/datausage/BillingCycleSettings.java
+++ b/src/com/android/settings/datausage/BillingCycleSettings.java
@@ -27,6 +27,7 @@
import android.net.NetworkPolicy;
import android.net.NetworkTemplate;
import android.os.Bundle;
+import android.provider.Settings;
import android.text.method.NumberKeyListener;
import android.util.Log;
import android.view.LayoutInflater;
@@ -54,6 +55,7 @@
import java.text.NumberFormat;
import java.text.ParseException;
+import java.util.Optional;
import java.util.TimeZone;
@SearchIndexable
@@ -115,6 +117,18 @@
Bundle args = getArguments();
mNetworkTemplate = args.getParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE);
+ if (mNetworkTemplate == null && getIntent() != null) {
+ mNetworkTemplate = getIntent().getParcelableExtra(Settings.EXTRA_NETWORK_TEMPLATE);
+ }
+
+ if (mNetworkTemplate == null) {
+ Optional<NetworkTemplate> mobileNetworkTemplateFromSim =
+ DataUsageUtils.getMobileNetworkTemplateFromSubId(context, getIntent());
+ if (mobileNetworkTemplateFromSim.isPresent()) {
+ mNetworkTemplate = mobileNetworkTemplateFromSim.get();
+ }
+ }
+
if (mNetworkTemplate == null) {
mNetworkTemplate = DataUsageUtils.getDefaultTemplate(context,
DataUsageUtils.getDefaultSubscriptionId(context));
diff --git a/src/com/android/settings/datausage/DataSaverSummary.java b/src/com/android/settings/datausage/DataSaverSummary.java
index 9bd862a..67644a6 100644
--- a/src/com/android/settings/datausage/DataSaverSummary.java
+++ b/src/com/android/settings/datausage/DataSaverSummary.java
@@ -78,11 +78,7 @@
addPreferencesFromResource(R.xml.data_saver);
mUnrestrictedAccess = findPreference(KEY_UNRESTRICTED_ACCESS);
- mApplicationsState = ApplicationsState.getInstance(
- (Application) getContext().getApplicationContext());
mDataSaverBackend = new DataSaverBackend(getContext());
- mDataUsageBridge = new AppStateDataUsageBridge(mApplicationsState, this, mDataSaverBackend);
- mSession = mApplicationsState.newSession(this, getSettingsLifecycle());
}
@Override
diff --git a/src/com/android/settings/datausage/DataUsageList.java b/src/com/android/settings/datausage/DataUsageList.java
index 1499ded..68751e5 100644
--- a/src/com/android/settings/datausage/DataUsageList.java
+++ b/src/com/android/settings/datausage/DataUsageList.java
@@ -69,6 +69,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Optional;
/**
* Panel showing data usage history across various networks, including options
@@ -266,6 +267,14 @@
mSubId = intent.getIntExtra(Settings.EXTRA_SUB_ID,
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
mTemplate = intent.getParcelableExtra(Settings.EXTRA_NETWORK_TEMPLATE);
+
+ if (mTemplate == null) {
+ Optional<NetworkTemplate> mobileNetworkTemplateFromSim =
+ DataUsageUtils.getMobileNetworkTemplateFromSubId(getContext(), getIntent());
+ if (mobileNetworkTemplateFromSim.isPresent()) {
+ mTemplate = mobileNetworkTemplateFromSim.get();
+ }
+ }
}
}
diff --git a/src/com/android/settings/datausage/DataUsageUtils.java b/src/com/android/settings/datausage/DataUsageUtils.java
index 9fec27e..cce7ca1 100644
--- a/src/com/android/settings/datausage/DataUsageUtils.java
+++ b/src/com/android/settings/datausage/DataUsageUtils.java
@@ -22,11 +22,13 @@
import android.app.usage.NetworkStats.Bucket;
import android.app.usage.NetworkStatsManager;
import android.content.Context;
+import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.ConnectivityManager;
import android.net.NetworkTemplate;
import android.os.RemoteException;
import android.os.SystemProperties;
+import android.provider.Settings;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -39,6 +41,7 @@
import com.android.settings.network.ProxySubscriptionManager;
import java.util.List;
+import java.util.Optional;
/**
* Utility methods for data usage classes.
@@ -193,4 +196,22 @@
}
}
+ /**
+ * Returns a mobile NetworkTemplate if EXTRA_SUB_ID of the Intent is available and the subId
+ * is valid & hasMobileData. Otherwise, returns empty data.
+ */
+ public static Optional<NetworkTemplate> getMobileNetworkTemplateFromSubId(Context context,
+ Intent intent) {
+ if (intent == null || !intent.hasExtra(Settings.EXTRA_SUB_ID)) {
+ return Optional.empty();
+ }
+
+ int subId = intent.getIntExtra(Settings.EXTRA_SUB_ID,
+ SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+ if (SubscriptionManager.isValidSubscriptionId(subId) && hasMobileData(context)) {
+ return Optional.of(DataUsageLib.getMobileTemplate(context, subId));
+ }
+
+ return Optional.empty();
+ }
}
diff --git a/src/com/android/settings/network/InternetPreferenceController.java b/src/com/android/settings/network/InternetPreferenceController.java
index b886ff0..ad1a5f0 100644
--- a/src/com/android/settings/network/InternetPreferenceController.java
+++ b/src/com/android/settings/network/InternetPreferenceController.java
@@ -240,17 +240,4 @@
mSubInfoEntityList = subInfoEntityList;
updateState(mPreference);
}
-
- @Override
- public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> activeSubInfoList) {
- }
-
- @Override
- public void onAllUiccInfoChanged(List<UiccInfoEntity> uiccInfoEntityList) {
- }
-
- @Override
- public void onAllMobileNetworkInfoChanged(
- List<MobileNetworkInfoEntity> mobileNetworkInfoEntityList) {
- }
}
diff --git a/src/com/android/settings/network/MobileNetworkRepository.java b/src/com/android/settings/network/MobileNetworkRepository.java
index dc95b9c..01c763f 100644
--- a/src/com/android/settings/network/MobileNetworkRepository.java
+++ b/src/com/android/settings/network/MobileNetworkRepository.java
@@ -32,6 +32,7 @@
import android.provider.Settings;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyCallback;
import android.telephony.TelephonyManager;
import android.telephony.UiccCardInfo;
import android.telephony.UiccPortInfo;
@@ -52,6 +53,7 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService;
@@ -92,8 +94,7 @@
private Uri mAirplaneModeSettingUri;
private MetricsFeatureProvider mMetricsFeatureProvider;
private IntentFilter mFilter = new IntentFilter();
- private MobileDataContentObserver mDataContentObserver;
-
+ private Map<Integer, MobileDataContentObserver> mDataContentObserverMap = new HashMap<>();
private int mPhysicalSlotIndex = SubscriptionManager.INVALID_SIM_SLOT_INDEX;
private int mLogicalSlotIndex = SubscriptionManager.INVALID_SIM_SLOT_INDEX;
private int mCardState = UiccSlotInfo.CARD_STATE_INFO_ABSENT;
@@ -104,6 +105,8 @@
private boolean mIsRemovable = false;
private boolean mIsActive = false;
private Map<Integer, SubscriptionInfo> mSubscriptionInfoMap = new ArrayMap<>();
+ private Map<Integer, TelephonyManager> mTelephonyManagerMap = new HashMap<>();
+ private Map<Integer, PhoneCallStateTelephonyCallback> mTelephonyCallbackMap = new HashMap<>();
public static MobileNetworkRepository create(Context context,
MobileNetworkCallback mobileNetworkCallback) {
@@ -130,13 +133,6 @@
mMobileNetworkInfoDao = mMobileNetworkDatabase.mMobileNetworkInfoDao();
mAirplaneModeObserver = new AirplaneModeObserver(new Handler(Looper.getMainLooper()));
mAirplaneModeSettingUri = Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON);
- mDataContentObserver = new MobileDataContentObserver(
- new Handler(Looper.getMainLooper()));
- mDataContentObserver.setOnMobileDataChangedListener(() -> {
- sExecutor.execute(() -> {
- insertMobileNetworkInfo(context, String.valueOf(mSubId));
- });
- });
mFilter.addAction(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
mFilter.addAction(SubscriptionManager.ACTION_DEFAULT_SUBSCRIPTION_CHANGED);
mFilter.addAction(ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED);
@@ -175,24 +171,68 @@
public void addRegister(LifecycleOwner lifecycleOwner) {
mSubscriptionManager.addOnSubscriptionsChangedListener(mContext.getMainExecutor(), this);
mAirplaneModeObserver.register(mContext);
- if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
- mDataContentObserver.register(mContext, mSubId);
- }
mContext.registerReceiver(mDataSubscriptionChangedReceiver, mFilter);
observeAllSubInfo(lifecycleOwner);
observeAllUiccInfo(lifecycleOwner);
observeAllMobileNetworkInfo(lifecycleOwner);
}
+ private void addRegisterBySubId(int subId) {
+ if (!mTelephonyCallbackMap.containsKey(subId)) {
+ PhoneCallStateTelephonyCallback
+ telephonyCallback = new PhoneCallStateTelephonyCallback();
+ mTelephonyManager.registerTelephonyCallback(mContext.getMainExecutor(),
+ telephonyCallback);
+ mTelephonyCallbackMap.put(subId, telephonyCallback);
+ mTelephonyManagerMap.put(subId, mTelephonyManager);
+ }
+ if (!mDataContentObserverMap.containsKey(subId)) {
+ MobileDataContentObserver dataContentObserver = new MobileDataContentObserver(
+ new Handler(Looper.getMainLooper()));
+ dataContentObserver.register(mContext, subId);
+ dataContentObserver.setOnMobileDataChangedListener(() -> {
+ sExecutor.execute(() -> {
+ insertMobileNetworkInfo(mContext, String.valueOf(subId));
+ });
+ });
+ mDataContentObserverMap.put(subId, dataContentObserver);
+ }
+ }
+
+ private void removerRegisterBySubId(int subId) {
+ if (mTelephonyCallbackMap.containsKey(subId)) {
+ TelephonyManager tm = mTelephonyManagerMap.get(subId);
+ PhoneCallStateTelephonyCallback callback = mTelephonyCallbackMap.get(subId);
+ if (callback != null) {
+ tm.unregisterTelephonyCallback(callback);
+ mTelephonyCallbackMap.remove(subId);
+ }
+ }
+ if (mDataContentObserverMap.containsKey(subId)) {
+ mDataContentObserverMap.get(subId).unRegister(mContext);
+ mDataContentObserverMap.remove(subId);
+ }
+ }
+
public void removeRegister() {
mSubscriptionManager.removeOnSubscriptionsChangedListener(this);
- if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
- mDataContentObserver.unRegister(mContext);
- }
mAirplaneModeObserver.unRegister(mContext);
if (mDataSubscriptionChangedReceiver != null) {
mContext.unregisterReceiver(mDataSubscriptionChangedReceiver);
}
+ mDataContentObserverMap.forEach((id, observer) -> {
+ observer.unRegister(mContext);
+ });
+ mDataContentObserverMap.clear();
+
+ mTelephonyManagerMap.forEach((id, manager) -> {
+ TelephonyCallback callback = mTelephonyCallbackMap.get(manager.getSubscriptionId());
+ if (callback != null) {
+ manager.unregisterTelephonyCallback(callback);
+ }
+ });
+ mTelephonyCallbackMap.clear();
+ mTelephonyManagerMap.clear();
}
private void observeAllSubInfo(LifecycleOwner lifecycleOwner) {
@@ -344,6 +384,7 @@
+ subInfoEntity);
}
mMobileNetworkDatabase.insertSubsInfo(subInfoEntity);
+ addRegisterBySubId(mSubId);
insertUiccInfo(subId);
insertMobileNetworkInfo(context, subId);
mMetricsFeatureProvider.action(mContext,
@@ -365,7 +406,10 @@
mActiveSubInfoEntityList.removeIf(info -> info.subId.equals(subId));
mUiccInfoEntityList.removeIf(info -> info.subId.equals(subId));
mMobileNetworkInfoEntityList.removeIf(info -> info.subId.equals(subId));
- mSubscriptionInfoMap.remove(Integer.parseInt(subId));
+ int id = Integer.parseInt(subId);
+ removerRegisterBySubId(id);
+ mSubscriptionInfoMap.remove(id);
+ mTelephonyManagerMap.remove(id);
sCacheSubscriptionInfoEntityMap.remove(subId);
sCacheUiccInfoEntityMap.remove(subId);
sCacheMobileNetworkInfoEntityMap.remove(subId);
@@ -550,20 +594,37 @@
Settings.Global.AIRPLANE_MODE_ON, 0) != 0;
}
+ private class PhoneCallStateTelephonyCallback extends TelephonyCallback implements
+ TelephonyCallback.CallStateListener {
+
+ @Override
+ public void onCallStateChanged(int state) {
+ mCallback.onCallStateChanged(state);
+ }
+ }
+
/**
* Callback for clients to get the latest info changes if the framework or content observers.
* updates the relevant info.
*/
public interface MobileNetworkCallback {
- void onAvailableSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList);
+ default void onAvailableSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
+ }
- void onActiveSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList);
+ default void onActiveSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
+ }
- void onAllUiccInfoChanged(List<UiccInfoEntity> uiccInfoEntityList);
+ default void onAllUiccInfoChanged(List<UiccInfoEntity> uiccInfoEntityList) {
+ }
- void onAllMobileNetworkInfoChanged(
- List<MobileNetworkInfoEntity> mobileNetworkInfoEntityList);
+ default void onAllMobileNetworkInfoChanged(
+ List<MobileNetworkInfoEntity> mobileNetworkInfoEntityList) {
+ }
- void onAirplaneModeChanged(boolean enabled);
+ default void onAirplaneModeChanged(boolean enabled) {
+ }
+
+ default void onCallStateChanged(int state) {
+ }
}
}
diff --git a/src/com/android/settings/network/MobileNetworkSummaryController.java b/src/com/android/settings/network/MobileNetworkSummaryController.java
index a2fb986..449323d 100644
--- a/src/com/android/settings/network/MobileNetworkSummaryController.java
+++ b/src/com/android/settings/network/MobileNetworkSummaryController.java
@@ -207,10 +207,6 @@
}
@Override
- public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> activeSubInfoList) {
- }
-
- @Override
public void onAllUiccInfoChanged(List<UiccInfoEntity> uiccInfoEntityList) {
mUiccInfoEntityList = uiccInfoEntityList;
update();
diff --git a/src/com/android/settings/network/NetworkProviderCallsSmsController.java b/src/com/android/settings/network/NetworkProviderCallsSmsController.java
index 1fb2ebc..4ad0470 100644
--- a/src/com/android/settings/network/NetworkProviderCallsSmsController.java
+++ b/src/com/android/settings/network/NetworkProviderCallsSmsController.java
@@ -218,21 +218,8 @@
}
@Override
- public void onAvailableSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
- }
-
- @Override
public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> activeSubInfoList) {
mSubInfoEntityList = activeSubInfoList;
update();
}
-
- @Override
- public void onAllUiccInfoChanged(List<UiccInfoEntity> uiccInfoEntityList) {
- }
-
- @Override
- public void onAllMobileNetworkInfoChanged(
- List<MobileNetworkInfoEntity> mobileNetworkInfoEntityList) {
- }
}
diff --git a/src/com/android/settings/network/NetworkProviderSimListController.java b/src/com/android/settings/network/NetworkProviderSimListController.java
index 0b58846..46249ab 100644
--- a/src/com/android/settings/network/NetworkProviderSimListController.java
+++ b/src/com/android/settings/network/NetworkProviderSimListController.java
@@ -172,10 +172,6 @@
}
@Override
- public void onAirplaneModeChanged(boolean airplaneModeEnabled) {
- }
-
- @Override
public void onAvailableSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
mSubInfoEntityList = subInfoEntityList;
mPreferenceCategory.setVisible(isAvailable());
@@ -183,19 +179,6 @@
}
@Override
- public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> activeSubInfoList) {
- }
-
- @Override
- public void onAllUiccInfoChanged(List<UiccInfoEntity> uiccInfoEntityList) {
- }
-
- @Override
- public void onAllMobileNetworkInfoChanged(
- List<MobileNetworkInfoEntity> mobileNetworkInfoEntityList) {
- }
-
- @Override
public void updateState(Preference preference) {
super.updateState(preference);
refreshSummary(mPreferenceCategory);
diff --git a/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java b/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java
index 8a1cb18..4f9e138 100644
--- a/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java
+++ b/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java
@@ -112,14 +112,6 @@
}
@Override
- public void onAirplaneModeChanged(boolean airplaneModeEnabled) {
- }
-
- @Override
- public void onAvailableSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
- }
-
- @Override
public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
// TODO(b/262195754): Need the intent to enabled the feature.
// if (DataServiceUtils.shouldUpdateEntityList(mSubscriptionInfoEntityList,
@@ -133,13 +125,4 @@
// });
// }
}
-
- @Override
- public void onAllUiccInfoChanged(List<UiccInfoEntity> uiccInfoEntityList) {
- }
-
- @Override
- public void onAllMobileNetworkInfoChanged(
- List<MobileNetworkInfoEntity> mobileNetworkInfoEntityList) {
- }
}
diff --git a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
index f36831d..106929b 100644
--- a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
@@ -293,31 +293,16 @@
return true;
}
- @Override
- public void onAirplaneModeChanged(boolean airplaneModeEnabled) {
- }
-
boolean isRtlMode() {
return mIsRtlMode;
}
@Override
- public void onAvailableSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
- }
-
- @Override
public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
mSubInfoEntityList = subInfoEntityList;
updateEntries();
refreshSummary(mPreference);
}
- @Override
- public void onAllUiccInfoChanged(List<UiccInfoEntity> uiccInfoEntityList) {
- }
- @Override
- public void onAllMobileNetworkInfoChanged(
- List<MobileNetworkInfoEntity> mobileNetworkInfoEntityList) {
- }
}
diff --git a/src/com/android/settings/network/telephony/MobileDataPreferenceController.java b/src/com/android/settings/network/telephony/MobileDataPreferenceController.java
index 3fcc259..971bb49 100644
--- a/src/com/android/settings/network/telephony/MobileDataPreferenceController.java
+++ b/src/com/android/settings/network/telephony/MobileDataPreferenceController.java
@@ -233,14 +233,6 @@
}
@Override
- public void onAirplaneModeChanged(boolean airplaneModeEnabled) {
- }
-
- @Override
- public void onAvailableSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
- }
-
- @Override
public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
mSubscriptionInfoEntityList = subInfoEntityList;
mSubscriptionInfoEntityList.forEach(entity -> {
@@ -256,9 +248,6 @@
refreshSummary(mPreference);
}
- @Override
- public void onAllUiccInfoChanged(List<UiccInfoEntity> uiccInfoEntityList) {
- }
@Override
public void onAllMobileNetworkInfoChanged(
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
index d7043e8..1ff5e17 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSettings.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
@@ -497,21 +497,4 @@
}
});
}
-
- @Override
- public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
- }
-
- @Override
- public void onAllUiccInfoChanged(List<UiccInfoEntity> uiccInfoEntityList) {
- }
-
- @Override
- public void onAllMobileNetworkInfoChanged(
- List<MobileNetworkInfoEntity> mobileNetworkInfoEntityList) {
- }
-
- @Override
- public void onAirplaneModeChanged(boolean enabled) {
- }
}
diff --git a/src/com/android/settings/network/telephony/RoamingPreferenceController.java b/src/com/android/settings/network/telephony/RoamingPreferenceController.java
index 9243c99..af56a88 100644
--- a/src/com/android/settings/network/telephony/RoamingPreferenceController.java
+++ b/src/com/android/settings/network/telephony/RoamingPreferenceController.java
@@ -238,22 +238,6 @@
}
@Override
- public void onAirplaneModeChanged(boolean airplaneModeEnabled) {
- }
-
- @Override
- public void onAvailableSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
- }
-
- @Override
- public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
- }
-
- @Override
- public void onAllUiccInfoChanged(List<UiccInfoEntity> uiccInfoEntityList) {
- }
-
- @Override
public void onAllMobileNetworkInfoChanged(
List<MobileNetworkInfoEntity> mobileNetworkInfoEntityList) {
mMobileNetworkInfoEntityList = mobileNetworkInfoEntityList;
diff --git a/src/com/android/settings/notification/NotificationVolumePreferenceController.java b/src/com/android/settings/notification/NotificationVolumePreferenceController.java
index 4fd2341..54d7854 100644
--- a/src/com/android/settings/notification/NotificationVolumePreferenceController.java
+++ b/src/com/android/settings/notification/NotificationVolumePreferenceController.java
@@ -51,7 +51,6 @@
private final RingReceiver mReceiver = new RingReceiver();
private final H mHandler = new H();
-
public NotificationVolumePreferenceController(Context context) {
this(context, KEY_NOTIFICATION_VOLUME);
}
@@ -63,7 +62,9 @@
mVibrateIconId = R.drawable.ic_volume_ringer_vibrate;
mSilentIconId = R.drawable.ic_notifications_off_24dp;
- updateRingerMode();
+ if (updateRingerMode()) {
+ updateEnabledState();
+ }
}
/**
@@ -77,12 +78,10 @@
if (mPreference == null) {
setupVolPreference(screen);
}
- mSeparateNotification = isSeparateNotificationConfigEnabled();
- if (mPreference != null) {
- mPreference.setVisible(getAvailabilityStatus() == AVAILABLE);
- }
+
updateEffectsSuppressor();
selectPreferenceIconState();
+ updateEnabledState();
}
/**
@@ -95,15 +94,19 @@
boolean newVal = isSeparateNotificationConfigEnabled();
if (newVal != mSeparateNotification) {
mSeparateNotification = newVal;
- // manually hiding the preference because being unavailable does not do the job
+ // Update UI if config change happens when Sound Settings page is on the foreground
if (mPreference != null) {
- mPreference.setVisible(getAvailabilityStatus() == AVAILABLE);
+ int status = getAvailabilityStatus();
+ mPreference.setVisible(status == AVAILABLE
+ || status == DISABLED_DEPENDENT_SETTING);
+ if (status == DISABLED_DEPENDENT_SETTING) {
+ mPreference.setEnabled(false);
+ }
}
}
}
}
-
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
@Override
public void onResume() {
@@ -126,10 +129,11 @@
@Override
public int getAvailabilityStatus() {
boolean separateNotification = isSeparateNotificationConfigEnabled();
-
return mContext.getResources().getBoolean(R.bool.config_show_notification_volume)
&& !mHelper.isSingleVolume() && separateNotification
- ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+ ? (mRingerMode == AudioManager.RINGER_MODE_NORMAL
+ ? AVAILABLE : DISABLED_DEPENDENT_SETTING)
+ : UNSUPPORTED_ON_DEVICE;
}
@Override
@@ -158,7 +162,6 @@
if (mVibrator != null && mRingerMode == AudioManager.RINGER_MODE_VIBRATE) {
mMuteIcon = mVibrateIconId;
mPreference.showIcon(mVibrateIconId);
-
} else if (mRingerMode == AudioManager.RINGER_MODE_SILENT
|| mVibrator == null && mRingerMode == AudioManager.RINGER_MODE_VIBRATE) {
mMuteIcon = mSilentIconId;
@@ -175,6 +178,12 @@
}
}
+ private void updateEnabledState() {
+ if (mPreference != null) {
+ mPreference.setEnabled(mRingerMode == AudioManager.RINGER_MODE_NORMAL);
+ }
+ }
+
private final class H extends Handler {
private static final int UPDATE_EFFECTS_SUPPRESSOR = 1;
private static final int UPDATE_RINGER_MODE = 2;
@@ -191,10 +200,13 @@
updateEffectsSuppressor();
break;
case UPDATE_RINGER_MODE:
- updateRingerMode();
+ if (updateRingerMode()) {
+ updateEnabledState();
+ }
break;
case NOTIFICATION_VOLUME_CHANGED:
selectPreferenceIconState();
+ updateEnabledState();
break;
}
}
@@ -239,5 +251,4 @@
}
}
}
-
}
diff --git a/src/com/android/settings/notification/RingerModeAffectedVolumePreferenceController.java b/src/com/android/settings/notification/RingerModeAffectedVolumePreferenceController.java
index 255fe2f..ec619b4 100644
--- a/src/com/android/settings/notification/RingerModeAffectedVolumePreferenceController.java
+++ b/src/com/android/settings/notification/RingerModeAffectedVolumePreferenceController.java
@@ -140,11 +140,18 @@
return valueUpdated;
}
- protected void updateRingerMode() {
+ /**
+ * Updates UI Icon in response to ringer mode changes.
+ * @return whether the ringer mode has changed.
+ */
+ protected boolean updateRingerMode() {
final int ringerMode = mHelper.getRingerModeInternal();
- if (mRingerMode == ringerMode) return;
+ if (mRingerMode == ringerMode) {
+ return false;
+ }
mRingerMode = ringerMode;
selectPreferenceIconState();
+ return true;
}
/**
diff --git a/src/com/android/settings/password/ChooseLockSettingsHelper.java b/src/com/android/settings/password/ChooseLockSettingsHelper.java
index 6ccf7be..a1cd09f 100644
--- a/src/com/android/settings/password/ChooseLockSettingsHelper.java
+++ b/src/com/android/settings/password/ChooseLockSettingsHelper.java
@@ -22,7 +22,9 @@
import android.annotation.Nullable;
import android.app.Activity;
import android.app.KeyguardManager;
+import android.app.StartLockscreenValidationRequest;
import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
import android.content.Intent;
import android.content.IntentSender;
import android.os.UserManager;
@@ -41,6 +43,8 @@
import com.google.android.setupcompat.util.WizardManagerHelper;
+import java.util.Optional;
+
public final class ChooseLockSettingsHelper {
private static final String TAG = "ChooseLockSettingsHelper";
@@ -132,6 +136,7 @@
@Nullable private CharSequence mHeader;
@Nullable private CharSequence mDescription;
@Nullable private CharSequence mAlternateButton;
+ @Nullable private CharSequence mCheckBoxLabel;
private boolean mReturnCredentials;
private boolean mExternal;
private boolean mForegroundOnly;
@@ -139,6 +144,9 @@
private int mUserId;
private boolean mAllowAnyUserId;
private boolean mForceVerifyPath;
+ private boolean mRemoteLockscreenValidation;
+ @Nullable private StartLockscreenValidationRequest mStartLockscreenValidationRequest;
+ @Nullable private ComponentName mRemoteLockscreenValidationServiceComponent;
boolean mRequestGatekeeperPasswordHandle;
public Builder(@NonNull Activity activity) {
@@ -192,6 +200,15 @@
}
/**
+ * @param checkboxLabel text for the checkbox
+ */
+ @NonNull
+ public Builder setCheckboxLabel(@Nullable CharSequence checkboxLabel) {
+ mCheckBoxLabel = checkboxLabel;
+ return this;
+ }
+
+ /**
* @param returnCredentials if true, puts the following credentials into intent for
* onActivityResult with the following keys:
* {@link #EXTRA_KEY_PASSWORD},
@@ -254,6 +271,42 @@
}
/**
+ * @param isRemoteLockscreenValidation if true, remote device validation flow will be
+ * started. {@link #setStartLockscreenValidationRequest} and
+ * {@link #setRemoteLockscreenValidationServiceComponent}
+ * must also be used to set the required data.
+ */
+ @NonNull public Builder setRemoteLockscreenValidation(
+ boolean isRemoteLockscreenValidation) {
+ mRemoteLockscreenValidation = isRemoteLockscreenValidation;
+ return this;
+ }
+
+ /**
+ * @param startLockScreenValidationRequest contains information necessary to perform remote
+ * lockscreen validation such as the remote device's
+ * lockscreen type, public key to be used for
+ * encryption, and remaining attempts.
+ */
+ @NonNull public Builder setStartLockscreenValidationRequest(
+ StartLockscreenValidationRequest startLockScreenValidationRequest) {
+ mStartLockscreenValidationRequest = startLockScreenValidationRequest;
+ return this;
+ }
+
+ /**
+ * @param remoteLockscreenValidationServiceComponent the {@link ComponentName} of the
+ * {@link android.service.remotelockscreenvalidation.RemoteLockscreenValidationService}
+ * that will be used to validate the lockscreen guess.
+ */
+ @NonNull public Builder setRemoteLockscreenValidationServiceComponent(
+ ComponentName remoteLockscreenValidationServiceComponent) {
+ mRemoteLockscreenValidationServiceComponent =
+ remoteLockscreenValidationServiceComponent;
+ return this;
+ }
+
+ /**
* Requests that LockSettingsService return a handle to the Gatekeeper Password (instead of
* the Gatekeeper HAT). This allows us to use a single entry of the user's credential
* to create multiple Gatekeeper HATs containing distinct challenges via
@@ -315,49 +368,41 @@
return launchConfirmationActivity(mBuilder.mRequestCode, mBuilder.mTitle, mBuilder.mHeader,
mBuilder.mDescription, mBuilder.mReturnCredentials, mBuilder.mExternal,
mBuilder.mForceVerifyPath, mBuilder.mUserId, mBuilder.mAlternateButton,
- mBuilder.mAllowAnyUserId, mBuilder.mForegroundOnly,
- mBuilder.mRequestGatekeeperPasswordHandle);
+ mBuilder.mCheckBoxLabel, mBuilder.mRemoteLockscreenValidation,
+ mBuilder.mStartLockscreenValidationRequest,
+ mBuilder.mRemoteLockscreenValidationServiceComponent, mBuilder.mAllowAnyUserId,
+ mBuilder.mForegroundOnly, mBuilder.mRequestGatekeeperPasswordHandle);
}
private boolean launchConfirmationActivity(int request, @Nullable CharSequence title,
@Nullable CharSequence header, @Nullable CharSequence description,
boolean returnCredentials, boolean external, boolean forceVerifyPath,
- int userId, @Nullable CharSequence alternateButton, boolean allowAnyUser,
- boolean foregroundOnly, boolean requestGatekeeperPasswordHandle) {
- final int effectiveUserId = UserManager.get(mActivity).getCredentialOwnerProfile(userId);
- boolean launched = false;
-
- switch (mLockPatternUtils.getKeyguardStoredPasswordQuality(effectiveUserId)) {
- case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
- launched = launchConfirmationActivity(request, title, header, description,
- returnCredentials || forceVerifyPath
- ? ConfirmLockPattern.InternalActivity.class
- : ConfirmLockPattern.class, returnCredentials, external,
- forceVerifyPath, userId, alternateButton, allowAnyUser,
- foregroundOnly, requestGatekeeperPasswordHandle);
- break;
- case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
- case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX:
- case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
- case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC:
- case DevicePolicyManager.PASSWORD_QUALITY_COMPLEX:
- case DevicePolicyManager.PASSWORD_QUALITY_MANAGED:
- launched = launchConfirmationActivity(request, title, header, description,
- returnCredentials || forceVerifyPath
- ? ConfirmLockPassword.InternalActivity.class
- : ConfirmLockPassword.class, returnCredentials, external,
- forceVerifyPath, userId, alternateButton, allowAnyUser,
- foregroundOnly, requestGatekeeperPasswordHandle);
- break;
+ int userId, @Nullable CharSequence alternateButton,
+ @Nullable CharSequence checkboxLabel, boolean remoteLockscreenValidation,
+ @Nullable StartLockscreenValidationRequest startLockScreenValidationRequest,
+ @Nullable ComponentName remoteLockscreenValidationServiceComponent,
+ boolean allowAnyUser, boolean foregroundOnly, boolean requestGatekeeperPasswordHandle) {
+ Optional<Class<?>> activityClass = determineAppropriateActivityClass(
+ returnCredentials, forceVerifyPath, userId, startLockScreenValidationRequest);
+ if (activityClass.isEmpty()) {
+ return false;
}
- return launched;
+
+ return launchConfirmationActivity(request, title, header, description, activityClass.get(),
+ returnCredentials, external, forceVerifyPath, userId, alternateButton,
+ checkboxLabel, remoteLockscreenValidation, startLockScreenValidationRequest,
+ remoteLockscreenValidationServiceComponent, allowAnyUser, foregroundOnly,
+ requestGatekeeperPasswordHandle);
}
private boolean launchConfirmationActivity(int request, CharSequence title, CharSequence header,
CharSequence message, Class<?> activityClass, boolean returnCredentials,
boolean external, boolean forceVerifyPath, int userId,
- @Nullable CharSequence alternateButton, boolean allowAnyUser,
- boolean foregroundOnly, boolean requestGatekeeperPasswordHandle) {
+ @Nullable CharSequence alternateButton, @Nullable CharSequence checkbox,
+ boolean remoteLockscreenValidation,
+ @Nullable StartLockscreenValidationRequest startLockScreenValidationRequest,
+ @Nullable ComponentName remoteLockscreenValidationServiceComponent,
+ boolean allowAnyUser, boolean foregroundOnly, boolean requestGatekeeperPasswordHandle) {
final Intent intent = new Intent();
intent.putExtra(ConfirmDeviceCredentialBaseFragment.TITLE_TEXT, title);
intent.putExtra(ConfirmDeviceCredentialBaseFragment.HEADER_TEXT, header);
@@ -367,10 +412,16 @@
intent.putExtra(ConfirmDeviceCredentialBaseFragment.SHOW_CANCEL_BUTTON, false);
intent.putExtra(ConfirmDeviceCredentialBaseFragment.SHOW_WHEN_LOCKED, external);
intent.putExtra(ConfirmDeviceCredentialBaseFragment.USE_FADE_ANIMATION, external);
+ intent.putExtra(ConfirmDeviceCredentialBaseFragment.IS_REMOTE_LOCKSCREEN_VALIDATION,
+ remoteLockscreenValidation);
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_RETURN_CREDENTIALS, returnCredentials);
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FORCE_VERIFY, forceVerifyPath);
intent.putExtra(Intent.EXTRA_USER_ID, userId);
intent.putExtra(KeyguardManager.EXTRA_ALTERNATE_BUTTON_LABEL, alternateButton);
+ intent.putExtra(KeyguardManager.EXTRA_CHECKBOX_LABEL, checkbox);
+ intent.putExtra(KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST,
+ startLockScreenValidationRequest);
+ intent.putExtra(Intent.EXTRA_COMPONENT_NAME, remoteLockscreenValidationServiceComponent);
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOREGROUND_ONLY, foregroundOnly);
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_ALLOW_ANY_USER, allowAnyUser);
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE,
@@ -405,6 +456,58 @@
return true;
}
+ private Optional<Integer> passwordQualityToLockTypes(int quality) {
+ switch (quality) {
+ case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
+ return Optional.of(KeyguardManager.PATTERN);
+ case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
+ case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX:
+ return Optional.of(KeyguardManager.PIN);
+ case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
+ case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC:
+ case DevicePolicyManager.PASSWORD_QUALITY_COMPLEX:
+ case DevicePolicyManager.PASSWORD_QUALITY_MANAGED:
+ return Optional.of(KeyguardManager.PASSWORD);
+ }
+ Log.e(TAG, String.format(
+ "Cannot determine appropriate activity class for password quality %d",
+ quality));
+ return Optional.empty();
+ }
+
+ private Optional<Class<?>> determineAppropriateActivityClass(boolean returnCredentials,
+ boolean forceVerifyPath, int userId,
+ @Nullable StartLockscreenValidationRequest startLockscreenValidationRequest) {
+ int lockType;
+ if (startLockscreenValidationRequest != null) {
+ lockType = startLockscreenValidationRequest.getLockscreenUiType();
+ } else {
+ final int effectiveUserId = UserManager
+ .get(mActivity).getCredentialOwnerProfile(userId);
+ Optional<Integer> lockTypeOptional = passwordQualityToLockTypes(
+ mLockPatternUtils.getKeyguardStoredPasswordQuality(effectiveUserId));
+ if (lockTypeOptional.isEmpty()) {
+ return Optional.empty();
+ }
+ lockType = lockTypeOptional.get();
+ }
+
+ switch (lockType) {
+ case KeyguardManager.PASSWORD:
+ case KeyguardManager.PIN:
+ return Optional.of(returnCredentials || forceVerifyPath
+ ? ConfirmLockPassword.InternalActivity.class
+ : ConfirmLockPassword.class);
+ case KeyguardManager.PATTERN:
+ return Optional.of(returnCredentials || forceVerifyPath
+ ? ConfirmLockPattern.InternalActivity.class
+ : ConfirmLockPattern.class);
+ }
+ Log.e(TAG, String.format("Cannot determine appropriate activity class for lock type %d",
+ lockType));
+ return Optional.empty();
+ }
+
private void copyOptionalExtras(Intent inIntent, Intent outIntent) {
IntentSender intentSender = inIntent.getParcelableExtra(Intent.EXTRA_INTENT);
if (intentSender != null) {
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
index e56e86c..31d9c74 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
@@ -28,8 +28,10 @@
import android.app.Activity;
import android.app.KeyguardManager;
+import android.app.StartLockscreenValidationRequest;
import android.app.admin.DevicePolicyManager;
import android.app.trust.TrustManager;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
@@ -97,7 +99,7 @@
private boolean mCheckDevicePolicyManager;
private String mTitle;
- private String mDetails;
+ private CharSequence mDetails;
private int mUserId;
private int mCredentialMode;
private boolean mGoingToBackground;
@@ -178,10 +180,12 @@
mCheckDevicePolicyManager = intent
.getBooleanExtra(KeyguardManager.EXTRA_DISALLOW_BIOMETRICS_IF_POLICY_EXISTS, false);
mTitle = intent.getStringExtra(KeyguardManager.EXTRA_TITLE);
- mDetails = intent.getStringExtra(KeyguardManager.EXTRA_DESCRIPTION);
+ mDetails = intent.getCharSequenceExtra(KeyguardManager.EXTRA_DESCRIPTION);
String alternateButton = intent.getStringExtra(
KeyguardManager.EXTRA_ALTERNATE_BUTTON_LABEL);
boolean frp = KeyguardManager.ACTION_CONFIRM_FRP_CREDENTIAL.equals(intent.getAction());
+ boolean remoteValidation =
+ KeyguardManager.ACTION_CONFIRM_REMOTE_DEVICE_CREDENTIAL.equals(intent.getAction());
mUserId = UserHandle.myUserId();
if (isInternalActivity()) {
@@ -230,6 +234,28 @@
.setExternal(true)
.setUserId(LockPatternUtils.USER_FRP)
.show();
+ } else if (remoteValidation) {
+ StartLockscreenValidationRequest startLockScreenValidationRequest =
+ intent.getParcelableExtra(
+ KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST,
+ StartLockscreenValidationRequest.class);
+ ComponentName remoteLockscreenValidationServiceComponent =
+ intent.getParcelableExtra(Intent.EXTRA_COMPONENT_NAME, ComponentName.class);
+
+ String checkboxLabel = intent.getStringExtra(KeyguardManager.EXTRA_CHECKBOX_LABEL);
+ final ChooseLockSettingsHelper.Builder builder =
+ new ChooseLockSettingsHelper.Builder(this);
+ launchedCDC = builder
+ .setRemoteLockscreenValidation(true)
+ .setStartLockscreenValidationRequest(startLockScreenValidationRequest)
+ .setRemoteLockscreenValidationServiceComponent(
+ remoteLockscreenValidationServiceComponent)
+ .setHeader(mTitle) // Show the title in the header location
+ .setDescription(mDetails)
+ .setCheckboxLabel(checkboxLabel)
+ .setAlternateButton(alternateButton)
+ .setExternal(true)
+ .show();
} else if (isEffectiveUserManagedProfile && isInternalActivity()) {
mCredentialMode = CREDENTIAL_MANAGED;
if (isBiometricAllowed(effectiveUserId, mUserId)) {
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
index 7787ae1..7c3df61 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
@@ -24,8 +24,11 @@
import android.annotation.Nullable;
import android.app.Dialog;
import android.app.KeyguardManager;
+import android.app.RemoteLockscreenValidationResult;
+import android.app.StartLockscreenValidationRequest;
import android.app.admin.DevicePolicyManager;
import android.app.admin.ManagedSubscriptionsPolicy;
+import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
@@ -35,11 +38,15 @@
import android.os.Handler;
import android.os.UserHandle;
import android.os.UserManager;
+import android.service.remotelockscreenvalidation.IRemoteLockscreenValidationCallback;
+import android.service.remotelockscreenvalidation.RemoteLockscreenValidationClient;
import android.telecom.TelecomManager;
import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
+import android.widget.CheckBox;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
@@ -47,10 +54,16 @@
import androidx.fragment.app.FragmentManager;
import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.widget.LockscreenCredential;
+import com.android.security.SecureBox;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.InstrumentedFragment;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.security.PublicKey;
+
/**
* Base fragment to be shared for PIN/Pattern/Password confirmation fragments.
*/
@@ -66,6 +79,8 @@
SETTINGS_PACKAGE_NAME + ".ConfirmCredentials.showWhenLocked";
public static final String USE_FADE_ANIMATION =
SETTINGS_PACKAGE_NAME + ".ConfirmCredentials.useFadeAnimation";
+ public static final String IS_REMOTE_LOCKSCREEN_VALIDATION =
+ SETTINGS_PACKAGE_NAME + ".ConfirmCredentials.isRemoteLockscreenValidation";
protected static final int USER_TYPE_PRIMARY = 1;
protected static final int USER_TYPE_MANAGED_PROFILE = 2;
@@ -77,6 +92,7 @@
protected boolean mReturnCredentials = false;
protected boolean mReturnGatekeeperPassword = false;
protected boolean mForceVerifyPath = false;
+ protected CheckBox mCheckBox;
protected Button mCancelButton;
/** Button allowing managed profile password reset, null when is not shown. */
@Nullable protected Button mForgotButton;
@@ -88,8 +104,13 @@
protected TextView mErrorTextView;
protected final Handler mHandler = new Handler();
protected boolean mFrp;
- private CharSequence mFrpAlternateButtonText;
+ protected boolean mRemoteValidation;
+ protected CharSequence mAlternateButtonText;
protected BiometricManager mBiometricManager;
+ @Nullable protected StartLockscreenValidationRequest mStartLockscreenValidationRequest;
+ /** Credential saved so the credential can be set for device if remote validation passes */
+ @Nullable protected LockscreenCredential mDeviceCredentialGuess;
+ @Nullable protected RemoteLockscreenValidationClient mRemoteLockscreenValidationClient;
private boolean isInternalActivity() {
return (getActivity() instanceof ConfirmLockPassword.InternalActivity)
@@ -100,7 +121,7 @@
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Intent intent = getActivity().getIntent();
- mFrpAlternateButtonText = intent.getCharSequenceExtra(
+ mAlternateButtonText = intent.getCharSequenceExtra(
KeyguardManager.EXTRA_ALTERNATE_BUTTON_LABEL);
mReturnCredentials = intent.getBooleanExtra(
ChooseLockSettingsHelper.EXTRA_KEY_RETURN_CREDENTIALS, false);
@@ -110,6 +131,41 @@
mForceVerifyPath = intent.getBooleanExtra(
ChooseLockSettingsHelper.EXTRA_KEY_FORCE_VERIFY, false);
+ if (intent.getBooleanExtra(IS_REMOTE_LOCKSCREEN_VALIDATION, false)) {
+ if (FeatureFlagUtils.isEnabled(getContext(),
+ FeatureFlagUtils.SETTINGS_REMOTE_DEVICE_CREDENTIAL_VALIDATION)) {
+ mRemoteValidation = true;
+ } else {
+ Log.e(TAG, "Remote device credential validation not enabled.");
+ getActivity().finish();
+ }
+ }
+ if (mRemoteValidation) {
+ mStartLockscreenValidationRequest = intent.getParcelableExtra(
+ KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST,
+ StartLockscreenValidationRequest.class);
+ if (mStartLockscreenValidationRequest == null
+ || mStartLockscreenValidationRequest.getRemainingAttempts() == 0) {
+ Log.e(TAG, "StartLockscreenValidationRequest is null or "
+ + "no more attempts for remote lockscreen validation.");
+ getActivity().finish();
+ }
+
+ ComponentName remoteLockscreenValidationServiceComponent =
+ intent.getParcelableExtra(Intent.EXTRA_COMPONENT_NAME, ComponentName.class);
+ if (remoteLockscreenValidationServiceComponent == null) {
+ Log.e(TAG, "RemoteLockscreenValidationService ComponentName is null");
+ getActivity().finish();
+ }
+ mRemoteLockscreenValidationClient = RemoteLockscreenValidationClient
+ .create(getContext(), remoteLockscreenValidationServiceComponent);
+ if (!mRemoteLockscreenValidationClient.isServiceAvailable()) {
+ Log.e(TAG, String.format("RemoteLockscreenValidationService at %s is not available",
+ remoteLockscreenValidationServiceComponent.getClassName()));
+ getActivity().finish();
+ }
+ }
+
// Only take this argument into account if it belongs to the current profile.
mUserId = Utils.getUserIdFromBundle(getActivity(), intent.getExtras(),
isInternalActivity());
@@ -126,13 +182,14 @@
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mCancelButton = view.findViewById(R.id.cancelButton);
- boolean showCancelButton = getActivity().getIntent().getBooleanExtra(
+ boolean showCancelButton = mRemoteValidation || getActivity().getIntent().getBooleanExtra(
SHOW_CANCEL_BUTTON, false);
- boolean hasAlternateButton = mFrp && !TextUtils.isEmpty(mFrpAlternateButtonText);
+ boolean hasAlternateButton = (mFrp || mRemoteValidation) && !TextUtils.isEmpty(
+ mAlternateButtonText);
mCancelButton.setVisibility(showCancelButton || hasAlternateButton
? View.VISIBLE : View.GONE);
if (hasAlternateButton) {
- mCancelButton.setText(mFrpAlternateButtonText);
+ mCancelButton.setText(mAlternateButtonText);
}
mCancelButton.setOnClickListener(v -> {
if (hasAlternateButton) {
@@ -141,6 +198,11 @@
getActivity().finish();
});
setupForgotButtonIfManagedProfile(view);
+
+ mCheckBox = view.findViewById(R.id.checkbox);
+ if (mCheckBox != null && mRemoteValidation) {
+ mCheckBox.setVisibility(View.VISIBLE);
+ }
setupEmergencyCallButtonIfManagedSubscription(view);
}
@@ -232,8 +294,21 @@
super.onPause();
}
+ @Override
+ public void onDestroy() {
+ if (mRemoteLockscreenValidationClient != null) {
+ mRemoteLockscreenValidationClient.disconnect();
+ }
+ if (mDeviceCredentialGuess != null) {
+ mDeviceCredentialGuess.zeroize();
+ }
+ super.onDestroy();
+ }
+
protected abstract void authenticationSucceeded();
+ protected abstract void onRemoteDeviceCredentialValidationResult(
+ RemoteLockscreenValidationResult result);
public void prepareEnterAnimation() {
}
@@ -335,6 +410,46 @@
}
}
+ protected void validateGuess(LockscreenCredential credentialGuess) {
+ if (mCheckBox.isChecked()) {
+ // Keep credential in memory since user wants to set guess as screen lock.
+ mDeviceCredentialGuess = credentialGuess;
+ } else if (mDeviceCredentialGuess != null) {
+ mDeviceCredentialGuess.zeroize();
+ }
+
+ mRemoteLockscreenValidationClient.validateLockscreenGuess(
+ encryptDeviceCredentialGuess(credentialGuess.getCredential()),
+ new IRemoteLockscreenValidationCallback.Stub() {
+ @Override
+ public void onSuccess(RemoteLockscreenValidationResult result) {
+ mHandler.post(()->onRemoteDeviceCredentialValidationResult(result));
+ }
+
+ @Override
+ public void onFailure(String message) {
+ Log.e(TAG, "A failure occurred while trying "
+ + "to validate lockscreen guess: " + message);
+ mHandler.post(()->getActivity().finish());
+ }
+ });
+ }
+
+ private byte[] encryptDeviceCredentialGuess(byte[] guess) {
+ try {
+ byte[] encodedPublicKey = mStartLockscreenValidationRequest.getSourcePublicKey();
+ PublicKey publicKey = SecureBox.decodePublicKey(encodedPublicKey);
+ return SecureBox.encrypt(
+ publicKey,
+ /* sharedSecret= */ null,
+ LockPatternUtils.ENCRYPTED_REMOTE_CREDENTIALS_HEADER,
+ guess);
+ } catch (NoSuchAlgorithmException | InvalidKeyException e) {
+ Log.w(TAG, "Error encrypting device credential guess. Returning empty byte[].", e);
+ return new byte[0];
+ }
+ }
+
protected abstract void onShowError();
protected void showError(int msg, long timeout) {
diff --git a/src/com/android/settings/password/ConfirmLockPassword.java b/src/com/android/settings/password/ConfirmLockPassword.java
index 48c9aa8..83dc85c 100644
--- a/src/com/android/settings/password/ConfirmLockPassword.java
+++ b/src/com/android/settings/password/ConfirmLockPassword.java
@@ -27,6 +27,8 @@
import static android.app.admin.DevicePolicyResources.UNDEFINED;
import android.annotation.Nullable;
+import android.app.KeyguardManager;
+import android.app.RemoteLockscreenValidationResult;
import android.app.admin.DevicePolicyManager;
import android.app.settings.SettingsEnums;
import android.content.Context;
@@ -42,6 +44,7 @@
import android.text.Editable;
import android.text.InputType;
import android.text.TextUtils;
+import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
@@ -114,13 +117,13 @@
super.onWindowFocusChanged(hasFocus);
Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.main_content);
if (fragment != null && fragment instanceof ConfirmLockPasswordFragment) {
- ((ConfirmLockPasswordFragment)fragment).onWindowFocusChanged(hasFocus);
+ ((ConfirmLockPasswordFragment) fragment).onWindowFocusChanged(hasFocus);
}
}
public static class ConfirmLockPasswordFragment extends ConfirmDeviceCredentialBaseFragment
implements OnClickListener, OnEditorActionListener,
- CredentialCheckResultTracker.Listener {
+ CredentialCheckResultTracker.Listener, SaveChosenLockWorkerBase.Listener {
private static final String FRAGMENT_TAG_CHECK_LOCK_RESULT = "check_lock_result";
private ImeAwareEditText mPasswordEntry;
private TextViewInputDisabler mPasswordEntryInputDisabler;
@@ -134,6 +137,7 @@
private DisappearAnimationUtils mDisappearAnimationUtils;
private boolean mIsManagedProfile;
private GlifLayout mGlifLayout;
+ private CharSequence mCheckBoxLabel;
// required constructor for fragments
public ConfirmLockPasswordFragment() {
@@ -160,11 +164,19 @@
mPasswordEntry.requestFocus();
mPasswordEntryInputDisabler = new TextViewInputDisabler(mPasswordEntry);
mErrorTextView = (TextView) view.findViewById(R.id.errorText);
- mIsAlpha = DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC == storedQuality
- || DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC == storedQuality
- || DevicePolicyManager.PASSWORD_QUALITY_COMPLEX == storedQuality
- || DevicePolicyManager.PASSWORD_QUALITY_MANAGED == storedQuality;
+ if (mRemoteValidation) {
+ mIsAlpha = mStartLockscreenValidationRequest.getLockscreenUiType()
+ == KeyguardManager.PASSWORD;
+ // ProgressBar visibility is set to GONE until interacted with.
+ // Set progress bar to INVISIBLE, so the EditText does not get bumped down later.
+ mGlifLayout.setProgressBarShown(false);
+ } else {
+ mIsAlpha = DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC == storedQuality
+ || DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC == storedQuality
+ || DevicePolicyManager.PASSWORD_QUALITY_COMPLEX == storedQuality
+ || DevicePolicyManager.PASSWORD_QUALITY_MANAGED == storedQuality;
+ }
mImm = (InputMethodManager) getActivity().getSystemService(
Context.INPUT_METHOD_SERVICE);
@@ -187,6 +199,7 @@
}
mGlifLayout.setHeaderText(headerMessage);
mGlifLayout.setDescriptionText(detailsMessage);
+ mCheckBoxLabel = intent.getCharSequenceExtra(KeyguardManager.EXTRA_CHECKBOX_LABEL);
}
int currentType = mPasswordEntry.getInputType();
if (mIsAlpha) {
@@ -227,6 +240,19 @@
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
+ if (mRemoteValidation) {
+ if (mCheckBox != null) {
+ mCheckBox.setText(TextUtils.isEmpty(mCheckBoxLabel)
+ ? getDefaultCheckboxLabel()
+ : mCheckBoxLabel);
+ }
+ if (mCancelButton != null && TextUtils.isEmpty(mAlternateButtonText)) {
+ mCancelButton.setText(mIsAlpha
+ ? R.string.lockpassword_forgot_password
+ : R.string.lockpassword_forgot_pin);
+ }
+ }
+
if (mForgotButton != null) {
mForgotButton.setText(mIsAlpha
? R.string.lockpassword_forgot_password
@@ -237,7 +263,9 @@
@Override
public void onDestroy() {
super.onDestroy();
- mPasswordEntry.setText(null);
+ if (mPasswordEntry != null) {
+ mPasswordEntry.setText(null);
+ }
// Force a garbage collection to remove remnant of user password shards from memory.
// Execute this with a slight delay to allow the activity lifecycle to complete and
// the instance to become gc-able.
@@ -253,6 +281,9 @@
return mIsAlpha ? getString(R.string.lockpassword_confirm_your_password_header_frp)
: getString(R.string.lockpassword_confirm_your_pin_header_frp);
}
+ if (mRemoteValidation) {
+ return getString(R.string.lockpassword_remote_validation_header);
+ }
if (mIsManagedProfile) {
if (mIsAlpha) {
return mDevicePolicyManager.getResources().getString(
@@ -273,6 +304,11 @@
return mIsAlpha ? getString(R.string.lockpassword_confirm_your_password_details_frp)
: getString(R.string.lockpassword_confirm_your_pin_details_frp);
}
+ if (mRemoteValidation) {
+ return getContext().getString(mIsAlpha
+ ? R.string.lockpassword_remote_validation_password_details
+ : R.string.lockpassword_remote_validation_pin_details);
+ }
boolean isStrongAuthRequired = isStrongAuthRequired();
// Map boolean flags to an index by isStrongAuth << 2 + isManagedProfile << 1 + isAlpha.
int index = ((isStrongAuthRequired ? 1 : 0) << 2) + ((mIsManagedProfile ? 1 : 0) << 1)
@@ -281,6 +317,16 @@
DETAIL_TEXT_OVERRIDES[index], () -> getString(DETAIL_TEXTS[index]));
}
+ private String getDefaultCheckboxLabel() {
+ if (mRemoteValidation) {
+ return getString(mIsAlpha
+ ? R.string.lockpassword_remote_validation_set_password_as_screenlock
+ : R.string.lockpassword_remote_validation_set_pin_as_screenlock);
+ }
+ throw new IllegalStateException(
+ "Trying to get default checkbox label for illegal flow");
+ }
+
private int getErrorMessage() {
return mIsAlpha ? R.string.lockpassword_invalid_password
: R.string.lockpassword_invalid_pin;
@@ -392,6 +438,7 @@
mImm.hideSoftInputFromWindow(mPasswordEntry.getWindowToken(), 0 /*flags*/);
} else {
mPasswordEntry.scheduleShowSoftInput();
+ mPasswordEntry.requestFocus();
}
}
@@ -413,12 +460,18 @@
if (TextUtils.isEmpty(passwordText)) {
return;
}
- final LockscreenCredential credential =
- mIsAlpha ? LockscreenCredential.createPassword(passwordText)
+ final LockscreenCredential credential = mIsAlpha
+ ? LockscreenCredential.createPassword(passwordText)
: LockscreenCredential.createPin(passwordText);
mPasswordEntryInputDisabler.setInputEnabled(false);
+ if (mRemoteValidation) {
+ validateGuess(credential);
+ mGlifLayout.setProgressBarShown(true);
+ return;
+ }
+
Intent intent = new Intent();
// TODO(b/161956762): Sanitize this
if (mReturnGatekeeperPassword) {
@@ -547,6 +600,44 @@
}
@Override
+ protected void onRemoteDeviceCredentialValidationResult(
+ RemoteLockscreenValidationResult result) {
+ switch (result.getResultCode()) {
+ case RemoteLockscreenValidationResult.RESULT_GUESS_VALID:
+ if (mCheckBox.isChecked()) {
+ ChooseLockPassword.SaveAndFinishWorker saveAndFinishWorker =
+ new ChooseLockPassword.SaveAndFinishWorker();
+ Log.i(TAG, "Setting device screen lock to the other device's screen lock.");
+ getFragmentManager().beginTransaction().add(saveAndFinishWorker, null)
+ .commit();
+ getFragmentManager().executePendingTransactions();
+ saveAndFinishWorker.setListener(this);
+ saveAndFinishWorker.start(
+ mLockPatternUtils,
+ /* requestGatekeeperPassword= */ false,
+ mDeviceCredentialGuess,
+ /* currentCredential= */ null,
+ mEffectiveUserId);
+ return;
+ }
+ mCredentialCheckResultTracker.setResult(/* matched= */ true, new Intent(),
+ /* timeoutMs= */ 0, mEffectiveUserId);
+ break;
+ case RemoteLockscreenValidationResult.RESULT_GUESS_INVALID:
+ mCredentialCheckResultTracker.setResult(/* matched= */ false, new Intent(),
+ /* timeoutMs= */ 0, mEffectiveUserId);
+ break;
+ case RemoteLockscreenValidationResult.RESULT_LOCKOUT:
+ mCredentialCheckResultTracker.setResult(/* matched= */ false, new Intent(),
+ (int) result.getTimeoutMillis(), mEffectiveUserId);
+ break;
+ case RemoteLockscreenValidationResult.RESULT_NO_REMAINING_ATTEMPTS:
+ getActivity().finish();
+ }
+ mGlifLayout.setProgressBarShown(false);
+ }
+
+ @Override
public void onCredentialChecked(boolean matched, Intent intent, int timeoutMs,
int effectiveUserId, boolean newResult) {
onPasswordChecked(matched, intent, timeoutMs, effectiveUserId, newResult);
@@ -601,5 +692,19 @@
}
return false;
}
+
+ /**
+ * Callback for when the device credential guess used for remote validation was set as the
+ * current device's device credential.
+ */
+ @Override
+ public void onChosenLockSaveFinished(boolean wasSecureBefore, Intent resultData) {
+ if (mDeviceCredentialGuess != null) {
+ mDeviceCredentialGuess.zeroize();
+ }
+ mGlifLayout.setProgressBarShown(false);
+ mCredentialCheckResultTracker.setResult(/* matched= */ true, new Intent(),
+ /* timeoutMs= */ 0, mEffectiveUserId);
+ }
}
}
diff --git a/src/com/android/settings/password/ConfirmLockPattern.java b/src/com/android/settings/password/ConfirmLockPattern.java
index b4f0aa3..0013d7a 100644
--- a/src/com/android/settings/password/ConfirmLockPattern.java
+++ b/src/com/android/settings/password/ConfirmLockPattern.java
@@ -25,6 +25,8 @@
import android.annotation.Nullable;
import android.annotation.SuppressLint;
import android.app.Activity;
+import android.app.KeyguardManager;
+import android.app.RemoteLockscreenValidationResult;
import android.app.settings.SettingsEnums;
import android.content.Intent;
import android.os.AsyncTask;
@@ -33,6 +35,7 @@
import android.os.SystemClock;
import android.os.UserManager;
import android.text.TextUtils;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
@@ -89,7 +92,8 @@
}
public static class ConfirmLockPatternFragment extends ConfirmDeviceCredentialBaseFragment
- implements AppearAnimationCreator<Object>, CredentialCheckResultTracker.Listener {
+ implements AppearAnimationCreator<Object>, CredentialCheckResultTracker.Listener,
+ SaveChosenLockWorkerBase.Listener {
private static final String FRAGMENT_TAG_CHECK_LOCK_RESULT = "check_lock_result";
@@ -105,6 +109,7 @@
// caller-supplied text for various prompts
private CharSequence mHeaderText;
private CharSequence mDetailsText;
+ private CharSequence mCheckBoxLabel;
private AppearAnimationUtils mAppearAnimationUtils;
private DisappearAnimationUtils mDisappearAnimationUtils;
@@ -148,6 +153,7 @@
ConfirmDeviceCredentialBaseFragment.HEADER_TEXT);
mDetailsText = intent.getCharSequenceExtra(
ConfirmDeviceCredentialBaseFragment.DETAILS_TEXT);
+ mCheckBoxLabel = intent.getCharSequenceExtra(KeyguardManager.EXTRA_CHECKBOX_LABEL);
}
if (TextUtils.isEmpty(mHeaderText) && mIsManagedProfile) {
mHeaderText = mDevicePolicyManager.getOrganizationNameForUser(mUserId);
@@ -174,7 +180,8 @@
// ability to disable the pattern in L. Remove this block after
// ensuring it's safe to do so. (Note that ConfirmLockPassword
// doesn't have this).
- if (!mFrp && !mLockPatternUtils.isLockPatternEnabled(mEffectiveUserId)) {
+ if (!mFrp && !mRemoteValidation
+ && !mLockPatternUtils.isLockPatternEnabled(mEffectiveUserId)) {
getActivity().setResult(Activity.RESULT_OK);
getActivity().finish();
}
@@ -203,12 +210,33 @@
FRAGMENT_TAG_CHECK_LOCK_RESULT).commit();
}
+ if (mRemoteValidation) {
+ // ProgressBar visibility is set to GONE until interacted with.
+ // Set progress bar to INVISIBLE, so the pattern does not get bumped down later.
+ mGlifLayout.setProgressBarShown(false);
+ // Lock pattern is generally not visible until the user has set a lockscreen for the
+ // first time. For a new user, this means that the pattern will always be hidden.
+ // Despite this prerequisite, we want to show the pattern anyway for this flow.
+ mLockPatternView.setInStealthMode(false);
+ }
+
return view;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
+ if (mRemoteValidation) {
+ if (mCheckBox != null) {
+ mCheckBox.setText(TextUtils.isEmpty(mCheckBoxLabel)
+ ? getDefaultCheckboxLabel()
+ : mCheckBoxLabel);
+ }
+ if (mCancelButton != null && TextUtils.isEmpty(mAlternateButtonText)) {
+ mCancelButton.setText(R.string.lockpassword_forgot_pattern);
+ }
+ }
+
if (mForgotButton != null) {
mForgotButton.setText(R.string.lockpassword_forgot_pattern);
}
@@ -271,6 +299,10 @@
if (mFrp) {
return getString(R.string.lockpassword_confirm_your_pattern_details_frp);
}
+ if (mRemoteValidation) {
+ return getString(
+ R.string.lockpassword_remote_validation_pattern_details);
+ }
final boolean isStrongAuthRequired = isStrongAuthRequired();
if (mIsManagedProfile) {
if (isStrongAuthRequired) {
@@ -335,11 +367,11 @@
} else {
mGlifLayout.setHeaderText(getDefaultHeader());
}
- if (mDetailsText != null) {
- mGlifLayout.setDescriptionText(mDetailsText);
- } else {
- mGlifLayout.setDescriptionText(getDefaultDetails());
- }
+
+ CharSequence detailsText =
+ mDetailsText == null ? getDefaultDetails() : mDetailsText;
+ mGlifLayout.setDescriptionText(detailsText);
+
mErrorTextView.setText("");
updateErrorMessage(
mLockPatternUtils.getCurrentFailedPasswordAttempts(mEffectiveUserId));
@@ -371,7 +403,9 @@
private String getDefaultHeader() {
if (mFrp) return getString(R.string.lockpassword_confirm_your_pattern_header_frp);
-
+ if (mRemoteValidation) {
+ return getString(R.string.lockpassword_remote_validation_header);
+ }
if (mIsManagedProfile) {
return mDevicePolicyManager.getResources().getString(
CONFIRM_WORK_PROFILE_PATTERN_HEADER,
@@ -381,6 +415,14 @@
return getString(R.string.lockpassword_confirm_your_pattern_header);
}
+ private String getDefaultCheckboxLabel() {
+ if (mRemoteValidation) {
+ return getString(R.string.lockpassword_remote_validation_set_pattern_as_screenlock);
+ }
+ throw new IllegalStateException(
+ "Trying to get default checkbox label for illegal flow");
+ }
+
private Runnable mClearPatternRunnable = new Runnable() {
public void run() {
mLockPatternView.clearPattern();
@@ -431,7 +473,7 @@
* an existing lock pattern.
*/
private LockPatternView.OnPatternListener mConfirmExistingLockPatternListener
- = new LockPatternView.OnPatternListener() {
+ = new LockPatternView.OnPatternListener() {
public void onPatternStart() {
mLockPatternView.removeCallbacks(mClearPatternRunnable);
@@ -453,6 +495,13 @@
mLockPatternView.setEnabled(false);
final LockscreenCredential credential = LockscreenCredential.createPattern(pattern);
+
+ if (mRemoteValidation) {
+ validateGuess(credential);
+ mGlifLayout.setProgressBarShown(true);
+ return;
+ }
+
// TODO(b/161956762): Sanitize this
Intent intent = new Intent();
if (mReturnGatekeeperPassword) {
@@ -564,6 +613,44 @@
}
@Override
+ protected void onRemoteDeviceCredentialValidationResult(
+ RemoteLockscreenValidationResult result) {
+ switch (result.getResultCode()) {
+ case RemoteLockscreenValidationResult.RESULT_GUESS_VALID:
+ if (mCheckBox.isChecked()) {
+ Log.i(TAG, "Setting device screen lock to the other device's screen lock.");
+ ChooseLockPattern.SaveAndFinishWorker saveAndFinishWorker =
+ new ChooseLockPattern.SaveAndFinishWorker();
+ getFragmentManager().beginTransaction().add(saveAndFinishWorker, null)
+ .commit();
+ getFragmentManager().executePendingTransactions();
+ saveAndFinishWorker.setListener(this);
+ saveAndFinishWorker.start(
+ mLockPatternUtils,
+ /* requestGatekeeperPassword= */ false,
+ mDeviceCredentialGuess,
+ /* currentCredential= */ null,
+ mEffectiveUserId);
+ return;
+ }
+ mCredentialCheckResultTracker.setResult(/* matched= */ true, new Intent(),
+ /* timeoutMs= */ 0, mEffectiveUserId);
+ break;
+ case RemoteLockscreenValidationResult.RESULT_GUESS_INVALID:
+ mCredentialCheckResultTracker.setResult(/* matched= */ false, new Intent(),
+ /* timeoutMs= */ 0, mEffectiveUserId);
+ break;
+ case RemoteLockscreenValidationResult.RESULT_LOCKOUT:
+ mCredentialCheckResultTracker.setResult(/* matched= */ false, new Intent(),
+ (int) result.getTimeoutMillis(), mEffectiveUserId);
+ break;
+ case RemoteLockscreenValidationResult.RESULT_NO_REMAINING_ATTEMPTS:
+ getActivity().finish();
+ }
+ mGlifLayout.setProgressBarShown(false);
+ }
+
+ @Override
public void onCredentialChecked(boolean matched, Intent intent, int timeoutMs,
int effectiveUserId, boolean newResult) {
onPatternChecked(matched, intent, timeoutMs, effectiveUserId, newResult);
@@ -632,5 +719,19 @@
appearing, interpolator, finishListener);
}
}
+
+ /**
+ * Callback for when the device credential guess used for remote validation was set as the
+ * current device's device credential.
+ */
+ @Override
+ public void onChosenLockSaveFinished(boolean wasSecureBefore, Intent resultData) {
+ if (mDeviceCredentialGuess != null) {
+ mDeviceCredentialGuess.zeroize();
+ }
+ mGlifLayout.setProgressBarShown(false);
+ mCredentialCheckResultTracker.setResult(/* matched= */ true, new Intent(),
+ /* timeoutMs= */ 0, mEffectiveUserId);
+ }
}
}
diff --git a/src/com/android/settings/slices/VolumeSliceHelper.java b/src/com/android/settings/slices/VolumeSliceHelper.java
index 4861482..1ba1778 100644
--- a/src/com/android/settings/slices/VolumeSliceHelper.java
+++ b/src/com/android/settings/slices/VolumeSliceHelper.java
@@ -93,8 +93,9 @@
if (AudioManager.VOLUME_CHANGED_ACTION.equals(action)) {
handleVolumeChanged(context, intent);
- } else if (AudioManager.STREAM_MUTE_CHANGED_ACTION.equals(action)
- || AudioManager.STREAM_DEVICES_CHANGED_ACTION.equals(action)) {
+ } else if (AudioManager.STREAM_MUTE_CHANGED_ACTION.equals(action)) {
+ handleMuteChanged(context, intent);
+ } else if (AudioManager.STREAM_DEVICES_CHANGED_ACTION.equals(action)) {
handleStreamChanged(context, intent);
} else {
notifyAllStreamsChanged(context);
@@ -109,8 +110,29 @@
}
}
+ /**
+ * When mute is changed, notifyChange on relevant Volume Slice ContentResolvers to mark them
+ * as needing update.
+ *
+ * In addition to the matching stream, we always notifyChange for the Notification stream
+ * when Ring events are issued. This is to make sure that Notification always gets updated
+ * for RingerMode changes, even if Notification's volume is zero and therefore it would not
+ * get its own AudioManager.VOLUME_CHANGED_ACTION.
+ */
+ private static void handleMuteChanged(Context context, Intent intent) {
+ final int inputType = intent.getIntExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, -1);
+ handleStreamChanged(context, inputType);
+ if (inputType == AudioManager.STREAM_RING) {
+ handleStreamChanged(context, AudioManager.STREAM_NOTIFICATION);
+ }
+ }
+
private static void handleStreamChanged(Context context, Intent intent) {
final int inputType = intent.getIntExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, -1);
+ handleStreamChanged(context, inputType);
+ }
+
+ private static void handleStreamChanged(Context context, int inputType) {
synchronized (sRegisteredUri) {
for (Map.Entry<Uri, Integer> entry : sRegisteredUri.entrySet()) {
if (entry.getValue() == inputType) {
diff --git a/src/com/android/settings/spa/SettingsSpaEnvironment.kt b/src/com/android/settings/spa/SettingsSpaEnvironment.kt
index 55c0f83..f1ac3ea 100644
--- a/src/com/android/settings/spa/SettingsSpaEnvironment.kt
+++ b/src/com/android/settings/spa/SettingsSpaEnvironment.kt
@@ -17,6 +17,7 @@
package com.android.settings.spa
import android.content.Context
+import com.android.settings.spa.about.AboutPhonePageProvider
import com.android.settings.spa.app.AllAppListPageProvider
import com.android.settings.spa.app.AppsMainPageProvider
import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
@@ -81,6 +82,7 @@
BackgroundInstalledAppsPageProvider,
CloneAppInfoSettingsProvider,
NetworkAndInternetPageProvider,
+ AboutPhonePageProvider,
) + togglePermissionAppListTemplate.createPageProviders(),
rootPages = listOf(
SettingsPage.create(HomePageProvider.name),
diff --git a/src/com/android/settings/spa/about/AboutPhone.kt b/src/com/android/settings/spa/about/AboutPhone.kt
new file mode 100644
index 0000000..7343da0
--- /dev/null
+++ b/src/com/android/settings/spa/about/AboutPhone.kt
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.spa.about
+
+import android.os.Bundle
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.PermDeviceInformation
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.remember
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
+import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
+import com.android.settingslib.spa.framework.common.createSettingsPage
+import com.android.settingslib.spa.framework.compose.navigator
+import com.android.settingslib.spa.framework.compose.toState
+import com.android.settingslib.spa.widget.preference.Preference
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+import com.android.settingslib.spa.widget.scaffold.RegularScaffold
+import com.android.settingslib.spa.widget.ui.SettingsIcon
+
+object AboutPhonePageProvider : SettingsPageProvider {
+ override val name = "AboutPhone"
+ private val owner = createSettingsPage()
+
+ @Composable
+ override fun Page(arguments: Bundle?) {
+ RegularScaffold(title = getTitle(arguments)) {
+ BasicInfoCategory.CategoryItems()
+ }
+ }
+
+ override fun getTitle(arguments: Bundle?): String =
+ SpaEnvironmentFactory.instance.appContext.getString(R.string.about_settings)
+
+ fun buildInjectEntry(): SettingsEntryBuilder {
+ return SettingsEntryBuilder.createInject(owner = owner)
+ .setUiLayoutFn {
+ val context = LocalContext.current
+ val deviceNamePresenter = remember { DeviceNamePresenter(context) }
+ Preference(object : PreferenceModel {
+ override val title = stringResource(R.string.about_settings)
+ override val summary = deviceNamePresenter.deviceName.toState()
+ override val onClick = navigator(name)
+ override val icon = @Composable {
+ SettingsIcon(imageVector = Icons.Outlined.PermDeviceInformation)
+ }
+ })
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/about/BasicInfoCategory.kt b/src/com/android/settings/spa/about/BasicInfoCategory.kt
new file mode 100644
index 0000000..d382f51
--- /dev/null
+++ b/src/com/android/settings/spa/about/BasicInfoCategory.kt
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.spa.about
+
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settingslib.spa.widget.ui.Category
+
+object BasicInfoCategory {
+ @Composable
+ fun CategoryItems() {
+ Category(title = stringResource(R.string.my_device_info_basic_info_category_title)) {
+ DeviceNamePreference.EntryItem()
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/about/DeviceName.kt b/src/com/android/settings/spa/about/DeviceName.kt
new file mode 100644
index 0000000..c481e32
--- /dev/null
+++ b/src/com/android/settings/spa/about/DeviceName.kt
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.spa.about
+
+import android.content.Context
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.remember
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settings.deviceinfo.DeviceNamePreferenceController
+import com.android.settingslib.spa.framework.compose.toState
+import com.android.settingslib.spa.widget.dialog.AlertDialogButton
+import com.android.settingslib.spa.widget.dialog.rememberAlertDialogPresenter
+import com.android.settingslib.spa.widget.preference.Preference
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+
+object DeviceNamePreference {
+
+ @Composable
+ fun EntryItem() {
+ val context = LocalContext.current
+ val deviceNamePresenter = remember { DeviceNamePresenter(context) }
+ // TODO: Instead of a AlertDialog, it should be a dialog that accepts text input.
+ val dialogPresenter = rememberAlertDialogPresenter(
+ confirmButton = AlertDialogButton(
+ stringResource(R.string.okay), onClick = DeviceNamePreference::confirmChange
+ ),
+ dismissButton = AlertDialogButton(stringResource(R.string.cancel)),
+ title = stringResource(R.string.my_device_info_device_name_preference_title),
+ text = { Text(deviceNamePresenter.deviceName) },
+ )
+ Preference(object : PreferenceModel {
+ override val title =
+ stringResource(R.string.my_device_info_device_name_preference_title)
+ override val summary = deviceNamePresenter.deviceName.toState()
+ override val onClick = dialogPresenter::open
+ })
+
+ }
+
+ private fun confirmChange() {
+ // TODO: Save the change of the device name.
+ }
+}
+
+class DeviceNamePresenter(val context: Context) {
+ private val deviceNamePreferenceController =
+ DeviceNamePreferenceController(context, "unused_key")
+
+ val deviceName: String get() = deviceNamePreferenceController.summary.toString()
+}
diff --git a/src/com/android/settings/spa/home/HomePage.kt b/src/com/android/settings/spa/home/HomePage.kt
index d2416f4..be3e015 100644
--- a/src/com/android/settings/spa/home/HomePage.kt
+++ b/src/com/android/settings/spa/home/HomePage.kt
@@ -18,6 +18,7 @@
import android.os.Bundle
import com.android.settings.R
+import com.android.settings.spa.about.AboutPhonePageProvider
import com.android.settings.spa.app.AppsMainPageProvider
import com.android.settings.spa.network.NetworkAndInternetPageProvider
import com.android.settings.spa.notification.NotificationMainPageProvider
@@ -38,6 +39,7 @@
AppsMainPageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
NotificationMainPageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
SystemMainPageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
+ AboutPhonePageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
)
}
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceControllerTest.java
index 0cce56b..a2b2713 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceControllerTest.java
@@ -74,7 +74,7 @@
mController.mContentObserver.onChange(false);
final Drawable navigationBarDrawable = mContext.getDrawable(
- R.drawable.accessibility_button_navigation);
+ R.drawable.a11y_button_navigation);
assertThat(drawableToBitmap(mController.mIllustrationPreference.getImageDrawable()).sameAs(
drawableToBitmap(navigationBarDrawable))).isTrue();
}
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
index 695e86b..16d1483 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
@@ -56,9 +56,11 @@
import com.android.internal.content.PackageMonitor;
import com.android.settings.R;
import com.android.settings.testutils.XmlTestUtils;
+import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
import com.android.settings.testutils.shadow.ShadowFragment;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.search.SearchIndexableRaw;
@@ -85,6 +87,7 @@
/** Test for {@link AccessibilitySettings}. */
@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothUtils.class})
public class AccessibilitySettingsTest {
private static final String PACKAGE_NAME = "com.android.test";
private static final String CLASS_NAME = PACKAGE_NAME + ".test_a11y_service";
@@ -116,6 +119,8 @@
private ShadowAccessibilityManager mShadowAccessibilityManager;
@Mock
private AppOpsManager mAppOpsManager;
+ @Mock
+ private LocalBluetoothManager mLocalBluetoothManager;
private Lifecycle mLifecycle;
@@ -134,6 +139,7 @@
anyInt(), anyString())).thenReturn(AppOpsManager.MODE_ALLOWED);
mLifecycle = new Lifecycle(() -> mLifecycle);
when(mFragment.getSettingsLifecycle()).thenReturn(mLifecycle);
+ ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
}
@Test
diff --git a/tests/robotests/src/com/android/settings/accessibility/MediaVibrationIntensityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MediaVibrationIntensityPreferenceControllerTest.java
index e0eff0e..355e8c3 100644
--- a/tests/robotests/src/com/android/settings/accessibility/MediaVibrationIntensityPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/MediaVibrationIntensityPreferenceControllerTest.java
@@ -31,10 +31,13 @@
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.R;
import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor;
+import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.widget.SeekBarPreference;
import com.android.settingslib.core.lifecycle.Lifecycle;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -45,7 +48,7 @@
/** Test for {@link MediaVibrationIntensityPreferenceController}. */
@RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowInteractionJankMonitor.class})
+@Config(shadows = {ShadowInteractionJankMonitor.class, SettingsShadowResources.class})
public class MediaVibrationIntensityPreferenceControllerTest {
private static final String PREFERENCE_KEY = "preference_key";
@@ -76,6 +79,11 @@
mController.displayPreference(mScreen);
}
+ @After
+ public void tearDown() {
+ SettingsShadowResources.reset();
+ }
+
@Test
public void verifyConstants() {
assertThat(mController.getPreferenceKey()).isEqualTo(PREFERENCE_KEY);
@@ -156,6 +164,32 @@
.isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH);
}
+ @Test
+ public void configForMediaVibration_enabled_shouldShowSlider() {
+ SettingsShadowResources.overrideResource(R.bool.config_media_vibration_supported, true);
+ mController.updateState(mPreference);
+
+ final boolean mediaVibrationConfig = mContext.getResources()
+ .getBoolean(R.bool.config_media_vibration_supported);
+
+ assertThat(mediaVibrationConfig).isTrue();
+ assertThat(mController.isAvailable()).isTrue();
+ assertThat(mController.isSupported()).isTrue();
+ }
+
+ @Test
+ public void configForMediaVibration_disabled_shouldHideSlider() {
+ SettingsShadowResources.overrideResource(R.bool.config_media_vibration_supported, false);
+ mController.updateState(mPreference);
+
+ final boolean mediaVibrationConfig = mContext.getResources()
+ .getBoolean(R.bool.config_media_vibration_supported);
+
+ assertThat(mediaVibrationConfig).isFalse();
+ assertThat(mController.isAvailable()).isFalse();
+ assertThat(mController.isSupported()).isFalse();
+ }
+
private void updateSetting(String key, int value) {
Settings.System.putInt(mContext.getContentResolver(), key, value);
}
diff --git a/tests/robotests/src/com/android/settings/accessibility/MediaVibrationTogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MediaVibrationTogglePreferenceControllerTest.java
index 49a7b7b..501bbb0 100644
--- a/tests/robotests/src/com/android/settings/accessibility/MediaVibrationTogglePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/MediaVibrationTogglePreferenceControllerTest.java
@@ -32,17 +32,22 @@
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.shadow.SettingsShadowResources;
+import com.android.settings.R;
import com.android.settingslib.core.lifecycle.Lifecycle;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
import org.robolectric.RobolectricTestRunner;
/** Test for {@link MediaVibrationIntensityPreferenceController}. */
@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {SettingsShadowResources.class})
public class MediaVibrationTogglePreferenceControllerTest {
private static final String PREFERENCE_KEY = "preference_key";
@@ -72,6 +77,11 @@
mController.displayPreference(mScreen);
}
+ @After
+ public void tearDown() {
+ SettingsShadowResources.reset();
+ }
+
@Test
public void verifyConstants() {
assertThat(mController.getPreferenceKey()).isEqualTo(PREFERENCE_KEY);
@@ -144,6 +154,32 @@
.isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF);
}
+ @Test
+ public void configForMediaVibration_enabled_shouldShowToogle() {
+ SettingsShadowResources.overrideResource(R.bool.config_media_vibration_supported, true);
+ mController.updateState(mPreference);
+
+ final boolean mediaVibrationConfig = mContext.getResources()
+ .getBoolean(R.bool.config_media_vibration_supported);
+
+ assertThat(mediaVibrationConfig).isTrue();
+ assertThat(mController.isAvailable()).isTrue();
+ assertThat(mController.isSupported()).isTrue();
+ }
+
+ @Test
+ public void configForMediaVibration_disabled_shouldHideToggle() {
+ SettingsShadowResources.overrideResource(R.bool.config_media_vibration_supported, false);
+ mController.updateState(mPreference);
+
+ final boolean mediaVibrationConfig = mContext.getResources()
+ .getBoolean(R.bool.config_media_vibration_supported);
+
+ assertThat(mediaVibrationConfig).isFalse();
+ assertThat(mController.isAvailable()).isFalse();
+ assertThat(mController.isSupported()).isFalse();
+ }
+
private void updateSetting(String key, int value) {
Settings.System.putInt(mContext.getContentResolver(), key, value);
}
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationVolumePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/NotificationVolumePreferenceControllerTest.java
index 7e7ad10..594ef62 100644
--- a/tests/robotests/src/com/android/settings/notification/NotificationVolumePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/NotificationVolumePreferenceControllerTest.java
@@ -198,6 +198,7 @@
com.android.settings.R.bool.config_show_notification_volume)).thenReturn(true);
// block the alternative condition to enable controller
when(mTelephonyManager.isVoiceCapable()).thenReturn(true);
+ when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_NORMAL);
DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SYSTEMUI,
SystemUiDeviceConfigFlags.VOLUME_SEPARATE_NOTIFICATION, "false", false);
@@ -217,8 +218,8 @@
SystemUiDeviceConfigFlags.VOLUME_SEPARATE_NOTIFICATION, Boolean.toString(true),
false);
- assertThat(controller.getAvailabilityStatus()
- == BasePreferenceController.AVAILABLE).isTrue();
+ assertThat(controller.getAvailabilityStatus()).isEqualTo(
+ BasePreferenceController.AVAILABLE);
}
@Test
@@ -233,9 +234,10 @@
// block the alternative condition to enable controller
when(mTelephonyManager.isVoiceCapable()).thenReturn(true);
+ when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_NORMAL);
+
DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SYSTEMUI,
SystemUiDeviceConfigFlags.VOLUME_SEPARATE_NOTIFICATION, "true", false);
-
NotificationVolumePreferenceController controller =
new NotificationVolumePreferenceController(mContext);
@@ -254,4 +256,19 @@
== BasePreferenceController.UNSUPPORTED_ON_DEVICE).isTrue();
}
+ @Test
+ public void ringerModeSilent_unaliased_getAvailability_returnsDisabled() {
+ when(mResources.getBoolean(
+ com.android.settings.R.bool.config_show_notification_volume)).thenReturn(true);
+ when(mHelper.isSingleVolume()).thenReturn(false);
+
+ when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_SILENT);
+
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SYSTEMUI,
+ SystemUiDeviceConfigFlags.VOLUME_SEPARATE_NOTIFICATION, "true", false);
+
+ assertThat(mController.getAvailabilityStatus())
+ .isEqualTo(BasePreferenceController.DISABLED_DEPENDENT_SETTING);
+ }
+
}
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockSettingsHelperTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockSettingsHelperTest.java
index 053bbe0..2777529 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockSettingsHelperTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockSettingsHelperTest.java
@@ -1,5 +1,9 @@
package com.android.settings.password;
+import static com.android.settings.password.TestUtils.COMPONENT_NAME;
+import static com.android.settings.password.TestUtils.VALID_REMAINING_ATTEMPTS;
+import static com.android.settings.password.TestUtils.createStartLockscreenValidationRequest;
+
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertEquals;
@@ -10,6 +14,8 @@
import static org.mockito.Mockito.when;
import android.app.Activity;
+import android.app.KeyguardManager;
+import android.app.StartLockscreenValidationRequest;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Intent;
@@ -160,6 +166,93 @@
startedIntent.getComponent());
}
+ @Test
+ public void launchConfirmPassword_remoteValidation_passwordLockType() throws Exception {
+ Activity activity = Robolectric.setupActivity(Activity.class);
+ ShadowActivity shadowActivity = Shadows.shadowOf(activity);
+ StartLockscreenValidationRequest request = createStartLockscreenValidationRequest(
+ KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS);
+
+ ChooseLockSettingsHelper chooseLockSettingsHelper = getChooseLockSettingsHelper(
+ new ChooseLockSettingsHelper.Builder(activity)
+ .setRemoteLockscreenValidation(true)
+ .setStartLockscreenValidationRequest(request)
+ .setRemoteLockscreenValidationServiceComponent(COMPONENT_NAME));
+ chooseLockSettingsHelper.launch();
+
+ Intent startedIntent = shadowActivity.getNextStartedActivity();
+ assertEquals(new ComponentName("com.android.settings",
+ ConfirmLockPassword.class.getName()), startedIntent.getComponent());
+ assertThat(startedIntent.getBooleanExtra(
+ ConfirmDeviceCredentialBaseFragment.IS_REMOTE_LOCKSCREEN_VALIDATION, false)
+ ).isTrue();
+ assertThat(startedIntent.getParcelableExtra(
+ KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST,
+ StartLockscreenValidationRequest.class)
+ ).isEqualTo(request);
+ assertThat(startedIntent.getParcelableExtra(
+ Intent.EXTRA_COMPONENT_NAME, ComponentName.class)
+ ).isEqualTo(COMPONENT_NAME);
+ }
+
+ @Test
+ public void launchConfirmPassword_remoteValidation_pinLockType() throws Exception {
+ Activity activity = Robolectric.setupActivity(Activity.class);
+ ShadowActivity shadowActivity = Shadows.shadowOf(activity);
+ StartLockscreenValidationRequest request = createStartLockscreenValidationRequest(
+ KeyguardManager.PIN, VALID_REMAINING_ATTEMPTS);
+
+ ChooseLockSettingsHelper chooseLockSettingsHelper = getChooseLockSettingsHelper(
+ new ChooseLockSettingsHelper.Builder(activity)
+ .setRemoteLockscreenValidation(true)
+ .setStartLockscreenValidationRequest(request)
+ .setRemoteLockscreenValidationServiceComponent(COMPONENT_NAME));
+ chooseLockSettingsHelper.launch();
+
+ Intent startedIntent = shadowActivity.getNextStartedActivity();
+ assertEquals(new ComponentName("com.android.settings",
+ ConfirmLockPassword.class.getName()), startedIntent.getComponent());
+ assertThat(startedIntent.getBooleanExtra(
+ ConfirmDeviceCredentialBaseFragment.IS_REMOTE_LOCKSCREEN_VALIDATION, false)
+ ).isTrue();
+ assertThat(startedIntent.getParcelableExtra(
+ KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST,
+ StartLockscreenValidationRequest.class)
+ ).isEqualTo(request);
+ assertThat(startedIntent.getParcelableExtra(
+ Intent.EXTRA_COMPONENT_NAME, ComponentName.class)
+ ).isEqualTo(COMPONENT_NAME);
+ }
+
+ @Test
+ public void launchConfirmPattern_remoteValidation_patternLockType() throws Exception {
+ Activity activity = Robolectric.setupActivity(Activity.class);
+ ShadowActivity shadowActivity = Shadows.shadowOf(activity);
+ StartLockscreenValidationRequest request = createStartLockscreenValidationRequest(
+ KeyguardManager.PATTERN, VALID_REMAINING_ATTEMPTS);
+
+ ChooseLockSettingsHelper chooseLockSettingsHelper = getChooseLockSettingsHelper(
+ new ChooseLockSettingsHelper.Builder(activity)
+ .setRemoteLockscreenValidation(true)
+ .setStartLockscreenValidationRequest(request)
+ .setRemoteLockscreenValidationServiceComponent(COMPONENT_NAME));
+ chooseLockSettingsHelper.launch();
+
+ Intent startedIntent = shadowActivity.getNextStartedActivity();
+ assertEquals(new ComponentName("com.android.settings",
+ ConfirmLockPattern.class.getName()), startedIntent.getComponent());
+ assertThat(startedIntent.getBooleanExtra(
+ ConfirmDeviceCredentialBaseFragment.IS_REMOTE_LOCKSCREEN_VALIDATION, false)
+ ).isTrue();
+ assertThat(startedIntent.getParcelableExtra(
+ KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST,
+ StartLockscreenValidationRequest.class)
+ ).isEqualTo(request);
+ assertThat(startedIntent.getParcelableExtra(
+ Intent.EXTRA_COMPONENT_NAME, ComponentName.class)
+ ).isEqualTo(COMPONENT_NAME);
+ }
+
private ChooseLockSettingsHelper getChooseLockSettingsHelper(
ChooseLockSettingsHelper.Builder builder) {
LockPatternUtils mockLockPatternUtils = mock(LockPatternUtils.class);
diff --git a/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java b/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java
index e210c5f..40b359e 100644
--- a/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java
+++ b/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java
@@ -16,25 +16,162 @@
package com.android.settings.password;
+import static com.android.settings.password.TestUtils.NO_MORE_REMAINING_ATTEMPTS;
+import static com.android.settings.password.TestUtils.PACKAGE_NAME;
+import static com.android.settings.password.TestUtils.SERVICE_NAME;
+import static com.android.settings.password.TestUtils.VALID_REMAINING_ATTEMPTS;
+import static com.android.settings.password.TestUtils.buildConfirmDeviceCredentialBaseActivity;
+import static com.android.settings.password.TestUtils.createPackageInfoWithService;
+import static com.android.settings.password.TestUtils.createRemoteLockscreenValidationIntent;
+import static com.android.settings.password.TestUtils.createStartLockscreenValidationRequest;
+import static com.android.settings.password.TestUtils.getConfirmDeviceCredentialBaseFragment;
+
import static com.google.common.truth.Truth.assertThat;
+import android.Manifest;
+import android.app.KeyguardManager;
+import android.app.admin.ManagedSubscriptionsPolicy;
+import android.content.ComponentName;
import android.content.Context;
+import android.content.Intent;
+import android.util.FeatureFlagUtils;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
+import androidx.test.core.app.ApplicationProvider;
import com.android.settings.password.ConfirmDeviceCredentialBaseFragment.LastTryDialog;
+import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
+import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+import com.android.settings.testutils.shadow.ShadowUtils;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplicationPackageManager;
@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+ ShadowLockPatternUtils.class,
+ ShadowUtils.class,
+ ShadowDevicePolicyManager.class,
+ ShadowUserManager.class,
+ ShadowApplicationPackageManager.class
+})
public class ConfirmCredentialTest {
- private Context mContext = RuntimeEnvironment.application;
+ private Context mContext;
+ private ShadowApplicationPackageManager mShadowApplicationPackageManager;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ mContext = ApplicationProvider.getApplicationContext();
+
+ mShadowApplicationPackageManager =
+ (ShadowApplicationPackageManager) Shadows.shadowOf(mContext.getPackageManager());
+ mShadowApplicationPackageManager.addPackageNoDefaults(
+ TestUtils.createPackageInfoWithService(
+ PACKAGE_NAME, SERVICE_NAME,
+ Manifest.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE));
+
+ final ShadowDevicePolicyManager shadowDpm = ShadowDevicePolicyManager.getShadow();
+ shadowDpm.setManagedSubscriptionsPolicy(
+ new ManagedSubscriptionsPolicy(
+ ManagedSubscriptionsPolicy.TYPE_ALL_PERSONAL_SUBSCRIPTIONS));
+
+ FeatureFlagUtils.setEnabled(mContext,
+ FeatureFlagUtils.SETTINGS_REMOTE_DEVICE_CREDENTIAL_VALIDATION, true);
+ }
+
+ @Test
+ public void onCreate_successfullyStart() {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(ConfirmLockPassword.class, new Intent());
+ ConfirmDeviceCredentialBaseFragment fragment =
+ getConfirmDeviceCredentialBaseFragment(activity);
+
+ assertThat(activity.isFinishing()).isFalse();
+ assertThat(fragment.mRemoteValidation).isFalse();
+ }
+
+ @Test
+ public void onCreate_remoteValidation_successfullyStart() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity = buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPassword.class, createRemoteLockscreenValidationIntent(
+ KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS));
+ ConfirmDeviceCredentialBaseFragment fragment =
+ getConfirmDeviceCredentialBaseFragment(activity);
+
+ assertThat(activity.isFinishing()).isFalse();
+ assertThat(fragment.mRemoteValidation).isTrue();
+ }
+
+ @Test
+ public void onCreate_remoteValidation_flagDisabled_finishActivity() throws Exception {
+ FeatureFlagUtils.setEnabled(mContext,
+ FeatureFlagUtils.SETTINGS_REMOTE_DEVICE_CREDENTIAL_VALIDATION, false);
+
+ ConfirmDeviceCredentialBaseActivity activity = buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPassword.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS));
+
+ assertThat(activity.isFinishing()).isTrue();
+ }
+
+ @Test
+ public void onCreate_remoteValidation_invalidServiceComponentName_finishActivity()
+ throws Exception {
+ Intent intentWithInvalidComponentName = new Intent()
+ .putExtra(ConfirmDeviceCredentialBaseFragment.IS_REMOTE_LOCKSCREEN_VALIDATION, true)
+ .putExtra(KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST,
+ createStartLockscreenValidationRequest(
+ KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS))
+ .putExtra(Intent.EXTRA_COMPONENT_NAME, new ComponentName("pkg", "cls"));
+
+ ConfirmDeviceCredentialBaseActivity activity = buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPassword.class, intentWithInvalidComponentName);
+
+ assertThat(activity.isFinishing()).isTrue();
+ }
+
+ @Test
+ public void onCreate_remoteValidation_serviceDoesNotRequestCorrectPermission_finishActivity()
+ throws Exception {
+ // Remove package with valid ServiceInfo
+ mShadowApplicationPackageManager.removePackage(PACKAGE_NAME);
+ // Add a service that does not request the BIND_REMOTE_LOCKSCREEN_SERVICE permission
+ mShadowApplicationPackageManager.addPackageNoDefaults(
+ createPackageInfoWithService(
+ PACKAGE_NAME,
+ SERVICE_NAME,
+ Manifest.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE));
+
+ ConfirmDeviceCredentialBaseActivity activity = buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPassword.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS));
+
+ assertThat(activity.isFinishing()).isTrue();
+ }
+
+ @Test
+ public void onCreate_remoteValidation_noMoreAttempts_finishActivity() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity = buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPassword.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PASSWORD, NO_MORE_REMAINING_ATTEMPTS));
+
+ assertThat(activity.isFinishing()).isTrue();
+ }
@Test
public void testLastTryDialogShownExactlyOnce() {
diff --git a/tests/robotests/src/com/android/settings/password/ConfirmLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ConfirmLockPasswordTest.java
new file mode 100644
index 0000000..77a013d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/password/ConfirmLockPasswordTest.java
@@ -0,0 +1,308 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.password;
+
+import static com.android.settings.password.ConfirmLockPassword.ConfirmLockPasswordFragment;
+import static com.android.settings.password.TestUtils.GUESS_INVALID_RESULT;
+import static com.android.settings.password.TestUtils.GUESS_VALID_RESULT;
+import static com.android.settings.password.TestUtils.LOCKOUT_RESULT;
+import static com.android.settings.password.TestUtils.NO_REMAINING_ATTEMPTS_RESULT;
+import static com.android.settings.password.TestUtils.PACKAGE_NAME;
+import static com.android.settings.password.TestUtils.SERVICE_NAME;
+import static com.android.settings.password.TestUtils.TIMEOUT_MS;
+import static com.android.settings.password.TestUtils.VALID_REMAINING_ATTEMPTS;
+import static com.android.settings.password.TestUtils.buildConfirmDeviceCredentialBaseActivity;
+import static com.android.settings.password.TestUtils.createRemoteLockscreenValidationIntent;
+import static com.android.settings.password.TestUtils.getConfirmDeviceCredentialBaseFragment;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoInteractions;
+
+import android.Manifest;
+import android.app.KeyguardManager;
+import android.app.admin.ManagedSubscriptionsPolicy;
+import android.content.Context;
+import android.content.Intent;
+import android.os.UserHandle;
+import android.service.remotelockscreenvalidation.IRemoteLockscreenValidationCallback;
+import android.service.remotelockscreenvalidation.RemoteLockscreenValidationClient;
+import android.text.InputType;
+import android.util.FeatureFlagUtils;
+import android.widget.ImeAwareEditText;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
+import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+import com.android.settings.testutils.shadow.ShadowUtils;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplicationPackageManager;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+ ShadowLockPatternUtils.class,
+ ShadowUtils.class,
+ ShadowDevicePolicyManager.class,
+ ShadowUserManager.class,
+ ShadowApplicationPackageManager.class
+})
+public class ConfirmLockPasswordTest {
+
+ @Mock
+ CredentialCheckResultTracker mCredentialCheckResultTracker;
+ @Mock
+ RemoteLockscreenValidationClient mRemoteLockscreenValidationClient;
+ @Captor
+ ArgumentCaptor<IRemoteLockscreenValidationCallback> mCallbackCaptor;
+
+ private Context mContext;
+ private LockPatternUtils mLockPatternUtils;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ mContext = ApplicationProvider.getApplicationContext();
+ mLockPatternUtils = new LockPatternUtils(mContext);
+
+ ShadowApplicationPackageManager shadowApplicationPackageManager =
+ (ShadowApplicationPackageManager) Shadows.shadowOf(mContext.getPackageManager());
+ shadowApplicationPackageManager.addPackageNoDefaults(
+ TestUtils.createPackageInfoWithService(
+ PACKAGE_NAME,
+ SERVICE_NAME,
+ Manifest.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE));
+
+ final ShadowDevicePolicyManager shadowDpm = ShadowDevicePolicyManager.getShadow();
+ shadowDpm.setManagedSubscriptionsPolicy(
+ new ManagedSubscriptionsPolicy(
+ ManagedSubscriptionsPolicy.TYPE_ALL_PERSONAL_SUBSCRIPTIONS));
+
+ // Set false by default so we can check if lock was set when remote validation succeeds.
+ ShadowLockPatternUtils.setIsSecure(UserHandle.myUserId(), false);
+
+ FeatureFlagUtils.setEnabled(mContext,
+ FeatureFlagUtils.SETTINGS_REMOTE_DEVICE_CREDENTIAL_VALIDATION, true);
+ }
+
+ @After
+ public void tearDown() {
+ ShadowLockPatternUtils.reset();
+ }
+
+ @Test
+ public void onCreate_remoteValidation_password_successfullyStart() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPassword.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS));
+ ConfirmLockPasswordFragment fragment =
+ (ConfirmLockPasswordFragment) getConfirmDeviceCredentialBaseFragment(activity);
+
+ assertThat(activity.isFinishing()).isFalse();
+ assertThat(fragment.mRemoteValidation).isTrue();
+ ImeAwareEditText editText = (ImeAwareEditText) activity.findViewById(R.id.password_entry);
+ assertThat(editText.getInputType()).isEqualTo(
+ InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
+ }
+
+ @Test
+ public void onCreate_remoteValidation_pin_successfullyStart() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPassword.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PIN, VALID_REMAINING_ATTEMPTS));
+ ConfirmLockPasswordFragment fragment =
+ (ConfirmLockPasswordFragment) getConfirmDeviceCredentialBaseFragment(activity);
+
+ assertThat(activity.isFinishing()).isFalse();
+ assertThat(fragment.mRemoteValidation).isTrue();
+ ImeAwareEditText editText = (ImeAwareEditText) activity.findViewById(R.id.password_entry);
+ assertThat(editText.getInputType()).isEqualTo(
+ InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
+ }
+
+ @Test
+ public void handleNext_normalFlow_doesNotAttemptRemoteLockscreenValidation() {
+ ConfirmLockPassword activity = Robolectric.buildActivity(
+ ConfirmLockPassword.class, new Intent()).setup().get();
+ ConfirmLockPasswordFragment fragment =
+ (ConfirmLockPasswordFragment) getConfirmDeviceCredentialBaseFragment(activity);
+ ImeAwareEditText passwordEntry = activity.findViewById(R.id.password_entry);
+ fragment.mRemoteLockscreenValidationClient = mRemoteLockscreenValidationClient;
+
+ triggerHandleNext(fragment, passwordEntry);
+
+ verifyNoInteractions(mRemoteLockscreenValidationClient);
+ }
+
+ @Test
+ public void handleNext_remoteValidation_correctGuess_checkboxChecked() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPassword.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS));
+ ConfirmLockPasswordFragment fragment =
+ (ConfirmLockPasswordFragment) getConfirmDeviceCredentialBaseFragment(activity);
+ ReflectionHelpers.setField(fragment,
+ "mCredentialCheckResultTracker", mCredentialCheckResultTracker);
+ ImeAwareEditText passwordEntry = activity.findViewById(R.id.password_entry);
+ fragment.mRemoteLockscreenValidationClient = mRemoteLockscreenValidationClient;
+
+ triggerHandleNext(fragment, passwordEntry);
+ verify(mRemoteLockscreenValidationClient)
+ .validateLockscreenGuess(any(), mCallbackCaptor.capture());
+ mCallbackCaptor.getValue().onSuccess(GUESS_VALID_RESULT);
+
+ verify(mCredentialCheckResultTracker).setResult(
+ eq(true), any(), eq(0), eq(fragment.mEffectiveUserId));
+ assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isTrue();
+ assertThat(fragment.mDeviceCredentialGuess).isNotNull();
+ }
+
+ @Test
+ public void handleNext_remoteValidation_correctGuess_checkboxUnchecked() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPassword.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS));
+ ConfirmLockPasswordFragment fragment =
+ (ConfirmLockPasswordFragment) getConfirmDeviceCredentialBaseFragment(activity);
+ ReflectionHelpers.setField(fragment,
+ "mCredentialCheckResultTracker", mCredentialCheckResultTracker);
+ fragment.mCheckBox.setChecked(false);
+ ImeAwareEditText passwordEntry = activity.findViewById(R.id.password_entry);
+ fragment.mRemoteLockscreenValidationClient = mRemoteLockscreenValidationClient;
+
+ triggerHandleNext(fragment, passwordEntry);
+ verify(mRemoteLockscreenValidationClient)
+ .validateLockscreenGuess(any(), mCallbackCaptor.capture());
+ mCallbackCaptor.getValue().onSuccess(GUESS_VALID_RESULT);
+
+ verify(mCredentialCheckResultTracker).setResult(
+ eq(true), any(), eq(0), eq(fragment.mEffectiveUserId));
+ assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isFalse();
+ assertThat(fragment.mDeviceCredentialGuess).isNull();
+ }
+
+ @Test
+ public void handleNext_remoteValidation_guessInvalid() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPassword.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS));
+ ConfirmLockPasswordFragment fragment =
+ (ConfirmLockPasswordFragment) getConfirmDeviceCredentialBaseFragment(activity);
+ ReflectionHelpers.setField(fragment,
+ "mCredentialCheckResultTracker", mCredentialCheckResultTracker);
+ ImeAwareEditText passwordEntry = activity.findViewById(R.id.password_entry);
+ fragment.mRemoteLockscreenValidationClient = mRemoteLockscreenValidationClient;
+
+ triggerHandleNext(fragment, passwordEntry);
+ verify(mRemoteLockscreenValidationClient)
+ .validateLockscreenGuess(any(), mCallbackCaptor.capture());
+ mCallbackCaptor.getValue().onSuccess(GUESS_INVALID_RESULT);
+
+ verify(mCredentialCheckResultTracker).setResult(
+ eq(false), any(), eq(0), eq(fragment.mEffectiveUserId));
+ assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isFalse();
+ }
+
+ @Test
+ public void handleNext_remoteValidation_lockout() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPassword.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS));
+ ConfirmLockPasswordFragment fragment =
+ (ConfirmLockPasswordFragment) getConfirmDeviceCredentialBaseFragment(activity);
+ ReflectionHelpers.setField(fragment,
+ "mCredentialCheckResultTracker", mCredentialCheckResultTracker);
+ ImeAwareEditText passwordEntry = activity.findViewById(R.id.password_entry);
+ fragment.mRemoteLockscreenValidationClient = mRemoteLockscreenValidationClient;
+
+ triggerHandleNext(fragment, passwordEntry);
+ verify(mRemoteLockscreenValidationClient)
+ .validateLockscreenGuess(any(), mCallbackCaptor.capture());
+ mCallbackCaptor.getValue().onSuccess(LOCKOUT_RESULT);
+
+ verify(mCredentialCheckResultTracker).setResult(
+ eq(false), any(), eq(TIMEOUT_MS), eq(fragment.mEffectiveUserId));
+ assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isFalse();
+ }
+
+ @Test
+ public void handleNext_remoteValidation_noRemainingAttempts_finishActivity() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPassword.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS));
+ ConfirmLockPasswordFragment fragment =
+ (ConfirmLockPasswordFragment) getConfirmDeviceCredentialBaseFragment(activity);
+ ReflectionHelpers.setField(fragment,
+ "mCredentialCheckResultTracker", mCredentialCheckResultTracker);
+ ImeAwareEditText passwordEntry = activity.findViewById(R.id.password_entry);
+ fragment.mRemoteLockscreenValidationClient = mRemoteLockscreenValidationClient;
+
+ triggerHandleNext(fragment, passwordEntry);
+ verify(mRemoteLockscreenValidationClient)
+ .validateLockscreenGuess(any(), mCallbackCaptor.capture());
+ mCallbackCaptor.getValue().onSuccess(NO_REMAINING_ATTEMPTS_RESULT);
+
+ assertThat(activity.isFinishing()).isTrue();
+ verify(mCredentialCheckResultTracker, never())
+ .setResult(anyBoolean(), any(), anyInt(), anyInt());
+ assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isFalse();
+ }
+
+ private void triggerHandleNext(
+ ConfirmLockPasswordFragment fragment, ImeAwareEditText passwordEntry) {
+ passwordEntry.setText("Password");
+ ReflectionHelpers.callInstanceMethod(fragment, "handleNext");
+ }
+
+}
diff --git a/tests/robotests/src/com/android/settings/password/ConfirmLockPatternTest.java b/tests/robotests/src/com/android/settings/password/ConfirmLockPatternTest.java
new file mode 100644
index 0000000..4374e38
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/password/ConfirmLockPatternTest.java
@@ -0,0 +1,286 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.password;
+
+import static com.android.settings.password.TestUtils.GUESS_INVALID_RESULT;
+import static com.android.settings.password.TestUtils.GUESS_VALID_RESULT;
+import static com.android.settings.password.TestUtils.LOCKOUT_RESULT;
+import static com.android.settings.password.TestUtils.NO_REMAINING_ATTEMPTS_RESULT;
+import static com.android.settings.password.TestUtils.PACKAGE_NAME;
+import static com.android.settings.password.TestUtils.SERVICE_NAME;
+import static com.android.settings.password.TestUtils.TIMEOUT_MS;
+import static com.android.settings.password.TestUtils.VALID_REMAINING_ATTEMPTS;
+import static com.android.settings.password.TestUtils.buildConfirmDeviceCredentialBaseActivity;
+import static com.android.settings.password.TestUtils.createPackageInfoWithService;
+import static com.android.settings.password.TestUtils.createRemoteLockscreenValidationIntent;
+import static com.android.settings.password.TestUtils.getConfirmDeviceCredentialBaseFragment;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoInteractions;
+
+import android.Manifest;
+import android.app.KeyguardManager;
+import android.app.admin.ManagedSubscriptionsPolicy;
+import android.content.Context;
+import android.content.Intent;
+import android.os.UserHandle;
+import android.service.remotelockscreenvalidation.IRemoteLockscreenValidationCallback;
+import android.service.remotelockscreenvalidation.RemoteLockscreenValidationClient;
+import android.util.FeatureFlagUtils;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.widget.LockPatternView;
+import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
+import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+import com.android.settings.testutils.shadow.ShadowUtils;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplicationPackageManager;
+import org.robolectric.util.ReflectionHelpers;
+
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+ ShadowLockPatternUtils.class,
+ ShadowUtils.class,
+ ShadowDevicePolicyManager.class,
+ ShadowUserManager.class,
+ ShadowApplicationPackageManager.class
+})
+public class ConfirmLockPatternTest {
+
+ @Mock
+ CredentialCheckResultTracker mCredentialCheckResultTracker;
+ @Mock
+ RemoteLockscreenValidationClient mRemoteLockscreenValidationClient;
+ @Captor
+ ArgumentCaptor<IRemoteLockscreenValidationCallback> mCallbackCaptor;
+
+ private Context mContext;
+ private LockPatternUtils mLockPatternUtils;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ mContext = ApplicationProvider.getApplicationContext();
+ mLockPatternUtils = new LockPatternUtils(mContext);
+
+ ShadowApplicationPackageManager shadowApplicationPackageManager =
+ (ShadowApplicationPackageManager) Shadows.shadowOf(mContext.getPackageManager());
+ shadowApplicationPackageManager.addPackageNoDefaults(
+ createPackageInfoWithService(
+ PACKAGE_NAME,
+ SERVICE_NAME,
+ Manifest.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE));
+
+ final ShadowDevicePolicyManager shadowDpm = ShadowDevicePolicyManager.getShadow();
+ shadowDpm.setManagedSubscriptionsPolicy(
+ new ManagedSubscriptionsPolicy(
+ ManagedSubscriptionsPolicy.TYPE_ALL_PERSONAL_SUBSCRIPTIONS));
+
+ // Set false by default so we can check if lock was set when remote validation succeeds.
+ ShadowLockPatternUtils.setIsSecure(UserHandle.myUserId(), false);
+
+ FeatureFlagUtils.setEnabled(mContext,
+ FeatureFlagUtils.SETTINGS_REMOTE_DEVICE_CREDENTIAL_VALIDATION, true);
+ }
+
+ @After
+ public void tearDown() {
+ ShadowLockPatternUtils.reset();
+ }
+
+ @Test
+ public void onCreate_remoteValidation_successfullyStart() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPattern.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PATTERN, VALID_REMAINING_ATTEMPTS));
+ ConfirmDeviceCredentialBaseFragment fragment =
+ getConfirmDeviceCredentialBaseFragment(activity);
+
+ assertThat(activity.isFinishing()).isFalse();
+ assertThat(fragment.mRemoteValidation).isTrue();
+ LockPatternView lockPatternView = (LockPatternView) activity.findViewById(R.id.lockPattern);
+ assertThat(lockPatternView.isInStealthMode()).isFalse();
+ }
+
+ @Test
+ public void onPatternDetected_normalFlow_doesNotAttemptRemoteLockscreenValidation() {
+ ConfirmLockPattern activity = Robolectric.buildActivity(
+ ConfirmLockPattern.class, new Intent()).setup().get();
+ ConfirmDeviceCredentialBaseFragment fragment =
+ getConfirmDeviceCredentialBaseFragment(activity);
+ LockPatternView lockPatternView = activity.findViewById(R.id.lockPattern);
+ fragment.mRemoteLockscreenValidationClient = mRemoteLockscreenValidationClient;
+
+ triggerOnPatternDetected(lockPatternView);
+
+ verifyNoInteractions(mRemoteLockscreenValidationClient);
+ }
+
+ @Test
+ public void onPatternDetected_remoteValidation_guessValid_checkboxChecked() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPattern.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PATTERN, VALID_REMAINING_ATTEMPTS));
+ ConfirmDeviceCredentialBaseFragment fragment =
+ getConfirmDeviceCredentialBaseFragment(activity);
+ LockPatternView lockPatternView = activity.findViewById(R.id.lockPattern);
+ ReflectionHelpers.setField(fragment,
+ "mCredentialCheckResultTracker", mCredentialCheckResultTracker);
+ fragment.mRemoteLockscreenValidationClient = mRemoteLockscreenValidationClient;
+
+ triggerOnPatternDetected(lockPatternView);
+ verify(mRemoteLockscreenValidationClient)
+ .validateLockscreenGuess(any(), mCallbackCaptor.capture());
+ mCallbackCaptor.getValue().onSuccess(GUESS_VALID_RESULT);
+
+ verify(mCredentialCheckResultTracker).setResult(
+ eq(true), any(), eq(0), eq(fragment.mEffectiveUserId));
+ assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isTrue();
+ assertThat(fragment.mDeviceCredentialGuess).isNotNull();
+ }
+
+ @Test
+ public void onPatternDetected_remoteValidation_guessValid_checkboxUnchecked() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPattern.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PATTERN, VALID_REMAINING_ATTEMPTS));
+ ConfirmDeviceCredentialBaseFragment fragment =
+ getConfirmDeviceCredentialBaseFragment(activity);
+ LockPatternView lockPatternView = activity.findViewById(R.id.lockPattern);
+ ReflectionHelpers.setField(fragment,
+ "mCredentialCheckResultTracker", mCredentialCheckResultTracker);
+ fragment.mCheckBox.setChecked(false);
+ fragment.mRemoteLockscreenValidationClient = mRemoteLockscreenValidationClient;
+
+ triggerOnPatternDetected(lockPatternView);
+ verify(mRemoteLockscreenValidationClient)
+ .validateLockscreenGuess(any(), mCallbackCaptor.capture());
+ mCallbackCaptor.getValue().onSuccess(GUESS_VALID_RESULT);
+
+ verify(mCredentialCheckResultTracker).setResult(
+ eq(true), any(), eq(0), eq(fragment.mEffectiveUserId));
+ assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isFalse();
+ assertThat(fragment.mDeviceCredentialGuess).isNull();
+ }
+
+ @Test
+ public void onPatternDetected_remoteValidation_guessInvalid() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPattern.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PATTERN, VALID_REMAINING_ATTEMPTS));
+ ConfirmDeviceCredentialBaseFragment fragment =
+ getConfirmDeviceCredentialBaseFragment(activity);
+ LockPatternView lockPatternView = activity.findViewById(R.id.lockPattern);
+ ReflectionHelpers.setField(fragment,
+ "mCredentialCheckResultTracker", mCredentialCheckResultTracker);
+ fragment.mRemoteLockscreenValidationClient = mRemoteLockscreenValidationClient;
+
+ triggerOnPatternDetected(lockPatternView);
+ verify(mRemoteLockscreenValidationClient)
+ .validateLockscreenGuess(any(), mCallbackCaptor.capture());
+ mCallbackCaptor.getValue().onSuccess(GUESS_INVALID_RESULT);
+
+ verify(mCredentialCheckResultTracker).setResult(
+ eq(false), any(), eq(0), eq(fragment.mEffectiveUserId));
+ assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isFalse();
+ }
+
+ @Test
+ public void onPatternDetected_remoteValidation_lockout() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPattern.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PATTERN, VALID_REMAINING_ATTEMPTS));
+ ConfirmDeviceCredentialBaseFragment fragment =
+ getConfirmDeviceCredentialBaseFragment(activity);
+ LockPatternView lockPatternView = activity.findViewById(R.id.lockPattern);
+ ReflectionHelpers.setField(fragment,
+ "mCredentialCheckResultTracker", mCredentialCheckResultTracker);
+ fragment.mRemoteLockscreenValidationClient = mRemoteLockscreenValidationClient;
+
+ triggerOnPatternDetected(lockPatternView);
+ verify(mRemoteLockscreenValidationClient)
+ .validateLockscreenGuess(any(), mCallbackCaptor.capture());
+ mCallbackCaptor.getValue().onSuccess(LOCKOUT_RESULT);
+
+ verify(mCredentialCheckResultTracker).setResult(
+ eq(false), any(), eq(TIMEOUT_MS), eq(fragment.mEffectiveUserId));
+ assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isFalse();
+ }
+
+ @Test
+ public void onPatternDetected_noRemainingAttempts_finishActivity() throws Exception {
+ ConfirmDeviceCredentialBaseActivity activity =
+ buildConfirmDeviceCredentialBaseActivity(
+ ConfirmLockPattern.class,
+ createRemoteLockscreenValidationIntent(
+ KeyguardManager.PATTERN, VALID_REMAINING_ATTEMPTS));
+ ConfirmDeviceCredentialBaseFragment fragment =
+ getConfirmDeviceCredentialBaseFragment(activity);
+ LockPatternView lockPatternView = activity.findViewById(R.id.lockPattern);
+ ReflectionHelpers.setField(fragment,
+ "mCredentialCheckResultTracker", mCredentialCheckResultTracker);
+ fragment.mRemoteLockscreenValidationClient = mRemoteLockscreenValidationClient;
+
+ triggerOnPatternDetected(lockPatternView);
+ verify(mRemoteLockscreenValidationClient)
+ .validateLockscreenGuess(any(), mCallbackCaptor.capture());
+ mCallbackCaptor.getValue().onSuccess(NO_REMAINING_ATTEMPTS_RESULT);
+
+ assertThat(activity.isFinishing()).isTrue();
+ verifyNoInteractions(mCredentialCheckResultTracker);
+ assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isFalse();
+ }
+
+ private void triggerOnPatternDetected(LockPatternView lockPatternView) {
+ List<LockPatternView.Cell> pattern = List.of(LockPatternView.Cell.of(0, 0));
+ lockPatternView.setPattern(LockPatternView.DisplayMode.Correct, pattern);
+ ReflectionHelpers.callInstanceMethod(lockPatternView, "notifyPatternDetected");
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/password/TestUtils.java b/tests/robotests/src/com/android/settings/password/TestUtils.java
new file mode 100644
index 0000000..246d926
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/password/TestUtils.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.password;
+
+import android.app.KeyguardManager;
+import android.app.RemoteLockscreenValidationResult;
+import android.app.StartLockscreenValidationRequest;
+import android.content.ComponentName;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.ServiceInfo;
+
+import com.android.security.SecureBox;
+import com.android.settings.R;
+
+import org.robolectric.Robolectric;
+
+import java.security.NoSuchAlgorithmException;
+
+public final class TestUtils {
+
+ public static final String SERVICE_NAME = "SERVICE_NAME";
+ public static final String PACKAGE_NAME = "PACKAGE_NAME";
+ public static final ComponentName COMPONENT_NAME =
+ new ComponentName(PACKAGE_NAME, SERVICE_NAME);
+ public static final int VALID_REMAINING_ATTEMPTS = 5;
+ public static final int NO_MORE_REMAINING_ATTEMPTS = 0;
+ public static final int TIMEOUT_MS = 10000;
+ public static final RemoteLockscreenValidationResult GUESS_VALID_RESULT =
+ new RemoteLockscreenValidationResult.Builder()
+ .setResultCode(RemoteLockscreenValidationResult.RESULT_GUESS_VALID)
+ .build();
+ public static final RemoteLockscreenValidationResult GUESS_INVALID_RESULT =
+ new RemoteLockscreenValidationResult.Builder()
+ .setResultCode(RemoteLockscreenValidationResult.RESULT_GUESS_INVALID)
+ .build();
+ public static final RemoteLockscreenValidationResult LOCKOUT_RESULT =
+ new RemoteLockscreenValidationResult.Builder()
+ .setResultCode(RemoteLockscreenValidationResult.RESULT_LOCKOUT)
+ .setTimeoutMillis(TIMEOUT_MS)
+ .build();
+ public static final RemoteLockscreenValidationResult NO_REMAINING_ATTEMPTS_RESULT =
+ new RemoteLockscreenValidationResult.Builder()
+ .setResultCode(RemoteLockscreenValidationResult.RESULT_NO_REMAINING_ATTEMPTS)
+ .build();
+
+ private TestUtils() {
+ }
+
+ public static PackageInfo createPackageInfoWithService(
+ String packageName, String serviceName, String requiredServicePermission) {
+ ServiceInfo serviceInfo = new ServiceInfo();
+ serviceInfo.name = serviceName;
+ serviceInfo.applicationInfo = new ApplicationInfo();
+ serviceInfo.permission = requiredServicePermission;
+
+ PackageInfo packageInfo = new PackageInfo();
+ packageInfo.packageName = packageName;
+ packageInfo.services = new ServiceInfo[]{serviceInfo};
+ return packageInfo;
+ }
+
+ public static Intent createRemoteLockscreenValidationIntent(
+ int lockscreenType, int remainingAttempts) throws Exception {
+ return new Intent()
+ .putExtra(ConfirmDeviceCredentialBaseFragment.IS_REMOTE_LOCKSCREEN_VALIDATION, true)
+ .putExtra(KeyguardManager.EXTRA_START_LOCKSCREEN_VALIDATION_REQUEST,
+ createStartLockscreenValidationRequest(lockscreenType, remainingAttempts))
+ .putExtra(Intent.EXTRA_COMPONENT_NAME, COMPONENT_NAME);
+ }
+
+ public static StartLockscreenValidationRequest createStartLockscreenValidationRequest(
+ int lockscreenType, int remainingAttempts) throws NoSuchAlgorithmException {
+ return new StartLockscreenValidationRequest.Builder()
+ .setLockscreenUiType(lockscreenType)
+ .setRemainingAttempts(remainingAttempts)
+ .setSourcePublicKey(SecureBox.genKeyPair().getPublic().getEncoded())
+ .build();
+ }
+
+ public static ConfirmDeviceCredentialBaseActivity buildConfirmDeviceCredentialBaseActivity(
+ Class<? extends ConfirmDeviceCredentialBaseActivity> impl, Intent intent) {
+ return Robolectric.buildActivity(impl, intent).setup().get();
+ }
+
+ public static ConfirmDeviceCredentialBaseFragment getConfirmDeviceCredentialBaseFragment(
+ ConfirmDeviceCredentialBaseActivity activity) {
+ return (ConfirmDeviceCredentialBaseFragment)
+ activity.getSupportFragmentManager().findFragmentById(R.id.main_content);
+ }
+
+}
diff --git a/tests/robotests/src/com/android/settings/slices/VolumeSliceHelperTest.java b/tests/robotests/src/com/android/settings/slices/VolumeSliceHelperTest.java
index 2ceeb25..b4abd8c 100644
--- a/tests/robotests/src/com/android/settings/slices/VolumeSliceHelperTest.java
+++ b/tests/robotests/src/com/android/settings/slices/VolumeSliceHelperTest.java
@@ -34,6 +34,7 @@
import android.net.Uri;
import com.android.settings.notification.MediaVolumePreferenceController;
+import com.android.settings.notification.NotificationVolumePreferenceController;
import com.android.settings.notification.RingVolumePreferenceController;
import com.android.settings.notification.SeparateRingVolumePreferenceController;
import com.android.settings.notification.VolumeSeekBarPreferenceController;
@@ -64,6 +65,7 @@
private VolumeSeekBarPreferenceController mMediaController;
private VolumeSeekBarPreferenceController mRingController;
private VolumeSeekBarPreferenceController mSeparateRingController;
+ private VolumeSeekBarPreferenceController mNotificationController;
@Before
public void setUp() {
@@ -72,8 +74,9 @@
when(mContext.getContentResolver()).thenReturn(mResolver);
mMediaController = new MediaVolumePreferenceController(mContext);
- mSeparateRingController = new SeparateRingVolumePreferenceController(mContext);
mRingController = new RingVolumePreferenceController(mContext);
+ mSeparateRingController = new SeparateRingVolumePreferenceController(mContext);
+ mNotificationController = new NotificationVolumePreferenceController(mContext);
mIntent = createIntent(AudioManager.VOLUME_CHANGED_ACTION)
.putExtra(AudioManager.EXTRA_VOLUME_STREAM_VALUE, 1)
@@ -238,6 +241,40 @@
verify(mResolver).notifyChange(mMediaController.getSliceUri(), null);
}
+ /**
+ * Without this test passing, when notification is separated from ring and its value is already
+ * zero, setting ringermode to silent would not disable notification slider.
+ * Note: the above scenario happens only in volume panel where controllers do not get to
+ * register for events such as RINGER_MODE_CHANGE.
+ */
+ @Test
+ public void onReceive_ringVolumeMuted_shouldNotifyChangeNotificationSlice() {
+ final Intent intent = createIntent(AudioManager.STREAM_MUTE_CHANGED_ACTION)
+ .putExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, mRingController.getAudioStream());
+ registerIntentToUri(mRingController);
+ registerIntentToUri(mNotificationController);
+
+ VolumeSliceHelper.onReceive(mContext, intent);
+
+ verify(mResolver).notifyChange(mNotificationController.getSliceUri(), null);
+ }
+
+ /**
+ * Notifying notification slice on ring mute does not mean it should not notify ring slice.
+ * Rather, it should notify both slices.
+ */
+ @Test
+ public void onReceive_ringVolumeMuted_shouldNotifyChangeRingSlice() {
+ final Intent intent = createIntent(AudioManager.STREAM_MUTE_CHANGED_ACTION)
+ .putExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, mRingController.getAudioStream());
+ registerIntentToUri(mRingController);
+ registerIntentToUri(mNotificationController);
+
+ VolumeSliceHelper.onReceive(mContext, intent);
+
+ verify(mResolver).notifyChange(mRingController.getSliceUri(), null);
+ }
+
@Test
public void onReceive_streamDevicesChanged_shouldNotifyChange() {
final Intent intent = createIntent(AudioManager.STREAM_DEVICES_CHANGED_ACTION)
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDevicePolicyManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDevicePolicyManager.java
index a2e4430..0396503 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDevicePolicyManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDevicePolicyManager.java
@@ -8,6 +8,7 @@
import android.annotation.UserIdInt;
import android.app.admin.DevicePolicyManager;
import android.app.admin.DevicePolicyManager.DeviceOwnerType;
+import android.app.admin.ManagedSubscriptionsPolicy;
import android.app.admin.PasswordMetrics;
import android.app.admin.PasswordPolicy;
import android.content.ComponentName;
@@ -29,6 +30,7 @@
private Map<Integer, CharSequence> mSupportMessagesMap = new HashMap<>();
private boolean mIsAdminActiveAsUser = false;
private ComponentName mDeviceOwnerComponentName;
+ private ManagedSubscriptionsPolicy mManagedSubscriptionsPolicy;
private int mDeviceOwnerUserId = -1;
private int mPasswordMinQuality = PASSWORD_QUALITY_UNSPECIFIED;
private int mPasswordMinLength = 0;
@@ -85,6 +87,10 @@
mDeviceOwnerTypes.put(admin.getPackageName(), deviceOwnerType);
}
+ public void setManagedSubscriptionsPolicy(ManagedSubscriptionsPolicy policy) {
+ mManagedSubscriptionsPolicy = policy;
+ }
+
@DeviceOwnerType
public int getDeviceOwnerType(@NonNull ComponentName admin) {
return mDeviceOwnerTypes.getOrDefault(admin.getPackageName(), DEVICE_OWNER_TYPE_DEFAULT);
@@ -99,6 +105,11 @@
return policy.getMinMetrics();
}
+ @Implementation
+ public ManagedSubscriptionsPolicy getManagedSubscriptionsPolicy() {
+ return mManagedSubscriptionsPolicy;
+ }
+
public void setPasswordQuality(int quality) {
mPasswordMinQuality = quality;
}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java
index 157c218..c6c6c55 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java
@@ -16,6 +16,8 @@
package com.android.settings.testutils.shadow;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.app.admin.DevicePolicyManager;
import android.app.admin.PasswordMetrics;
import android.content.ComponentName;
@@ -43,6 +45,10 @@
private static Map<Integer, PasswordMetrics> sUserToMetricsMap = new HashMap<>();
private static Map<Integer, PasswordMetrics> sUserToProfileMetricsMap = new HashMap<>();
private static Map<Integer, Boolean> sUserToIsSecureMap = new HashMap<>();
+ private static Map<Integer, Boolean> sUserToPatternEverChosenMap = new HashMap<>();
+ private static Map<Integer, Boolean> sUserToVisiblePatternEnabledMap = new HashMap<>();
+ private static Map<Integer, Boolean> sUserToBiometricAllowedMap = new HashMap<>();
+ private static Map<Integer, Boolean> sUserToLockPatternEnabledMap = new HashMap<>();
private static boolean sIsUserOwnsFrpCredential;
@@ -53,6 +59,10 @@
sUserToMetricsMap.clear();
sUserToProfileMetricsMap.clear();
sUserToIsSecureMap.clear();
+ sUserToPatternEverChosenMap.clear();
+ sUserToVisiblePatternEnabledMap.clear();
+ sUserToBiometricAllowedMap.clear();
+ sUserToLockPatternEnabledMap.clear();
sDeviceEncryptionEnabled = false;
sIsUserOwnsFrpCredential = false;
}
@@ -136,6 +146,56 @@
sIsUserOwnsFrpCredential = isUserOwnsFrpCredential;
}
+ @Implementation
+ public boolean isVisiblePatternEnabled(int userId) {
+ return sUserToVisiblePatternEnabledMap.getOrDefault(userId, false);
+ }
+
+ public static void setIsVisiblePatternEnabled(int userId, boolean isVisiblePatternEnabled) {
+ sUserToVisiblePatternEnabledMap.put(userId, isVisiblePatternEnabled);
+ }
+
+ @Implementation
+ public boolean isPatternEverChosen(int userId) {
+ return sUserToPatternEverChosenMap.getOrDefault(userId, true);
+ }
+
+ public static void setIsPatternEverChosen(int userId, boolean isPatternEverChosen) {
+ sUserToPatternEverChosenMap.put(userId, isPatternEverChosen);
+ }
+
+ @Implementation
+ public boolean isBiometricAllowedForUser(int userId) {
+ return sUserToBiometricAllowedMap.getOrDefault(userId, false);
+ }
+
+ public static void setIsBiometricAllowedForUser(int userId, boolean isBiometricAllowed) {
+ sUserToBiometricAllowedMap.put(userId, isBiometricAllowed);
+ }
+
+ @Implementation
+ public boolean isLockPatternEnabled(int userId) {
+ return sUserToBiometricAllowedMap.getOrDefault(userId, false);
+ }
+
+ public static void setIsLockPatternEnabled(int userId, boolean isLockPatternEnabled) {
+ sUserToLockPatternEnabledMap.put(userId, isLockPatternEnabled);
+ }
+
+ @Implementation
+ public boolean setLockCredential(@NonNull LockscreenCredential newCredential,
+ @NonNull LockscreenCredential savedCredential, int userHandle) {
+ setIsSecure(userHandle, true);
+ return true;
+ }
+
+ @Implementation
+ public boolean checkCredential(@NonNull LockscreenCredential credential, int userId,
+ @Nullable LockPatternUtils.CheckCredentialProgressCallback progressCallback)
+ throws LockPatternUtils.RequestThrottledException {
+ return true;
+ }
+
public static void setRequiredPasswordComplexity(int userHandle, int complexity) {
sUserToComplexityMap.put(userHandle, complexity);
}