google-adk 1.7.0__py3-none-any.whl → 1.8.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. google/adk/a2a/converters/request_converter.py +1 -2
  2. google/adk/a2a/logs/log_utils.py +1 -2
  3. google/adk/a2a/utils/__init__.py +0 -0
  4. google/adk/a2a/utils/agent_card_builder.py +544 -0
  5. google/adk/a2a/utils/agent_to_a2a.py +118 -0
  6. google/adk/agents/base_agent.py +6 -1
  7. google/adk/agents/config_schemas/AgentConfig.json +22 -0
  8. google/adk/agents/live_request_queue.py +15 -0
  9. google/adk/agents/llm_agent.py +11 -0
  10. google/adk/agents/loop_agent.py +6 -1
  11. google/adk/agents/remote_a2a_agent.py +2 -2
  12. google/adk/artifacts/gcs_artifact_service.py +86 -18
  13. google/adk/cli/browser/index.html +2 -2
  14. google/adk/cli/browser/{main-SRBSE46V.js → main-W7QZBYAR.js} +139 -139
  15. google/adk/cli/cli_eval.py +87 -12
  16. google/adk/cli/cli_tools_click.py +143 -82
  17. google/adk/cli/fast_api.py +136 -95
  18. google/adk/evaluation/eval_metrics.py +4 -0
  19. google/adk/evaluation/eval_sets_manager.py +5 -1
  20. google/adk/evaluation/final_response_match_v2.py +2 -2
  21. google/adk/evaluation/gcs_eval_sets_manager.py +2 -1
  22. google/adk/evaluation/local_eval_service.py +2 -2
  23. google/adk/evaluation/local_eval_set_results_manager.py +2 -2
  24. google/adk/evaluation/local_eval_sets_manager.py +1 -1
  25. google/adk/evaluation/metric_evaluator_registry.py +16 -6
  26. google/adk/evaluation/vertex_ai_eval_facade.py +7 -1
  27. google/adk/events/event.py +7 -2
  28. google/adk/flows/llm_flows/base_llm_flow.py +25 -6
  29. google/adk/flows/llm_flows/functions.py +13 -19
  30. google/adk/memory/in_memory_memory_service.py +1 -1
  31. google/adk/memory/vertex_ai_memory_bank_service.py +12 -10
  32. google/adk/models/anthropic_llm.py +2 -1
  33. google/adk/models/base_llm_connection.py +2 -0
  34. google/adk/models/gemini_llm_connection.py +17 -6
  35. google/adk/models/google_llm.py +35 -5
  36. google/adk/models/lite_llm.py +31 -18
  37. google/adk/sessions/database_session_service.py +25 -24
  38. google/adk/sessions/vertex_ai_session_service.py +13 -5
  39. google/adk/tools/__init__.py +2 -0
  40. google/adk/tools/_automatic_function_calling_util.py +20 -2
  41. google/adk/tools/agent_tool.py +14 -3
  42. google/adk/tools/base_toolset.py +22 -0
  43. google/adk/tools/bigquery/metadata_tool.py +2 -0
  44. google/adk/tools/bigquery/query_tool.py +15 -1
  45. google/adk/tools/computer_use/__init__.py +13 -0
  46. google/adk/tools/computer_use/base_computer.py +265 -0
  47. google/adk/tools/computer_use/computer_use_tool.py +166 -0
  48. google/adk/tools/computer_use/computer_use_toolset.py +220 -0
  49. google/adk/tools/exit_loop_tool.py +1 -0
  50. google/adk/tools/langchain_tool.py +14 -3
  51. google/adk/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.py +5 -0
  52. google/adk/version.py +1 -1
  53. {google_adk-1.7.0.dist-info → google_adk-1.8.0.dist-info}/METADATA +2 -1
  54. {google_adk-1.7.0.dist-info → google_adk-1.8.0.dist-info}/RECORD +57 -50
  55. {google_adk-1.7.0.dist-info → google_adk-1.8.0.dist-info}/WHEEL +0 -0
  56. {google_adk-1.7.0.dist-info → google_adk-1.8.0.dist-info}/entry_points.txt +0 -0
  57. {google_adk-1.7.0.dist-info → google_adk-1.8.0.dist-info}/licenses/LICENSE +0 -0
@@ -163,6 +163,28 @@
163
163
  "default": null,
164
164
  "title": "Disallow Transfer To Peers"
165
165
  },
166
+ "input_schema": {
167
+ "anyOf": [
168
+ {
169
+ "$ref": "#/$defs/CodeConfig"
170
+ },
171
+ {
172
+ "type": "null"
173
+ }
174
+ ],
175
+ "default": null
176
+ },
177
+ "output_schema": {
178
+ "anyOf": [
179
+ {
180
+ "$ref": "#/$defs/CodeConfig"
181
+ },
182
+ {
183
+ "type": "null"
184
+ }
185
+ ],
186
+ "default": null
187
+ },
166
188
  "output_key": {
167
189
  "anyOf": [
168
190
  {
@@ -12,12 +12,15 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ from __future__ import annotations
16
+
15
17
  import asyncio
16
18
  from typing import Optional
17
19
 
18
20
  from google.genai import types
19
21
  from pydantic import BaseModel
20
22
  from pydantic import ConfigDict
23
+ from pydantic import field_validator
21
24
 
22
25
 
23
26
  class LiveRequest(BaseModel):
@@ -30,6 +33,10 @@ class LiveRequest(BaseModel):
30
33
  """If set, send the content to the model in turn-by-turn mode."""
31
34
  blob: Optional[types.Blob] = None
32
35
  """If set, send the blob to the model in realtime mode."""
36
+ activity_start: Optional[types.ActivityStart] = None
37
+ """If set, signal the start of user activity to the model."""
38
+ activity_end: Optional[types.ActivityEnd] = None
39
+ """If set, signal the end of user activity to the model."""
33
40
  close: bool = False
34
41
  """If set, close the queue. queue.shutdown() is only supported in Python 3.13+."""
35
42
 
@@ -58,6 +65,14 @@ class LiveRequestQueue:
58
65
  def send_realtime(self, blob: types.Blob):
59
66
  self._queue.put_nowait(LiveRequest(blob=blob))
60
67
 
68
+ def send_activity_start(self):
69
+ """Sends an activity start signal to mark the beginning of user input."""
70
+ self._queue.put_nowait(LiveRequest(activity_start=types.ActivityStart()))
71
+
72
+ def send_activity_end(self):
73
+ """Sends an activity end signal to mark the end of user input."""
74
+ self._queue.put_nowait(LiveRequest(activity_end=types.ActivityEnd()))
75
+
61
76
  def send(self, req: LiveRequest):
62
77
  self._queue.put_nowait(req)
63
78
 
@@ -563,6 +563,7 @@ class LlmAgent(BaseAgent):
563
563
  config_abs_path: str,
564
564
  ) -> LlmAgent:
565
565
  from .config_agent_utils import resolve_callbacks
566
+ from .config_agent_utils import resolve_code_reference
566
567
 
567
568
  agent = super().from_config(config, config_abs_path)
568
569
  if config.model:
@@ -575,6 +576,10 @@ class LlmAgent(BaseAgent):
575
576
  agent.disallow_transfer_to_peers = config.disallow_transfer_to_peers
576
577
  if config.include_contents != 'default':
577
578
  agent.include_contents = config.include_contents
579
+ if config.input_schema:
580
+ agent.input_schema = resolve_code_reference(config.input_schema)
581
+ if config.output_schema:
582
+ agent.output_schema = resolve_code_reference(config.output_schema)
578
583
  if config.output_key:
579
584
  agent.output_key = config.output_key
580
585
  if config.tools:
@@ -619,6 +624,12 @@ class LlmAgentConfig(BaseAgentConfig):
619
624
  disallow_transfer_to_peers: Optional[bool] = None
620
625
  """Optional. LlmAgent.disallow_transfer_to_peers."""
621
626
 
627
+ input_schema: Optional[CodeConfig] = None
628
+ """Optional. LlmAgent.input_schema."""
629
+
630
+ output_schema: Optional[CodeConfig] = None
631
+ """Optional. LlmAgent.output_schema."""
632
+
622
633
  output_key: Optional[str] = None
623
634
  """Optional. LlmAgent.output_key."""
624
635
 
@@ -53,10 +53,15 @@ class LoopAgent(BaseAgent):
53
53
  times_looped = 0
54
54
  while not self.max_iterations or times_looped < self.max_iterations:
55
55
  for sub_agent in self.sub_agents:
56
+ should_exit = False
56
57
  async for event in sub_agent.run_async(ctx):
57
58
  yield event
58
59
  if event.actions.escalate:
59
- return
60
+ should_exit = True
61
+
62
+ if should_exit:
63
+ return
64
+
60
65
  times_looped += 1
61
66
  return
62
67
 
@@ -481,11 +481,11 @@ class RemoteA2aAgent(BaseAgent):
481
481
  ),
482
482
  )
483
483
 
484
- logger.info(build_a2a_request_log(a2a_request))
484
+ logger.debug(build_a2a_request_log(a2a_request))
485
485
 
486
486
  try:
487
487
  a2a_response = await self._a2a_client.send_message(request=a2a_request)
488
- logger.info(build_a2a_response_log(a2a_response))
488
+ logger.debug(build_a2a_response_log(a2a_response))
489
489
 
490
490
  event = await self._handle_a2a_response(a2a_response, ctx)
491
491
 
@@ -22,6 +22,7 @@ The blob name format used depends on whether the filename has a user namespace:
22
22
  """
23
23
  from __future__ import annotations
24
24
 
25
+ import asyncio
25
26
  import logging
26
27
  from typing import Optional
27
28
 
@@ -40,6 +41,7 @@ class GcsArtifactService(BaseArtifactService):
40
41
  def __init__(self, bucket_name: str, **kwargs):
41
42
  """Initializes the GcsArtifactService.
42
43
 
44
+
43
45
  Args:
44
46
  bucket_name: The name of the bucket to use.
45
47
  **kwargs: Keyword arguments to pass to the Google Cloud Storage client.
@@ -48,6 +50,79 @@ class GcsArtifactService(BaseArtifactService):
48
50
  self.storage_client = storage.Client(**kwargs)
49
51
  self.bucket = self.storage_client.bucket(self.bucket_name)
50
52
 
53
+ @override
54
+ async def save_artifact(
55
+ self,
56
+ *,
57
+ app_name: str,
58
+ user_id: str,
59
+ session_id: str,
60
+ filename: str,
61
+ artifact: types.Part,
62
+ ) -> int:
63
+ return await asyncio.to_thread(
64
+ self._save_artifact,
65
+ app_name,
66
+ user_id,
67
+ session_id,
68
+ filename,
69
+ artifact,
70
+ )
71
+
72
+ @override
73
+ async def load_artifact(
74
+ self,
75
+ *,
76
+ app_name: str,
77
+ user_id: str,
78
+ session_id: str,
79
+ filename: str,
80
+ version: Optional[int] = None,
81
+ ) -> Optional[types.Part]:
82
+ return await asyncio.to_thread(
83
+ self._load_artifact,
84
+ app_name,
85
+ user_id,
86
+ session_id,
87
+ filename,
88
+ version,
89
+ )
90
+
91
+ @override
92
+ async def list_artifact_keys(
93
+ self, *, app_name: str, user_id: str, session_id: str
94
+ ) -> list[str]:
95
+ return await asyncio.to_thread(
96
+ self._list_artifact_keys,
97
+ app_name,
98
+ user_id,
99
+ session_id,
100
+ )
101
+
102
+ @override
103
+ async def delete_artifact(
104
+ self, *, app_name: str, user_id: str, session_id: str, filename: str
105
+ ) -> None:
106
+ return await asyncio.to_thread(
107
+ self._delete_artifact,
108
+ app_name,
109
+ user_id,
110
+ session_id,
111
+ filename,
112
+ )
113
+
114
+ @override
115
+ async def list_versions(
116
+ self, *, app_name: str, user_id: str, session_id: str, filename: str
117
+ ) -> list[int]:
118
+ return await asyncio.to_thread(
119
+ self._list_versions,
120
+ app_name,
121
+ user_id,
122
+ session_id,
123
+ filename,
124
+ )
125
+
51
126
  def _file_has_user_namespace(self, filename: str) -> bool:
52
127
  """Checks if the filename has a user namespace.
53
128
 
@@ -84,17 +159,15 @@ class GcsArtifactService(BaseArtifactService):
84
159
  return f"{app_name}/{user_id}/user/{filename}/{version}"
85
160
  return f"{app_name}/{user_id}/{session_id}/{filename}/{version}"
86
161
 
87
- @override
88
- async def save_artifact(
162
+ def _save_artifact(
89
163
  self,
90
- *,
91
164
  app_name: str,
92
165
  user_id: str,
93
166
  session_id: str,
94
167
  filename: str,
95
168
  artifact: types.Part,
96
169
  ) -> int:
97
- versions = await self.list_versions(
170
+ versions = self._list_versions(
98
171
  app_name=app_name,
99
172
  user_id=user_id,
100
173
  session_id=session_id,
@@ -114,10 +187,8 @@ class GcsArtifactService(BaseArtifactService):
114
187
 
115
188
  return version
116
189
 
117
- @override
118
- async def load_artifact(
190
+ def _load_artifact(
119
191
  self,
120
- *,
121
192
  app_name: str,
122
193
  user_id: str,
123
194
  session_id: str,
@@ -125,7 +196,7 @@ class GcsArtifactService(BaseArtifactService):
125
196
  version: Optional[int] = None,
126
197
  ) -> Optional[types.Part]:
127
198
  if version is None:
128
- versions = await self.list_versions(
199
+ versions = self._list_versions(
129
200
  app_name=app_name,
130
201
  user_id=user_id,
131
202
  session_id=session_id,
@@ -148,9 +219,8 @@ class GcsArtifactService(BaseArtifactService):
148
219
  )
149
220
  return artifact
150
221
 
151
- @override
152
- async def list_artifact_keys(
153
- self, *, app_name: str, user_id: str, session_id: str
222
+ def _list_artifact_keys(
223
+ self, app_name: str, user_id: str, session_id: str
154
224
  ) -> list[str]:
155
225
  filenames = set()
156
226
 
@@ -172,11 +242,10 @@ class GcsArtifactService(BaseArtifactService):
172
242
 
173
243
  return sorted(list(filenames))
174
244
 
175
- @override
176
- async def delete_artifact(
177
- self, *, app_name: str, user_id: str, session_id: str, filename: str
245
+ def _delete_artifact(
246
+ self, app_name: str, user_id: str, session_id: str, filename: str
178
247
  ) -> None:
179
- versions = await self.list_versions(
248
+ versions = self._list_versions(
180
249
  app_name=app_name,
181
250
  user_id=user_id,
182
251
  session_id=session_id,
@@ -190,9 +259,8 @@ class GcsArtifactService(BaseArtifactService):
190
259
  blob.delete()
191
260
  return
192
261
 
193
- @override
194
- async def list_versions(
195
- self, *, app_name: str, user_id: str, session_id: str, filename: str
262
+ def _list_versions(
263
+ self, app_name: str, user_id: str, session_id: str, filename: str
196
264
  ) -> list[int]:
197
265
  """Lists all available versions of an artifact.
198
266
 
@@ -26,9 +26,9 @@
26
26
  <style>@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCajshE7g.woff2) format('woff2');unicode-range:U+0308, U+0530-058F, U+2010, U+2024, U+25CC, U+FB13-FB17;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCYjshE7g.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCljshE7g.woff2) format('woff2');unicode-range:U+02C7, U+02D8-02D9, U+02DB, U+0307, U+1400-167F, U+18B0-18F5, U+25CC, U+11AB0-11ABF;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCHjshE7g.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCOjshE7g.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCLjshE7g.woff2) format('woff2');unicode-range:U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCbjshE7g.woff2) format('woff2');unicode-range:U+030E, U+1200-1399, U+2D80-2DDE, U+AB01-AB2E, U+1E7E0-1E7E6, U+1E7E8-1E7EB, U+1E7ED-1E7EE, U+1E7F0-1E7FE;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCVjshE7g.woff2) format('woff2');unicode-range:U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCGjshE7g.woff2) format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCJjshE7g.woff2) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCRjshE7g.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0A80-0AFF, U+200C-200D, U+20B9, U+25CC, U+A830-A839;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCpjshE7g.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0A01-0A76, U+200C-200D, U+20B9, U+25CC, U+262C, U+A830-A839;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCIjshE7g.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCBjshE7g.woff2) format('woff2');unicode-range:U+1780-17FF, U+19E0-19FF, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCDjshE7g.woff2) format('woff2');unicode-range:U+0E81-0EDF, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCSjshE7g.woff2) format('woff2');unicode-range:U+0307, U+0323, U+0951-0952, U+0964-0965, U+0D00-0D7F, U+1CDA, U+1CF2, U+200C-200D, U+20B9, U+25CC, U+A830-A832;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCTjshE7g.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0B01-0B77, U+1CDA, U+1CF2, U+200C-200D, U+20B9, U+25CC;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCXjshE7g.woff2) format('woff2');unicode-range:U+0964-0965, U+0D81-0DF4, U+1CF2, U+200C-200D, U+25CC, U+111E1-111F4;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTDkjshE7g.woff2) format('woff2');unicode-range:U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCcjshE7g.woff2) format('woff2');unicode-range:U+0964-0965, U+0B82-0BFA, U+200C-200D, U+20B9, U+25CC;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCWjshE7g.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0C00-0C7F, U+1CDA, U+1CF2, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCejshE7g.woff2) format('woff2');unicode-range:U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCFjshE7g.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCEjshE7g.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCKjsg.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2rgCIlsw.woff2) format('woff2');unicode-range:U+0308, U+0530-058F, U+2010, U+2024, U+25CC, U+FB13-FB17;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2rACIlsw.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2kQCIlsw.woff2) format('woff2');unicode-range:U+02C7, U+02D8-02D9, U+02DB, U+0307, U+1400-167F, U+18B0-18F5, U+25CC, U+11AB0-11ABF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2swCIlsw.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2ugCIlsw.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2vwCIlsw.woff2) format('woff2');unicode-range:U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2rwCIlsw.woff2) format('woff2');unicode-range:U+030E, U+1200-1399, U+2D80-2DDE, U+AB01-AB2E, U+1E7E0-1E7E6, U+1E7E8-1E7EB, U+1E7ED-1E7EE, U+1E7F0-1E7FE;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2oQCIlsw.woff2) format('woff2');unicode-range:U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2sgCIlsw.woff2) format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2vQCIlsw.woff2) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2pQCIlsw.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0A80-0AFF, U+200C-200D, U+20B9, U+25CC, U+A830-A839;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2nQCIlsw.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0A01-0A76, U+200C-200D, U+20B9, U+25CC, U+262C, U+A830-A839;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2vACIlsw.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2tQCIlsw.woff2) format('woff2');unicode-range:U+1780-17FF, U+19E0-19FF, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2twCIlsw.woff2) format('woff2');unicode-range:U+0E81-0EDF, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2pgCIlsw.woff2) format('woff2');unicode-range:U+0307, U+0323, U+0951-0952, U+0964-0965, U+0D00-0D7F, U+1CDA, U+1CF2, U+200C-200D, U+20B9, U+25CC, U+A830-A832;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2pwCIlsw.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0B01-0B77, U+1CDA, U+1CF2, U+200C-200D, U+20B9, U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2owCIlsw.woff2) format('woff2');unicode-range:U+0964-0965, U+0D81-0DF4, U+1CF2, U+200C-200D, U+25CC, U+111E1-111F4;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq20ACIlsw.woff2) format('woff2');unicode-range:U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2qACIlsw.woff2) format('woff2');unicode-range:U+0964-0965, U+0B82-0BFA, U+200C-200D, U+20B9, U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2ogCIlsw.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0C00-0C7F, U+1CDA, U+1CF2, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2qgCIlsw.woff2) format('woff2');unicode-range:U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2sQCIlsw.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2sACIlsw.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2vgCI.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}</style>
27
27
  <style>@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCajshE7g.woff2) format('woff2');unicode-range:U+0308, U+0530-058F, U+2010, U+2024, U+25CC, U+FB13-FB17;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCYjshE7g.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCljshE7g.woff2) format('woff2');unicode-range:U+02C7, U+02D8-02D9, U+02DB, U+0307, U+1400-167F, U+18B0-18F5, U+25CC, U+11AB0-11ABF;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCHjshE7g.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCOjshE7g.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCLjshE7g.woff2) format('woff2');unicode-range:U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCbjshE7g.woff2) format('woff2');unicode-range:U+030E, U+1200-1399, U+2D80-2DDE, U+AB01-AB2E, U+1E7E0-1E7E6, U+1E7E8-1E7EB, U+1E7ED-1E7EE, U+1E7F0-1E7FE;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCVjshE7g.woff2) format('woff2');unicode-range:U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCGjshE7g.woff2) format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCJjshE7g.woff2) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCRjshE7g.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0A80-0AFF, U+200C-200D, U+20B9, U+25CC, U+A830-A839;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCpjshE7g.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0A01-0A76, U+200C-200D, U+20B9, U+25CC, U+262C, U+A830-A839;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCIjshE7g.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCBjshE7g.woff2) format('woff2');unicode-range:U+1780-17FF, U+19E0-19FF, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCDjshE7g.woff2) format('woff2');unicode-range:U+0E81-0EDF, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCSjshE7g.woff2) format('woff2');unicode-range:U+0307, U+0323, U+0951-0952, U+0964-0965, U+0D00-0D7F, U+1CDA, U+1CF2, U+200C-200D, U+20B9, U+25CC, U+A830-A832;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCTjshE7g.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0B01-0B77, U+1CDA, U+1CF2, U+200C-200D, U+20B9, U+25CC;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCXjshE7g.woff2) format('woff2');unicode-range:U+0964-0965, U+0D81-0DF4, U+1CF2, U+200C-200D, U+25CC, U+111E1-111F4;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTDkjshE7g.woff2) format('woff2');unicode-range:U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCcjshE7g.woff2) format('woff2');unicode-range:U+0964-0965, U+0B82-0BFA, U+200C-200D, U+20B9, U+25CC;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCWjshE7g.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0C00-0C7F, U+1CDA, U+1CF2, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCejshE7g.woff2) format('woff2');unicode-range:U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCFjshE7g.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCEjshE7g.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Google Sans';font-style:italic;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaXrENHsxJlGDuGo1OIlL3L2JB874GPhFI9_IqmuTCKjsg.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2rgCIlsw.woff2) format('woff2');unicode-range:U+0308, U+0530-058F, U+2010, U+2024, U+25CC, U+FB13-FB17;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2rACIlsw.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2kQCIlsw.woff2) format('woff2');unicode-range:U+02C7, U+02D8-02D9, U+02DB, U+0307, U+1400-167F, U+18B0-18F5, U+25CC, U+11AB0-11ABF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2swCIlsw.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2ugCIlsw.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2vwCIlsw.woff2) format('woff2');unicode-range:U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2rwCIlsw.woff2) format('woff2');unicode-range:U+030E, U+1200-1399, U+2D80-2DDE, U+AB01-AB2E, U+1E7E0-1E7E6, U+1E7E8-1E7EB, U+1E7ED-1E7EE, U+1E7F0-1E7FE;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2oQCIlsw.woff2) format('woff2');unicode-range:U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2sgCIlsw.woff2) format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2vQCIlsw.woff2) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2pQCIlsw.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0A80-0AFF, U+200C-200D, U+20B9, U+25CC, U+A830-A839;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2nQCIlsw.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0A01-0A76, U+200C-200D, U+20B9, U+25CC, U+262C, U+A830-A839;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2vACIlsw.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2tQCIlsw.woff2) format('woff2');unicode-range:U+1780-17FF, U+19E0-19FF, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2twCIlsw.woff2) format('woff2');unicode-range:U+0E81-0EDF, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2pgCIlsw.woff2) format('woff2');unicode-range:U+0307, U+0323, U+0951-0952, U+0964-0965, U+0D00-0D7F, U+1CDA, U+1CF2, U+200C-200D, U+20B9, U+25CC, U+A830-A832;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2pwCIlsw.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0B01-0B77, U+1CDA, U+1CF2, U+200C-200D, U+20B9, U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2owCIlsw.woff2) format('woff2');unicode-range:U+0964-0965, U+0D81-0DF4, U+1CF2, U+200C-200D, U+25CC, U+111E1-111F4;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq20ACIlsw.woff2) format('woff2');unicode-range:U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2qACIlsw.woff2) format('woff2');unicode-range:U+0964-0965, U+0B82-0BFA, U+200C-200D, U+20B9, U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2ogCIlsw.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0C00-0C7F, U+1CDA, U+1CF2, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2qgCIlsw.woff2) format('woff2');unicode-range:U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2sQCIlsw.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2sACIlsw.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Google Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesans/v64/4UaRrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iq2vgCI.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Google Sans Mono';font-style:italic;font-weight:1 1000;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansmono/v26/P5sfzYWFYtnZ_Cg-t0Uq_rfivrdYNY1cbhrBZQI.woff2) format('woff2');unicode-range:U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;}@font-face{font-family:'Google Sans Mono';font-style:italic;font-weight:1 1000;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansmono/v26/P5sfzYWFYtnZ_Cg-t0Uq_rfivrdYNY1cDhrBZQI.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Google Sans Mono';font-style:italic;font-weight:1 1000;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansmono/v26/P5sfzYWFYtnZ_Cg-t0Uq_rfivrdYNY1cABrB.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Google Sans Mono';font-style:normal;font-weight:1 1000;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansmono/v26/P5sZzYWFYtnZ_Cg-t0Uq_rfivrdYNeZsAgLF.woff2) format('woff2');unicode-range:U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;}@font-face{font-family:'Google Sans Mono';font-style:normal;font-weight:1 1000;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansmono/v26/P5sZzYWFYtnZ_Cg-t0Uq_rfivrdYNYZsAgLF.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Google Sans Mono';font-style:normal;font-weight:1 1000;font-display:swap;src:url(https://fonts.gstatic.com/s/googlesansmono/v26/P5sZzYWFYtnZ_Cg-t0Uq_rfivrdYNYhsAg.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}</style>
28
28
  <style>@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v143/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');}.material-icons{font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;}</style>
29
- <style>@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v257/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOej.woff2) format('woff2');}.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;}</style>
29
+ <style>@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v266/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOej.woff2) format('woff2');}.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;}</style>
30
30
  <style>html{color-scheme:dark}html{--mat-sys-background:light-dark(#fcf9f8, #131314);--mat-sys-error:light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container:light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface:light-dark(#f3f0f0, #313030);--mat-sys-inverse-primary:light-dark(#c1c7cd, #595f65);--mat-sys-inverse-surface:light-dark(#313030, #e5e2e2);--mat-sys-on-background:light-dark(#1c1b1c, #e5e2e2);--mat-sys-on-error:light-dark(#ffffff, #690005);--mat-sys-on-error-container:light-dark(#410002, #ffdad6);--mat-sys-on-primary:light-dark(#ffffff, #2b3136);--mat-sys-on-primary-container:light-dark(#161c21, #dde3e9);--mat-sys-on-primary-fixed:light-dark(#161c21, #161c21);--mat-sys-on-primary-fixed-variant:light-dark(#41474d, #41474d);--mat-sys-on-secondary:light-dark(#ffffff, #003061);--mat-sys-on-secondary-container:light-dark(#001b3c, #d5e3ff);--mat-sys-on-secondary-fixed:light-dark(#001b3c, #001b3c);--mat-sys-on-secondary-fixed-variant:light-dark(#0f4784, #0f4784);--mat-sys-on-surface:light-dark(#1c1b1c, #e5e2e2);--mat-sys-on-surface-variant:light-dark(#44474a, #e1e2e6);--mat-sys-on-tertiary:light-dark(#ffffff, #2b3136);--mat-sys-on-tertiary-container:light-dark(#161c21, #dde3e9);--mat-sys-on-tertiary-fixed:light-dark(#161c21, #161c21);--mat-sys-on-tertiary-fixed-variant:light-dark(#41474d, #41474d);--mat-sys-outline:light-dark(#74777b, #8e9194);--mat-sys-outline-variant:light-dark(#c4c7ca, #44474a);--mat-sys-primary:light-dark(#595f65, #c1c7cd);--mat-sys-primary-container:light-dark(#dde3e9, #41474d);--mat-sys-primary-fixed:light-dark(#dde3e9, #dde3e9);--mat-sys-primary-fixed-dim:light-dark(#c1c7cd, #c1c7cd);--mat-sys-scrim:light-dark(#000000, #000000);--mat-sys-secondary:light-dark(#305f9d, #a7c8ff);--mat-sys-secondary-container:light-dark(#d5e3ff, #0f4784);--mat-sys-secondary-fixed:light-dark(#d5e3ff, #d5e3ff);--mat-sys-secondary-fixed-dim:light-dark(#a7c8ff, #a7c8ff);--mat-sys-shadow:light-dark(#000000, #000000);--mat-sys-surface:light-dark(#fcf9f8, #131314);--mat-sys-surface-bright:light-dark(#fcf9f8, #393939);--mat-sys-surface-container:light-dark(#f0eded, #201f20);--mat-sys-surface-container-high:light-dark(#eae7e7, #2a2a2a);--mat-sys-surface-container-highest:light-dark(#e5e2e2, #393939);--mat-sys-surface-container-low:light-dark(#f6f3f3, #1c1b1c);--mat-sys-surface-container-lowest:light-dark(#ffffff, #0e0e0e);--mat-sys-surface-dim:light-dark(#dcd9d9, #131314);--mat-sys-surface-tint:light-dark(#595f65, #c1c7cd);--mat-sys-surface-variant:light-dark(#e1e2e6, #44474a);--mat-sys-tertiary:light-dark(#595f65, #c1c7cd);--mat-sys-tertiary-container:light-dark(#dde3e9, #41474d);--mat-sys-tertiary-fixed:light-dark(#dde3e9, #dde3e9);--mat-sys-tertiary-fixed-dim:light-dark(#c1c7cd, #c1c7cd);--mat-sys-neutral-variant20:#2d3134;--mat-sys-neutral10:#1c1b1c}html{--mat-sys-level0:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level1:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level2:0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level3:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level4:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-sys-level5:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12)}html{--mat-sys-corner-extra-large:28px;--mat-sys-corner-extra-large-top:28px 28px 0 0;--mat-sys-corner-extra-small:4px;--mat-sys-corner-extra-small-top:4px 4px 0 0;--mat-sys-corner-full:9999px;--mat-sys-corner-large:16px;--mat-sys-corner-large-end:0 16px 16px 0;--mat-sys-corner-large-start:16px 0 0 16px;--mat-sys-corner-large-top:16px 16px 0 0;--mat-sys-corner-medium:12px;--mat-sys-corner-none:0;--mat-sys-corner-small:8px}html{--mat-sys-dragged-state-layer-opacity:.16;--mat-sys-focus-state-layer-opacity:.12;--mat-sys-hover-state-layer-opacity:.08;--mat-sys-pressed-state-layer-opacity:.12}html{font-family:Google Sans,Helvetica Neue,sans-serif!important}body{height:100vh;margin:0}:root{--mat-sys-primary:black;--mdc-checkbox-selected-icon-color:white;--mat-sys-background:#131314;--mat-tab-header-active-label-text-color:#8AB4F8;--mat-tab-header-active-hover-label-text-color:#8AB4F8;--mat-tab-header-active-focus-label-text-color:#8AB4F8;--mat-tab-header-label-text-weight:500;--mdc-text-button-label-text-color:#89b4f8}:root{--mdc-dialog-container-color:#2b2b2f}:root{--mdc-dialog-subhead-color:white}:root{--mdc-circular-progress-active-indicator-color:#a8c7fa}:root{--mdc-circular-progress-size:80}</style><link rel="stylesheet" href="./styles-4VDSPQ37.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="./styles-4VDSPQ37.css"></noscript></head>
31
31
  <body>
32
32
  <app-root></app-root>
33
- <link rel="modulepreload" href="./chunk-EQDQRRRY.js"><script src="./polyfills-B6TNHZQ6.js" type="module"></script><script src="./main-SRBSE46V.js" type="module"></script></body>
33
+ <link rel="modulepreload" href="./chunk-EQDQRRRY.js"><script src="./polyfills-B6TNHZQ6.js" type="module"></script><script src="./main-W7QZBYAR.js" type="module"></script></body>
34
34
  </html>