Samarth Naik commited on
Commit
5e753f2
·
1 Parent(s): 02c7868

Project 2

Browse files
.gitignore CHANGED
@@ -1,46 +1,16 @@
1
- # Python
2
  __pycache__/
3
- *.py[cod]
 
 
 
 
4
  *.pyo
5
  *.pyd
6
- *.env
7
- .env
8
- venv/
9
- ENV/
10
- *.egg-info/
11
- *.sqlite3
12
-
13
- # macOS
14
- .DS_Store
15
- .AppleDouble
16
- .LSOverride
17
-
18
- # VS Code
19
- .vscode/
20
-
21
- # Jupyter
22
- .ipynb_checkpoints/
23
-
24
- # Logs
25
- *.log
26
-
27
- # Data
28
- recieved_data/*.csv
29
- recieved_data/*.xlsx
30
- recieved_data/*.tsv
31
- recieved_data/*.json
32
- recieved_data/*.tmp
33
-
34
- # Misc
35
- *.bak
36
  *.swp
37
- *.swo
38
-
39
- # Test outputs
40
  htmlcov/
41
- coverage.xml
42
- *.cover
43
-
44
- # System
45
- Thumbs.db
46
- Desktop.ini
 
 
1
  __pycache__/
2
+ .pytest_cache/
3
+ .venv/
4
+ venv/
5
+ env/
6
+ *.pyc
7
  *.pyo
8
  *.pyd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  *.swp
10
+ .DS_Store
11
+ coverage/
 
12
  htmlcov/
13
+ dist/
14
+ build/
15
+ *.egg-info/
16
+ .env
 
 
Dockerfile ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM mcr.microsoft.com/playwright/python:v1.45.0-jammy
2
+
3
+ WORKDIR /app
4
+
5
+ COPY requirements.txt .
6
+ RUN pip install -r requirements.txt
7
+
8
+ COPY . .
9
+
10
+ EXPOSE 8000
11
+
12
+ CMD ["uvicorn", "server:app", "--host", "0.0.0.0", "--port", "8000"]
LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2025 samarthnaikk
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
README.md CHANGED
@@ -1,64 +1,58 @@
1
- # DoMyDA
2
-
3
- ## Project Overview
4
- This project is designed to automate the process of solving data analysis quizzes delivered via web pages. The quizzes require scraping, data processing, and submitting answers via HTTP POST requests. The workflow is as follows:
5
-
6
- 1. **Receive Quiz URL**: The script receives a quiz URL and a secret (provided via Google Form).
7
- 2. **Verify Secret**: The script verifies that the provided secret matches the one you submitted in the Google Form.
8
- 3. **Visit Quiz Page**: The script visits the quiz page, which is rendered with JavaScript and contains a data-related task.
9
- 4. **Solve Quiz**: The script scrapes the page, processes the data (e.g., sum, filter, analyze, visualize), and determines the correct answer.
10
- 5. **Submit Answer**: The script submits the answer to the specified endpoint using a JSON payload:
11
- ```json
12
- {
13
- "email": "your email",
14
- "secret": "your secret",
15
- "url": "quiz url",
16
- "answer": <answer>
17
- }
18
- ```
19
- - Respond with HTTP 200 and JSON if the secret matches.
20
- - Respond with HTTP 400 for invalid JSON.
21
- - Respond with HTTP 403 for invalid secrets.
22
- 6. **Handle Response**: If the answer is correct, a new quiz URL may be provided. The process repeats until no new URL is given.
23
-
24
- ## Features
25
- - Headless browser support for JavaScript-rendered pages
26
- - Data scraping and extraction
27
- - Data analysis and transformation
28
- - Automated answer submission
29
- - Error handling for invalid secrets and payloads
30
- - Support for various answer types (number, string, boolean, file, JSON)
31
-
32
- ## Usage
33
- 1. Clone the repository.
34
- 2. Install dependencies (see below).
35
- 3. Run the script with your email, secret, and quiz URL.
36
-
37
- ## Example
38
- To test your endpoint, send a POST request to the demo endpoint:
39
- ```json
40
- {
41
- "email": "your email",
42
- "secret": "your secret",
43
- "url": "https://tds-llm-analysis.s-anand.net/demo"
44
- }
45
  ```
46
 
47
- ## Dependencies
48
- - Python 3.8+
49
- - [Playwright](https://playwright.dev/python/) or [Selenium](https://www.selenium.dev/) for headless browser automation
50
- - Requests for HTTP requests
51
- - Pandas, NumPy for data analysis
52
 
53
- ## Running the Script
54
  ```bash
55
- python solve_quiz.py --email <your_email> --secret <your_secret> --url <quiz_url>
 
56
  ```
57
 
58
- ## Error Handling
59
- - HTTP 200: Secret matches, valid answer
60
- - HTTP 400: Invalid JSON payload
61
- - HTTP 403: Invalid secret
 
 
 
 
 
62
 
63
- ## License
64
- MIT
 
1
+ # TDS Quiz Solver Service
2
+
3
+ ## Overview
4
+
5
+ This repository provides a small asynchronous quiz solver service built with FastAPI, Playwright, and httpx. The service accepts POST requests from a TDS-style quiz system, then launches a background asynchronous solver that navigates pages with Playwright, extracts questions (or Base64 payloads), computes placeholder answers, and submits them to the quiz system until no next URL is returned.
6
+
7
+ ## How TDS triggers the solver
8
+
9
+ The TDS quiz system should send a POST request to `/` with a JSON body containing `email`, `secret`, and `url`. The server validates the JSON and the `secret`, then immediately starts the solver in a background asyncio task and returns a quick acknowledgement.
10
+
11
+ The `secret` in this repository is `supersecret123`. Change it in `server.py` for production.
12
+
13
+ ## How the solver works
14
+
15
+ - `solver/browser.py` launches Playwright Chromium (headless) and provides a page and context (`accept_downloads=True`).
16
+ - `solver/quiz_solver.py` implements `solve_quiz(email, secret, start_url)`: it navigates to the `start_url`, extracts question text or Base64 blocks, finds a submit URL on the page, computes an answer (placeholder), submits the answer via `httpx.AsyncClient`, and follows any returned `url` in the JSON response until no further URL is provided.
17
+
18
+ The compute logic is a placeholder; replace `compute_answer` in `solver/quiz_solver.py` with real answering logic.
19
+
20
+ ## Local run instructions
21
+
22
+ 1. Install dependencies (preferably inside a virtualenv):
23
+
24
+ ```bash
25
+ python -m venv .venv
26
+ source .venv/bin/activate
27
+ pip install -r requirements.txt
28
+ playwright install
29
+ ```
30
+
31
+ 2. Run the server with uvicorn:
32
+
33
+ ```bash
34
+ uvicorn server:app --host 0.0.0.0 --port 8000
 
 
 
 
 
 
 
 
 
 
35
  ```
36
 
37
+ 3. Send a POST request to `http://localhost:8000/` with the JSON shown above.
38
+
39
+ ## Docker build + run
40
+
41
+ Build the Docker image and run:
42
 
 
43
  ```bash
44
+ docker build -t tds-solver:latest .
45
+ docker run -p 8000:8000 tds-solver:latest
46
  ```
47
 
48
+ The image uses the official Playwright Python image which includes browser dependencies.
49
+
50
+ ## Render deployment instructions
51
+
52
+ 1. Create a new Web Service on Render.
53
+ 2. Choose your repository and select "Dockerfile" as the build method.
54
+ 3. No start command is required; Render will use the Dockerfile's default `CMD`.
55
+
56
+ ## Example test
57
 
58
+ You can use the demo site to test the solver by sending a POST to the server with `url` set to `https://tds-llm-analysis.s-anand.net/demo` and `secret` set to `supersecret123`.
 
helpers/helper_functions.py DELETED
@@ -1,228 +0,0 @@
1
- def find_answers_with_gemini(questions: list) -> list:
2
- """
3
- Uses Google Generative AI (Gemini) to find answers for a list of questions.
4
- Requires google-generativeai installed and API key in .env as GOOGLE_API_KEY.
5
- Returns a list of answers (one per question).
6
- """
7
- import os
8
- import google.generativeai as genai
9
- from dotenv import load_dotenv
10
-
11
- load_dotenv()
12
- api_key = os.getenv("GOOGLE_API_KEY")
13
- if not api_key:
14
- raise RuntimeError("GOOGLE_API_KEY not found in .env")
15
- genai.configure(api_key=api_key)
16
- model = genai.GenerativeModel('gemini-2.5-flash')
17
- answers = []
18
- for q in questions:
19
- try:
20
- response = model.generate_content(q)
21
- answers.append(response.text.strip())
22
- except Exception as e:
23
- answers.append(f"Error: {e}")
24
- return answers
25
- import re
26
- import string
27
-
28
- def extract_likely_questions(file_path: str) -> list:
29
- """
30
- Extract likely questions from any HTML file using heuristics and basic NLP.
31
- - Finds text nodes ending with '?' or containing interrogative words.
32
- - Ignores navigation, boilerplate, and very short texts.
33
- Returns a list of question strings.
34
- """
35
- from bs4 import BeautifulSoup
36
- with open(file_path, 'r', encoding='utf-8') as f:
37
- html = f.read()
38
- soup = BeautifulSoup(html, 'html.parser')
39
-
40
- interrogatives = {'what', 'which', 'who', 'whom', 'whose', 'when', 'where', 'why', 'how', 'describe', 'explain', 'give', 'list', 'select', 'choose'}
41
- candidates = set()
42
-
43
- # Get all visible text nodes
44
- for el in soup.find_all(text=True):
45
- txt = el.strip()
46
- if not txt or len(txt) < 8:
47
- continue
48
- # Remove excessive whitespace and punctuation
49
- txt_clean = txt.translate(str.maketrans('', '', string.punctuation)).strip()
50
- words = set(w.lower() for w in txt_clean.split())
51
- # Filter out JSON/config blobs and technical metadata
52
- if re.match(r'^[\[{].*[\]}]$', txt) or re.search(r'(docs_flag_initialData|info_params|docs-|true|false|null|\{.*\}|\[.*\])', txt):
53
- continue
54
- # Heuristic: ends with '?' or contains interrogative word
55
- if txt.endswith('?') or interrogatives.intersection(words):
56
- # Ignore boilerplate (navigation, copyright, etc.)
57
- if len(txt) > 8 and not re.search(r'(copyright|submit|next|previous|back|home|menu|login|logout)', txt, re.I):
58
- candidates.add(txt)
59
- # Also: long sentences with numbers or data requests
60
- elif len(txt) > 30 and re.search(r'(sum|total|average|mean|count|find|compute|calculate|show|enter|answer)', txt, re.I):
61
- candidates.add(txt)
62
-
63
- return sorted(candidates)
64
- # Helper functions for DoMyDA quiz solver
65
-
66
- def verify_secret(secret: str, expected_secret: str) -> bool:
67
- """Verify if the provided secret matches the expected secret."""
68
- return secret == expected_secret
69
-
70
- import os
71
- from bs4 import BeautifulSoup
72
-
73
- def parse_quiz_html(file_path: str) -> str:
74
- """
75
- General parser for quiz HTML files. Extracts questions and answers in a readable format.
76
- Handles static and dynamically rendered content (e.g., in <div id='result'>).
77
- """
78
- import base64
79
- import re
80
- with open(file_path, 'r', encoding='utf-8') as f:
81
- html = f.read()
82
- soup = BeautifulSoup(html, 'html.parser')
83
-
84
- # Extract questions from headings
85
- questions = []
86
- for tag in ['h1', 'h2', 'h3']:
87
- for q in soup.find_all(tag):
88
- questions.append(q.get_text(strip=True))
89
-
90
- # Try to extract question/answer from <div id='result'> (may be rendered via JS)
91
- result_div = soup.find('div', id='result')
92
- if result_div:
93
- # Look for atob in script
94
- scripts = soup.find_all('script')
95
- for script in scripts:
96
- m = re.search(r"atob\(`([A-Za-z0-9+/=\n]+)`\)", script.text)
97
- if m:
98
- b64 = m.group(1).replace('\n', '')
99
- try:
100
- decoded = base64.b64decode(b64).decode('utf-8')
101
- # Try to extract question and answer from decoded text
102
- # If JSON, pretty print
103
- if decoded.strip().startswith('{'):
104
- import json
105
- try:
106
- obj = json.loads(decoded)
107
- questions.append(f"Decoded JSON: {json.dumps(obj, indent=2)}")
108
- except Exception:
109
- questions.append(f"Decoded: {decoded}")
110
- else:
111
- questions.append(f"Decoded: {decoded}")
112
- except Exception:
113
- questions.append("Could not decode base64 content.")
114
-
115
- if not questions:
116
- questions.append("Question not found.")
117
-
118
- # Format output
119
- output = ""
120
- for i, q in enumerate(questions):
121
- output += f"Question/Info {i+1}: {q}\n"
122
- return output.strip()
123
-
124
-
125
- def list_received_files(received_dir: str) -> list:
126
- """Return a list of file paths in `received_dir` (non-recursive).
127
-
128
- Only returns regular files (no directories).
129
- """
130
- received_dir = os.path.abspath(received_dir)
131
- if not os.path.isdir(received_dir):
132
- return []
133
- files = []
134
- for name in os.listdir(received_dir):
135
- path = os.path.join(received_dir, name)
136
- if os.path.isfile(path):
137
- files.append(path)
138
- return sorted(files)
139
-
140
-
141
- def file_contains_text(file_path: str, text: str) -> bool:
142
- """Return True if `text` appears in the file (case-sensitive)."""
143
- try:
144
- with open(file_path, 'r', encoding='utf-8') as f:
145
- data = f.read()
146
- return text in data
147
- except Exception:
148
- return False
149
-
150
-
151
- def find_files_matching_url(received_dir: str, url: str, exts=None) -> list:
152
- """Find files in `received_dir` that likely correspond to the given `url`.
153
-
154
- Matching strategy (best-effort):
155
- - If `url` is a substring of the file contents, it's a match.
156
- - If the filename contains a segment of the URL path, it's a match.
157
- - If `exts` is provided, restrict to those extensions (e.g., ['.html', '.js']).
158
- Returns a list of file paths.
159
- """
160
- if exts is None:
161
- exts = ['.html', '.htm', '.js', '.json', '.txt']
162
- url = url or ''
163
- candidates = []
164
- for path in list_received_files(received_dir):
165
- if exts and not any(path.lower().endswith(e) for e in exts):
166
- continue
167
- matched = False
168
- # check content
169
- if url and file_contains_text(path, url):
170
- matched = True
171
- else:
172
- # check filename tokens
173
- fname = os.path.basename(path).lower()
174
- # try last segment of url path
175
- try:
176
- seg = url.rstrip('/').split('/')[-1].lower()
177
- except Exception:
178
- seg = ''
179
- if seg and seg in fname:
180
- matched = True
181
- if matched:
182
- candidates.append(path)
183
- return candidates
184
-
185
-
186
- def read_file_text(file_path: str) -> str:
187
- """Return the text contents of a file; returns empty string on failure."""
188
- try:
189
- with open(file_path, 'r', encoding='utf-8') as f:
190
- return f.read()
191
- except Exception:
192
- return ''
193
-
194
-
195
- def download_quiz_files(url: str, received_dir: str) -> list:
196
- """
197
- Download the HTML file from the given URL and save it in received_dir.
198
- Returns a list of saved file paths (just the HTML for now).
199
- """
200
- import requests
201
- import re
202
- import os
203
- from urllib.parse import urlparse
204
-
205
- if not os.path.isdir(received_dir):
206
- os.makedirs(received_dir, exist_ok=True)
207
-
208
- try:
209
- resp = requests.get(url, timeout=10)
210
- resp.raise_for_status()
211
- html = resp.text
212
- except Exception as e:
213
- print(f"Error downloading {url}: {e}")
214
- return []
215
-
216
- # Save HTML file
217
- # Use last segment of URL path for filename
218
- parsed = urlparse(url)
219
- fname = parsed.path.rstrip('/').split('/')[-1] or 'index'
220
- # Remove query string for filename
221
- fname = re.sub(r'[^a-zA-Z0-9_.-]', '_', fname)
222
- html_path = os.path.join(received_dir, f'{fname}.html')
223
- with open(html_path, 'w', encoding='utf-8') as f:
224
- f.write(html)
225
-
226
- # Optionally: parse for linked JS/CSS and download (not implemented yet)
227
- # For now, just return the HTML file
228
- return [html_path]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
recieved_data/quiz_1.html DELETED
@@ -1,25 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <title>Sample Quiz Page</title>
6
- <style>
7
- body { font-family: Arial, sans-serif; padding: 20px; }
8
- pre { background: #f9f9f9; border: 1px solid #ddd; padding: 10px; }
9
- </style>
10
- </head>
11
- <body>
12
- <h2>Rendered Quiz Example</h2>
13
- <div id="result">Loading…</div>
14
-
15
- <script>
16
- document.querySelector("#result").innerHTML = atob(`
17
- UTgzNC4gRG93bmxvYWQgPGEgaHJlZj0iaHR0cHM6Ly9leGFtcGxlLmNvbS9kYXRhLXE4MzQucGRmIj5
18
- maWxlPC9hPi4KV2hhdCBpcyB0aGUgc3VtIG9mIHRoZSAidmFsdWUiIGNvbHVtbiBpbiB0aGUgdGFibG
19
- Ugb24gcGFnZSAyPwoKUG9zdCB5b3VyIGFuc3dlciB0byBodHRwczovL2V4YW1wbGUuY29tL3N1Ym1pd
20
- CB3aXRoIHRoaXMgSlNPTiBwYXlsb2FkOgoKPHByZT4KewogICJlbWFpbCI6ICJ5b3VyLWVtYWlsIiwK
21
- ICAic2VjcmV0IjogInlvdXIgc2VjcmV0IiwKICAidXJsIjogImh0dHBzOi8vZXhhbXBsZS5jb20vcXV
22
- pei04MzQiLAogICJhbnN3ZXIiOiAxMjM0NSAgLy8gdGhlIGNvcnJlY3QgYW5zd2VyCn0KPC9wcmU+`);
23
- </script>
24
- </body>
25
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
recieved_data/viewform.html DELETED
@@ -1 +0,0 @@
1
- <!DOCTYPE html><html lang="en" class="HB1eCd-UMrnmb PHOcVb"><head><link rel="shortcut icon" sizes="16x16" href="https://ssl.gstatic.com/docs/spreadsheets/forms/favicon_qp2.png"><link href="https://fonts.googleapis.com/icon?family=Material+Icons+Extended" rel="stylesheet" nonce="hp-vcAnqfIfiTVmFmtySuw"><title>Basic Knowledge and Math Quiz</title><link rel="stylesheet" href="https://www.gstatic.com/_/freebird/_/ss/k=freebird.v.3R7XuimNprQ.L.W.O/am=AAAG/d=1/rs=AMjVe6im8Ar0t2ZJ6sBiRPTSG00YTc-_sg" data-id="_cl" nonce="hp-vcAnqfIfiTVmFmtySuw"><link href="https://fonts.googleapis.com/css?family=Google+Sans_old:400,500|Roboto_old:300,400,400i,500,700&subset=latin,vietnamese,latin-ext,cyrillic,greek,cyrillic-ext,greek-ext" rel="stylesheet" nonce="hp-vcAnqfIfiTVmFmtySuw"><script nonce="sn9WhqAq5lIcj2A2Adc1wA">var DOCS_timing={}; DOCS_timing['pls']=new Date().getTime(); DOCS_timing['sl']=DOCS_timing['pls']; _docs_webfonts_json = {"fontMetadataMap":{},"unrecognizedFontFamilies":[],"weightedFontFamilyMap":{}}</script><link href="https://fonts.googleapis.com/css?family=Product+Sans&subset=latin,vietnamese,latin-ext,cyrillic,greek,cyrillic-ext,greek-ext" rel="stylesheet" type="text/css" nonce="hp-vcAnqfIfiTVmFmtySuw"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="referrer" content="origin"><script data-id="_gd" nonce="sn9WhqAq5lIcj2A2Adc1wA">window.WIZ_global_data = {"K1cgmc":"%.@.[null,null,null,[3,1,[1763017213,305047000],4],null,27]]","SpaT4e":"editors","TSDtV":"%.@.[[null,[[45681910,null,false,null,null,null,\"OKXfNb\"],[45734887,null,false,null,null,null,\"Q8lQIf\"],[45662509,null,false,null,null,null,\"fLCtnf\"],[45734741,null,false,null,null,null,\"gWu1Ue\"],[45713329,null,false,null,null,null,\"TzH3fe\"],[45657263,null,false,null,null,null,\"ByEExb\"],[45729830,null,false,null,null,null,\"DCV6If\"],[45712870,null,false,null,null,null,\"J04FPb\"],[45674978,null,false,null,null,null,\"x4QBkb\"],[45658679,null,false,null,null,null,\"qdTkee\"],[45720792,null,false,null,null,null,\"NFUw0c\"],[45727616,null,false,null,null,null,\"qNQRAf\"],[45644642,null,null,null,\"X-WS exp!\",null,\"rsrxGc\"],[45725154,null,false,null,null,null,\"WbzTGf\"],[45696305,null,false,null,null,null,\"Uujhbc\"],[45718464,null,true,null,null,null,\"MmyjKe\"],[45688879,null,false,null,null,null,\"xZC1Dc\"],[45679175,null,false,null,null,null,\"OETeme\"],[45730266,null,false,null,null,null,\"VughG\"],[45641838,null,false,null,null,null,\"fLPxhf\"],[45677009,null,false,null,null,null,\"JkUdKe\"],[45678187,null,false,null,null,null,\"OrvCpd\"],[45672203,null,true,null,null,null,\"jDBBvd\"],[45643359,null,false,null,null,null,\"GcxuKe\"],[45723104,null,false,null,null,null,\"EkiEee\"],[45672066,null,true,null,null,null,\"E1A5lb\"],[45737532,null,false,null,null,null,\"JmYEv\"],[45686662,null,true,null,null,null,\"go03Eb\"],[45670693,null,false,null,null,null,\"V7Wemb\"],[45730498,null,false,null,null,null,\"ZycXJf\"],[45717711,null,false,null,null,null,\"lhxHkd\"],[45724955,null,false,null,null,null,\"Lhvui\"],[45660690,null,false,null,null,null,\"ovKHsb\"],[45712967,null,false,null,null,null,\"rZW8ld\"],[45673686,null,false,null,null,null,\"TVdkuc\"],[45677461,null,null,null,null,null,\"qb66hd\",[\"[]\"]],[45673687,null,false,null,null,null,\"OQKgkd\"],[45681145,null,true,null,null,null,\"hV6kcd\"],[45678265,null,false,null,null,null,\"P7qpdc\"],[45725105,null,false,null,null,null,\"VQN2ac\"],[45672211,null,false,null,null,null,\"Wgtd8c\"],[45725110,null,false,null,null,null,\"ElheSd\"],[45701776,16,null,null,null,null,\"DHH5Gc\"],[45728785,null,false,null,null,null,\"UPAJB\"],[45729447,null,false,null,null,null,\"hjIR6e\"],[45660287,null,false,null,null,null,\"nIuPDe\"],[45686664,null,true,null,null,null,\"P0fSX\"],[45692064,null,false,null,null,null,\"wZ64Sb\"],[45714356,null,true,null,null,null,\"uJfQbe\"],[45686665,null,true,null,null,null,\"xGJelc\"],[45668197,null,true,null,null,null,\"pReYPb\"],[45676996,null,false,null,null,null,\"KFVYtf\"],[45706188,null,false,null,null,null,\"OF1zrd\"],[45714946,null,false,null,null,null,\"ZYrane\"],[45672205,null,true,null,null,null,\"E7dKkc\"],[45678908,null,false,null,null,null,\"V6Qvvf\"],[45699204,null,false,null,null,null,\"XWRwod\"],[45700150,null,false,null,null,null,\"RLRykc\"],[45678679,null,false,null,null,null,\"HbebVe\"],[45726544,null,false,null,null,null,\"hWjH1c\"],[45736179,null,false,null,null,null,\"LIe8ub\"],[45727546,null,false,null,null,null,\"wT569b\"],[45729690,null,false,null,null,null,\"AQMuhd\"],[45644640,42,null,null,null,null,\"xbuGR\"],[45673227,null,false,null,null,null,\"bRuCz\"],[45687747,null,true,null,null,null,\"n1Nom\"],[45715074,null,false,null,null,null,\"xxxPgb\"],[45708977,null,false,null,null,null,\"AxurIf\"],[45700770,null,false,null,null,null,\"Mk7a4d\"],[45681147,null,false,null,null,null,\"pgDArb\"],[45734892,null,false,null,null,null,\"oe7xAe\"],[45735097,null,false,null,null,null,\"ZYDWGf\"],[45677445,null,false,null,null,null,\"rPYk8\"],[45658949,null,false,null,null,null,\"NfShlf\"],[45676754,null,false,null,null,null,\"YwbU8\"],[45726852,null,false,null,null,null,\"qgjRgd\"],[45699702,null,false,null,null,null,\"Xo3sI\"],[45700504,null,false,null,null,null,\"u6ksOd\"],[45672085,null,true,null,null,null,\"FJbUAf\"],[45648275,null,false,null,null,null,\"X5yyz\"],[45737769,null,false,null,null,null,\"C4gACf\"],[45684108,null,false,null,null,null,\"IHwhDb\"],[45674285,null,false,null,null,null,\"zRoGXc\"],[45729467,null,false,null,null,null,\"kKLGLb\"],[45736482,null,false,null,null,null,\"DAnsv\"],[45684730,null,false,null,null,null,\"aW7Ggd\"],[45677444,null,false,null,null,null,\"WYEV9b\"],[45661802,null,false,null,null,null,\"I09lfd\"],[45697479,null,true,null,null,null,\"ScsHod\"],[45737207,null,false,null,null,null,\"Kw5UUd\"],[45639541,null,false,null,null,null,\"LHinid\"],[45736727,null,false,null,null,null,\"JJHfwf\"],[45724259,null,false,null,null,null,\"Sjqsdf\"],[45672206,null,false,null,null,null,\"qxTK9b\"],[45709238,null,false,null,null,null,\"jQTN0e\"],[45729422,null,false,null,null,null,\"OOSdib\"],[45719766,null,false,null,null,null,\"A3eSQd\"],[45723416,null,true,null,null,null,\"DgQqmc\"],[45681027,null,false,null,null,null,\"rqh9Yb\"],[45696085,null,false,null,null,null,\"g3Gc7d\"],[45731897,null,false,null,null,null,\"NK5elf\"],[45654291,null,false,null,null,null,\"rhP5uf\"],[45653421,null,false,null,null,null,\"K2C7od\"],[45737396,null,false,null,null,null,\"KJRJ6d\"],[45644639,null,true,null,null,null,\"GoJCRc\"],[45657471,null,null,null,null,null,\"kMR5pc\",[\"[]\"]],[45672202,null,false,null,null,null,\"CyvTSb\"],[45726382,null,false,null,null,null,\"QUY3\"],[45686667,null,false,null,null,null,\"ek81nf\"],[45658731,null,false,null,null,null,\"zMe6ub\"],[45621619,null,false,null,null,null,\"PfkIr\"],[45658716,null,false,null,null,null,\"Fa3cob\"],[45685754,null,true,null,null,null,\"OyPt5\"],[45661086,null,false,null,null,null,\"wfVdS\"],[45666088,null,false,null,null,null,\"MgfT5\"],[45735186,null,false,null,null,null,\"SIvvz\"],[45672213,null,true,null,null,null,\"BfWTle\"],[45658644,null,false,null,null,null,\"ZdwoD\"],[45696263,null,null,null,null,null,\"W12Bse\",[\"[]\"]],[45653615,null,null,null,null,null,\"lwF00d\",[\"[]\"]],[45658291,null,true,null,null,null,\"OSuRGd\"],[45735651,null,false,null,null,null,\"QEOLhc\"],[45730506,null,false,null,null,null,\"qhuWUc\"],[45681790,null,false,null,null,null,\"uPCxtc\"],[45647060,null,false,null,null,null,\"uYjPWb\"],[45720439,null,false,null,null,null,\"UFhFZb\"],[45736698,null,false,null,null,null,\"nhgo9c\"],[45686666,null,true,null,null,null,\"dZ9mjb\"],[45690176,null,false,null,null,null,\"qF6xVc\"],[45644641,null,null,3.14159,null,null,\"FX1FL\"],[45686663,null,true,null,null,null,\"KGh4Cc\"],[45694562,null,false,null,null,null,\"D50qNc\"],[45697234,null,false,null,null,null,\"cUoIXb\"],[45708298,null,false,null,null,null,\"T4IN0c\"],[45654169,null,false,null,null,null,\"HCu2yf\"],[45718842,null,false,null,null,null,\"Ywwwdb\"],[45696619,null,false,null,null,null,\"U7gqEe\"]],\"CAMSUB1J05T2NwOSpQ0DtAQDzC4D49MG2NEMA6+KBQN6A1EDKfkGA9qMBQPtQAOmBAPkwhYD0GID5p0FA5vDToKnAwPrixkDp7QKA9Lp6AMDwoM1\"]]]","eNnkwf":"1763053802","nQyAE":{},"pzJKf":1,"qymVe":"4e4Yo3b8tY57dmIUtfORxe1coYo","w2btAe":"%.@.null,null,\"\",true,null,null,null,false]"};</script><style id="WTVccd" nonce="hp-vcAnqfIfiTVmFmtySuw">.Iq2xPb .kaAt2 .KKHx9e {background-color: #3C4043;}.Iq2xPb .kaAt2.KKjvXb .KKHx9e {background-color: rgb(103, 58, 183);}.Iq2xPb .kaAt2.RDPZE .KKHx9e {background-color: #70757a;}.wGQFbe.N2RpBe:not(.RDPZE), .wGQFbe.B6Vhqe:not(.RDPZE) {border-color: rgb(103, 58, 183);}.wGQFbe.i9xfbb > .MbhUzd, .wGQFbe.u3bW4e > .MbhUzd {background-color: rgba(103, 58, 183, 0.15);}.wGQFbe.wGQFbe:hover > .MbhUzd {background-color: rgba(103, 58, 183, 0.04);}.wGQFbe.wGQFbe:focus > .MbhUzd {background-color: rgba(103, 58, 183, 0.15);}.BJHAP.N2RpBe.RDPZE, .BJHAP.B6Vhqe.RDPZE {border-color: rgb(103, 58, 183);}.BJHAP.RDPZE:not(.N2RpBe):not(.B6Vhqe) {border-color: #9AA0A6;}.da8bmd .BJHAP.N2RpBe.RDPZE, .da8bmd .BJHAP.B6Vhqe.RDPZE, .wMUAvd .BJHAP.RDPZE {border-color: #5F6368;}.aomaEc.N2RpBe:not(.RDPZE) .Id5V1, .aomaEc .nQOrEb {border-color: rgb(103, 58, 183);}.aomaEc .N2RpBe:not(.RDPZE) .Id5V1 {border-color: rgb(103, 58, 183);}.aomaEc.i9xfbb > .MbhUzd, .aomaEc.u3bW4e > .MbhUzd {background-color: rgba(103, 58, 183, 0.15);}.aomaEc :not(.RDPZE):hover > .MbhUzd {background-color: rgba(103, 58, 183, 0.04);}.aomaEc :not(.RDPZE):focus > .MbhUzd {background-color: rgba(103, 58, 183, 0.15);}.ECvBRb .N2RpBe.RDPZE .Id5V1, .ECvBRb .N2RpBe.RDPZE .nQOrEb {border-color: rgb(103, 58, 183);}.ECvBRb .RDPZE:not(.N2RpBe) .Id5V1 {border-color: #9AA0A6;}.da8bmd .ECvBRb .N2RpBe.RDPZE .Id5V1, .da8bmd .ECvBRb .N2RpBe.RDPZE .nQOrEb, .wMUAvd .ECvBRb .RDPZE .Id5V1 {border-color: #5F6368;}.aYSFK > :first-child {border-left: transparent solid 5px;}.aYSFK.N2RpBe {background-color: rgb(240, 235, 248);}.aYSFK.N2RpBe > :first-child {border-left-color: rgb(103, 58, 183);}.mhLiyf.KKjvXb.RDPZE {color: #5F6368;}.TFBnVe .MbhUzd {background-image: radial-gradient( circle farthest-side,rgba(103, 58, 183, 0.15),rgba(103, 58, 183, 0.15) 80%,rgba(103, 58, 183, 0) 100% );}.TFBnVe {color: rgb(103, 58, 183);}.TFBnVe.RDPZE {color: rgba(103, 58, 183, 0.5);}.TFBnVe.u3bW4e .CeoRYc {background-color: rgba(103, 58, 183, 0.15);}.RvMhje .MbhUzd {background-image: radial-gradient( circle farthest-side,rgba(255, 255, 255, .3),rgba(255, 255, 255, .3) 80%,rgba(255, 255, 255, 0) 100% );}.RvMhje {background-color: rgb(103, 58, 183); color: rgba(255, 255, 255, 1);}.RvMhje.RDPZE {color: rgba(255, 255, 255, 1); opacity: .54;}.RvMhje a .snByac {color: rgba(255, 255, 255, 1);}.RvMhje.u3bW4e .CeoRYc {background-color: rgba(255, 255, 255, .3);}.QvWxOd {background-color: rgb(103, 58, 183);}.QvWxOd .TpQm9d, .QvWxOd .TpQm9d:hover, .QvWxOd .TpQm9d:link, .QvWxOd .TpQm9d:visited {background-color: rgb(103, 58, 183);}.QvWxOd:hover {box-shadow: 0px 2px 1px -1px rgba(103, 58, 183, 0.2), 0px 1px 1px 0px rgba(103, 58, 183, 0.14), 0px 1px 3px 0px rgba(103, 58, 183, 0.12);}.QvWxOd.RDPZE:hover {box-shadow: none;}.QvWxOd.qs41qe.qs41qe {box-shadow: 0px 3px 5px -1px rgba(103, 58, 183, 0.2), 0px 6px 10px 0px rgba(103, 58, 183, 0.14), 0px 1px 18px 0px rgba(103, 58, 183, 0.12);}.ctEux {color: rgb(103, 58, 183);}.ctEux .CeoRYc {background-color: rgb(103, 58, 183);}.ctEux .MbhUzd {background-image: radial-gradient( circle farthest-side,rgba(103, 58, 183, 0.15),rgba(103, 58, 183, 0.15) 80%,rgba(103, 58, 183, 0) 100% );}.pRZhW {color: rgb(103, 109, 114);}.XTgocd {border-color: rgb(103, 109, 114);}.p6JeP .kaAt2 {color: rgb(103, 109, 114);}.p6JeP .kaAt2.KKjvXb {background-color: rgba(103, 58, 183, 0.15); color: rgb(103, 58, 183);}.p6JeP .kaAt2.KKjvXb.RDPZE {background-color: rgba(189, 189, 189, .38);; color: #9AA0A6;}.p6JeP .k6JGBb {fill: rgb(103, 109, 114);}.p6JeP .KKjvXb .k6JGBb {fill: rgb(103, 58, 183);}.p6JeP .RDPZE .k6JGBb, .p6JeP .KKjvXb.RDPZE.k6JGBb {fill: #9AA0A6;}.mfr8Qd .SKMfG {fill: rgb(103, 58, 183);}.Iq2xPb .s7bIcf {background-color: rgb(103, 58, 183);}@media screen and (forced-colors: active) {.Iq2xPb .s7bIcf {outline: 1px solid Highlight;}}.Iq2xPb .kaAt2 {color: #3C4043;}.Iq2xPb .kaAt2.KKjvXb {color: rgb(103, 58, 183);}.Iq2xPb .kaAt2.RDPZE {color: #70757a; cursor: default;}.Iq2xPb .RDPZE + .s7bIcf {background-color: #70757a;}.Iq2xPb .MbhUzd {background-image: radial-gradient( circle farthest-side,rgba(103, 58, 183, 0.15),rgba(103, 58, 183, 0.15) 80%,rgba(103, 58, 183, 0) 100% );}.Iq2xPb .PXrNBb {fill: #5F6368;}.Iq2xPb .KKjvXb .PXrNBb {fill: rgb(103, 58, 183);}.Iq2xPb RDPZE .PXrNBb, .Iq2xPb .KKjvXb.RDPZE.PXrNBb {fill: #9AA0A6;}.LKH0ge .cXrdqd {background-color: rgb(103, 58, 183);}.Yp9mw:focus-within {border-bottom-color: rgb(103, 58, 183);}.LKH0ge .Is7Fhb {color: rgb(103, 58, 183);}.LKH0ge.u3bW4e .snByac {color: rgb(103, 58, 183);}.LKH0ge.IYewr .oJeWuf.mIZh1c, .LKH0ge.IYewr .oJeWuf.cXrdqd {background-color: rgb(225, 216, 241);}.whsOnd:not([disabled]):focus ~ .AxOyFc.snByac, .u3bW4e > .oJeWuf >.fqp6hd.snByac, .u3bW4e.dm7YTc > .oJeWuf >.fqp6hd.snByac {color: rgb(103, 58, 183);}.HNgK9.RDPZE .zHQkBf[disabled] {color: rgba(0, 0, 0, .87);}.FlwNw.u3bW4e .oJeWuf:before {border-color: rgb(103, 58, 183);}.FlwNw .zHQkBf:not([disabled]):focus ~ .snByac {color: rgb(103, 58, 183);}.yqQS1 .cXrdqd {background-color: rgb(103, 58, 183);}.yqQS1 .Is7Fhb {color: rgb(103, 58, 183);}.yqQS1.IYewr .oJeWuf.mIZh1c, .yqQS1.IYewr .oJeWuf.cXrdqd {background-color: rgb(225, 216, 241);}.toT2u.RDPZE .zHQkBf[disabled] {color: rgba(0, 0, 0, .87);}.Y4klN.N2RpBe .espmsb {border-color: rgb(103, 58, 183); color: rgba(255, 255, 255, 1);}.Y4klN.N2RpBe > .MLPG7 {border-color: rgb(225, 216, 241);}.Y4klN.i9xfbb > .MbhUzd, .Y4klN.u3bW4e > .MbhUzd {background-color: rgba(103, 58, 183, 0.15);}.bvhls {border-color: rgb(103, 58, 183);}.bvhls.N2RpBe {background-color: rgb(103, 58, 183); color: rgba(255, 255, 255, 1);}.TCbR9b {display: none;}.IszBRc-Guievd-HLvlvd .TCbR9b {display: block;}.IszBRc-Guievd-HLvlvd .doKKyd {display: none;}.KHCwJ {display: none;}.naGohb {background-color: rgb(103, 58, 183);color: rgba(255, 255, 255, 1);}.b4wEpf {background-color: rgb(103, 58, 183);}.barETd .X1clqd, .barETd .qRUolc, .barETd .pPQgvf {color: #202124; fill: #5F6368;}.IszBRc-Guievd-JaPV2b .barETd {border: 2px solid white;}.IszBRc-Guievd-HLvlvd .barETd {border: 2px solid black;}.IOncP .HvOprf {color: rgb(103, 58, 183);}.IOncP .HvOprf .CeoRYc {background-color: rgb(103, 58, 183);}.IOncP .HvOprf .MbhUzd {background-image: radial-gradient( circle farthest-side,rgba(103, 58, 183, 0.15),rgba(103, 58, 183, 0.15) 80%,rgba(103, 58, 183, 0) 100% );}.IOncP .HvOprf:hover {border-color: rgb(225, 216, 241);}.IOncP .HvOprf.RDPZE {color: rgba(103, 58, 183, 0.5);}.IOncP .HvOprf.RDPZE:hover {box-shadow: none;}.IOncP .HvOprf.qs41qe.qs41qe {box-shadow: 0px 2px 1px -1px rgba(103, 58, 183, 0.2), 0px 1px 1px 0px rgba(103, 58, 183, 0.14), 0px 1px 3px 0px rgba(103, 58, 183, 0.12);}.Pi3FHb {outline-style: solid; outline-color: rgb(103, 58, 183);}.da8bmd .RDPZE .Pi3FHb {outline-color: rgba(0, 0, 0, .54);}.LygNqb.RDPZE .snByac {color: #70757a;}.LygNqb.RDPZE.N2RpBe .snByac, .LygNqb.RDPZE.B6Vhqe .snByac {color: #202124;}.wMUAvd .LygNqb.RDPZE .snByac, .wMUAvd .LygNqb.RDPZE.N2RpBe .snByac, .wMUAvd .LygNqb.RDPZE.B6Vhqe .snByac {color: black;}.LygNqb.RDPZE .PgfOZ svg {fill: rgba(0, 0, 0, .54);}.LygNqb.RDPZE.N2RpBe .PgfOZ, .LygNqb.RDPZE.B6Vhqe .PgfOZ svg {fill: rgba(0, 0, 0, .87);}.mqhyCf {color: rgb(103, 58, 183);}.AQRMP {color: rgb(103, 58, 183);}.RVEQke {background-color: rgb(103, 58, 183); color: rgba(255, 255, 255, 1);}.D8bnZd {background-color: rgb(240, 235, 248);}.xEUmYd {background-color: rgba(103, 58, 183, 0.05);}.cz0Zle {background-color: rgb(174, 121, 255);}.ENxQTe:hover {background-color: rgba(103, 58, 183, 0.1);}.YiC7Id {fill: rgb(103, 58, 183); stroke: rgb(103, 58, 183);}.PgdKqf {fill: rgb(103, 58, 183);}.LAANW {border-color: rgb(103, 58, 183);}.DGR5Ac {fill: rgba(255, 255, 255, 1)}.graCKc {background-color: rgb(103, 109, 114);}.G4EHhc, .G4EHhc .Wic03c .tL9Q4c, .G4EHhc .I9OJHe .KRoqRc, .G4EHhc .PyrB4, .G4EHhc .snByac {font-family: 'docs-Roboto', Helvetica, Arial, sans-serif;}.Jqhdy {font-family: 'docs-Roboto', Helvetica, Arial, sans-serif;}.BuWscd {font-family: 'docs-Parisienne', cursive;}.ULZu6e {font-family: 'docs-Patrick Hand', fantasy;}.kZBGEb {font-family: 'docs-Cormorant Garamond', serif;}.LgNcQe, .LgNcQe .Wic03c .tL9Q4c, .LgNcQe .I9OJHe .KRoqRc, .LgNcQe .PyrB4, .LgNcQe .snByac {font-size: 24pt;font-family: 'docs-Roboto', Helvetica, Arial, sans-serif;letter-spacing: 0;}.M7eMe, .M7eMe .Wic03c .tL9Q4c, .M7eMe .I9OJHe .KRoqRc, .M7eMe .PyrB4, .M7eMe .snByac{font-size: 12pt;font-family: 'docs-Roboto', Helvetica, Arial, sans-serif;letter-spacing: 0;}.OIC90c, .OIC90c.RjsPE, .OIC90c .zHQkBf, .OIC90c .Wic03c .tL9Q4c, .OIC90c .I9OJHe .KRoqRc, .OIC90c .PyrB4, .OIC90c .snByac {font-size: 11pt; line-height: 15pt;letter-spacing: 0;}.OIC90c .oJeWuf .zHQkBf {}.sId0Ce, .sId0Ce a {color: rgba(0, 0, 0, 0.66);}</style><link rel="icon" sizes="192x192" href="//ssl.gstatic.com/docs/forms/device_home/android_192.png"><link rel="apple-touch-icon" sizes="120x120" href="//ssl.gstatic.com/docs/forms/device_home/ios_120.png"><link rel="apple-touch-icon" sizes="152x152" href="//ssl.gstatic.com/docs/forms/device_home/ios_152.png"><meta name="msapplication-TileImage" content="//ssl.gstatic.com/docs/forms/device_home/windows_144.png"><meta name="msapplication-TileColor" content="#673ab7"><script nonce="sn9WhqAq5lIcj2A2Adc1wA">_docs_flag_initialData={"docs-ails":"docs_warm","docs-fwds":"docs_nf","docs-crs":"docs_crs_tsol","docs-cp-tp":6,"docs-cr-tp":5,"docs-fe-re":2,"docs-fl":1,"docs-hpr":0,"docs-l1lc":5,"docs-l1lm":"MAA","docs-l2lc":2,"docs-l2lm":"TUL","docs-l2t":0,"docs-lsd":1,"docs-orl":9,"docs-rls":1,"docs-shdn":0,"docs-eivt":false,"docs-tfh":"","info_params":{},"docs-epfdfjes":true,"docs-esaf":false,"docs-ecdh":true,"docs-eawbwm":true,"docs-eavlbm":true,"docs-ecbwm":true,"docs-ecucbwm":true,"docs-edlmbm":true,"docs-eafwbwm":true,"docs-elaswm":true,"docs-ncbwm":true,"docs-ectwm":false,"docs-edswm":true,"docs-ewcfer":true,"docs-ewubum":false,"docs-ewcm":false,"docs-eewsm":true,"docs-efrdwm":false,"docs-eeoswm":true,"docs-empwm":false,"docs-emaswm":true,"docs-emswm":true,"docs-emadwm":false,"docs-enswb":false,"docs-eodpswm":true,"docs-eobswm":true,"docs-epcswm":false,"docs-epsc":false,"docs-epdwm":true,"docs-erhswm":true,"docs-essr":true,"docs-esswm":false,"docs-ewbm":false,"docs-efhebwm":true,"docs-erbwm":true,"docs-eucrdwm":false,"docs-eicwdubl":true,"docs-hmg":true,"uls":"","docs-idu":false,"customer_type":"ND","scotty_upload_url":"/upload/forms/resumable","docs-edcfmb":false,"docs-erlbwfa":false,"docs-net-udmi":500000,"docs-net-udpt":40000,"docs-net-udur":"/upload/blob/forms","docs-net-usud":false,"docs-enable_feedback_svg":false,"docs-fpid":713678,"docs-fbid":"ExternalUserData","docs-obsImUrl":"https://ssl.gstatic.com/docs/common/netcheck.gif","docs-text-ewf":true,"docs-wfsl":["ca","da","de","en","es","fi","fr","it","nl","no","pt","sv"],"docs-efrsde":true,"docs-efpsf":true,"docs-edfn":true,"docs-efpsp":true,"docs-eefp":true,"docs-dli":false,"docs-liap":"/naLogImpressions","ilcm":{"eui":"ADFN-ctQsn4PAeVJmvxn_LFFcxpfjG6dlkUWNVRyAIyQyDKhkosQGYfiTVT0wrqKySEaoAGBaGYA","je":1,"sstu":1763053802697221,"si":"CIXkhJ3P75ADFYB0bwQdZWoHEA","gsc":null,"ei":[5701877,5703839,5704621,5705207,5705891,5706270,5707461,5707565,5711226,5713195,5713554,5715055,5718663,5718680,5726679,5726695,5727241,5727257,5731454,5731470,5734616,5734632,5737784,5737800,5738713,5738729,5739861,5739877,5740798,5740814,5754982,5754998,5764330,5764346,5764470,5764486,5774256,5774272,5774919,5774935,5790673,5790689,48966134,48966142,49398701,49398709,49471983,49471991,49498853,49498861,49643628,49643636,49644035,49644043,49769457,49769465,49822981,49822989,49823204,49823212,49833442,49833450,49842815,49842823,49924606,49924614,49943179,49943187,49979678,49979686,50266122,50266130,50273508,50273516,50297176,50297184,50439260,50439268,50503759,50503767,50513194,50513202,50549455,50549463,50561323,50561331,50562844,50562852,50587022,50587030,70971216,70971224,71038355,71038363,71079898,71079906,71085321,71085329,71121048,71121056,71325536,71325544,71376166,71376174,71387272,71387280,71387789,71387797,71429487,71429495,71466027,71466035,71478100,71478108,71478469,71478477,71515789,71515797,71528617,71528625,71530063,71530071,71544874,71544882,71545493,71545501,71546345,71546353,71574010,71574018,71639534,71639550,71642083,71642091,71657900,71657908,71659973,71659981,71679440,71679448,71689960,71689968,71705157,71705202,71710000,71710008,71727137,71727153,71847749,71847765,71854840,71854848,71897867,71897875,71899300,71960380,71960388,94327631,94327639,94353268,94353276,94368276,94368292,94434397,94434405,94448165,94448181,94510030,94510038,94523148,94523156,94624825,94624833,94629817,94629825,94646626,94646642,94660915,94660923,94661682,94661690,94692458,94692466,94744956,94744964,94813423,94813431,94862047,94862055,94864703,94864711,94891454,94891470,94904249,94904257,94919112,94919120,95087106,95087114,95112693,95112701,95118401,95118409,95135893,95135901,95163042,95163058,95213932,95213940,95234791,95234799,95273289,95273297,95314762,95314770,95317542,95317550,99265966,99265974,99277111,99277127,99338380,99338388,99368832,99368840,99400302,99400310,99402431,99402439,99440873,99440881,99457727,99457735,101448275,101448280,101508315,101508323,101513354,101513370,101519240,101519248,101557475,101557491,101561269,101561277,101561712,101561720,101562326,101562334,101586440,101586456,101631251,101631259,101659374,101659382,101686977,101686985,101754322,101855359,101855367,101891730,101891746,101917105,101917113,101922619,101922627,101922800,101922808,101956209,101956225,102030662,102030670,102070616,102070624,102073987,102073995,102146667,102146675,102161547,102161555,102195964,102195972,102198422,102198430,102207391,102236066,102236074,102244629,102244637,102258765,102258781,102262369,102262377,102280788,102280796,102287804,102287812,102342936,102342944,102343480,102343488,102402799,102402807,102428706,102428714,102430761,102430769,102469342,102469350,102469700,102469708,102515037,102515042,102517204,102517209,102618768,102618776,102625579,102625595,102659847,102659855,102673405,102685423,102685428,102685864,102685869,102690660,102690668,102691193,102691198,102718435,102741326,102741334,102762395,102762403,102774867,102774875,102787533,102807750,102807758,102867955,102867963,102887116,102887124,102903640,102903648,102909763,102909768,102921593,102921601,102925919,102925927,102930316,102930332,102932487,102932495,102944241,102944246,102944372,102944377,102944464,102944469,102944516,102944771,102944776,102956605,102956613,102969782,102969790,102972689,102972697,102973220,102973228,102979046,102979051,102984092,102984100,102988246,102988251,102988669,102988674,102999649,102999654,103011439,103011447,103066322,103066338,103067154,103067162,103067407,103067415,103074675,103074691,103124896,103124912,103152699,103152715,103169672,103169688,103176050,103176058,103176219,103176227,103276134,103276139,103281161,103281177,103288326,103288334,103289155,103289160,103325354,103325359,103339876,103339884,103343910,103343918,103354356,103354364,103354792,103354800,103355333,103355341,103355723,103355731,104522160,104522176,104522784,104522800,104530124,104538364,104574019,104574027,104599762,104599767,104661287,104661295,104699464,104699472,104713957,104713973,104764084,104764092,104793005,104793010,104801406,104801414,104869024,104869032,104907871,104907879,104932597,104932605,104940377,104940385,104958241,104983229,104983237,105060559,105060567,105072213,105072221,105082017,105082025,105085109,105085117,105087368,105087376,105092932,105092937,105143329,105143337,105180974,105180982,105230620,105230628,105255638,105275637,105275653,105276227,105276232,105283077,105283767,105283775,105293666,105293674,105302093,105302101,105312490,105312495,105346185,105346193,105360438,105360446,105360962,105360970,105393691,105393699,105439351,105439359,105442939,105459955,105459971,115509902,115509910,115533893,115533898,115626358,115626366,115629912,115629920,115662606,115669318,115669326,115722298,115722314,115769659,115769667,115795117,115808414,115808422,115862716,115893420,115893428,115893632,115893648,115895693,115895701,115899197,116055513,116055521,116079290,116236026,116353680],"crc":0,"cvi":[]},"docs-ccdil":true,"docs-eil":true,"docs-ecuach":false,"docs-cclt":2035,"docs-ecci":true,"docs-esi":false,"docs-cei":{"i":[102207391,5713195,101631259,94434405,104907879,105439359,71515797,103169688,101891746,102236074,5711226,115808422,101562334,104932605,99368840,103152715,104983237,102280796,101686985,49498861,71121056,103289160,71079906,102930332,104869032,94448181,50273516,105459971,102944776,49643636,5739877,95213940,50562852,5713554,105276232,102944469,49823212,94904257,105360446,103074691,71574018,103281177,105230628,103354364,102787533,94864711,104522800,95317550,71325544,102517209,102469708,102984100,71897875,101917113,5731470,71642091,5704621,104538364,102988251,102867963,102659855,105360970,103176058,49924614,94919120,102262377,71544882,71038363,102972697,102258781,104574027,94646642,101855367,95163058,5707565,102146675,5738729,102070624,50587030,95273297,71679448,103355731,94891470,101922808,49842823,99265974,116055521,102925927,103176227,70971224,5705207,105312495,105293674,115509910,105092937,50266130,115895701,101922627,94661690,103011447,101508323,5701877,71710008,115893428,105082025,115629920,104699472,102287812,102515042,102428714,50297184,94744964,115669326,71528625,102741334,71478108,94368292,94327639,50561331,116079290,102762403,102909768,71545501,99402439,102198430,49979686,105085117,103288334,5715055,105060567,95135901,105180982,102618776,103067415,102690668,99457735,104793010,5764346,104530124,104713973,102944246,5705891,102999654,94692466,102469350,71387797,102969790,71387280,102244637,49833450,50503767,95087114,102921601,5734632,115893648,115769667,94523156,102195972,102430769,5754998,48966142,103066338,101659382,104661295,50513202,104522176,95314770,71659981,71530071,5718680,116353680,71689968,102903648,5703839,102979051,49471991,101513370,5706270,5774935,101956225,102685428,102343488,5774272,71705202,102774875,102956613,71546353,94353276,105143337,101448280,99440881,49769465,102887124,115662606,102932495,95234799,99277127,102161555,101561720,71478477,102807758,102691198,115722314,103354800,94813431,101561277,5764486,103339884,102973228,49644043,103124912,49943187,71429495,115626366,102073995,103067162,103276139,105275653,105087376,104599767,95118409,115899197,103355341,115533898,5790689,101586456,71847765,5726695,5740814,71466035,71960388,49398709,71376174,94510038,95112701,99338388,50439268,94862055,71727153,115862716,5707461,102988674,102342944,105302101,5727257,94629825,104764092,71639550,102685869,102402807,116236026,102625595,101519248,99400310,105393699,105346193,5737800,104940385,101557491,94624833,102030670,49822989,105283775,71085329,94660923,103325359,105072221,104801414,103343918,102944377,71854848,50549463,71657908,101754322,101631251,94434397,104907871,105439351,71515789,103169672,101891730,102236066,115808414,101562326,104932597,99368832,103152699,104983229,102280788,101686977,49498853,71121048,103289155,71079898,102930316,104869024,94448165,50273508,105459955,102944771,49643628,5739861,95213932,50562844,105276227,102944464,49823204,94904249,105360438,103074675,71574010,103281161,105230620,103354356,102673405,94864703,104522784,95317542,71325536,102517204,102469700,102984092,71897867,101917105,5731454,71642083,71899300,102988246,102867955,102659847,105360962,103176050,49924606,94919112,102262369,71544874,71038355,102972689,102258765,104574019,94646626,101855359,95163042,102146667,5738713,102070616,50587022,95273289,71679440,103355723,94891454,101922800,49842815,99265966,116055513,102925919,103176219,70971216,105312490,105293666,115509902,105092932,50266122,115895693,101922619,94661682,103011439,101508315,71710000,115893420,105082017,115629912,104699464,102287804,102515037,102428706,50297176,94744956,115669318,71528617,102741326,71478100,94368276,94327631,50561323,105442939,102762395,102909763,71545493,99402431,102198422,49979678,105085109,103288326,105060559,95135893,105180974,102618768,103067407,102690660,99457727,104793005,5764330,102718435,104713957,102944241,102999649,94692458,102469342,71387789,102969782,71387272,102244629,49833442,50503759,95087106,102921593,5734616,115893632,115769659,94523148,102195964,102430761,5754982,48966134,103066322,101659374,104661287,50513194,104522160,95314762,71659973,71530063,5718663,102944516,71689960,102903640,102979046,49471983,101513354,5774919,101956209,102685423,102343480,5774256,71705157,102774867,102956605,71546345,94353268,105143329,101448275,99440873,49769457,102887116,104958241,102932487,95234791,99277111,102161547,101561712,71478469,102807750,102691193,115722298,103354792,94813423,101561269,5764470,103339876,102973220,49644035,103124896,49943179,71429487,115626358,102073987,103067154,103276134,105275637,105087368,104599762,95118401,105255638,103355333,115533893,5790673,101586440,71847749,5726679,5740798,71466027,71960380,49398701,71376166,94510030,95112693,99338380,50439260,94862047,71727137,105283077,102988669,102342936,105302093,5727241,94629817,104764084,71639534,102685864,102402799,115795117,102625579,101519240,99400302,105393691,105346185,5737784,104940377,101557475,94624825,102030662,49822981,105283767,71085321,94660915,103325354,105072213,104801406,103343910,102944372,71854840,50549455,71657900],"cf":{"enable_homescreen_priority_docs":[null,0],"enable_homescreen_priority_docs_promo":[null,0],"enable_homescreen_action_items_structured_query":[null,0]}},"docs-est":"CAMSCBUD9dL9Nx0H","docs-exfv":false,"docs-li":"713678","docs-trgthnt":"xwSFpxEiU0mHq3jmV6o0PcnvcKmd","docs-etmhn":false,"docs-thnt":"","docs-hbt":[],"docs-hdet":["nMX17M8pQ0kLUkpsP190WPbQDRJQ","17hED8kG50kLUkpsP190TThQn3DA","BDNZR4PXx0kLUkpsP190SJtNPkYt","Etj5wJCQk0kLUkpsP190NwiL8UMa","xCLbbDUPA0kLUkpsP190XkGJiPUm","2NUkoZehW0kLUkpsP190UUNLiXW9","yuvYtd5590kLUkpsP190Qya5K4UR","ZH4rzt2uk0kLUkpsP190UDkF5Bkq","uQUQhn57A0kLUkpsP190WHoihP41","93w8zoRF70kLUkpsP190TxXbtSeV","fAPatjr1X0kLUkpsP190SaRjNRjw","T4vgqqjK70kLUkpsP190ScPehgAW","JyFR2tYWZ0kLUkpsP190Rn3HzkxT","ufXj7vmeJ0kLUkpsP190QURhvJn2","KFks7UeZ30kLUkpsP190UUMR6cvh","LcTa6EjeC0kLUkpsP190RKgvW5qi","s3UFcjGjt0kLUkpsP190Z45ftWRr","o99ewBQXy0kLUkpsP190Nq2qr6tf","PHVyy5uSS0kLUkpsP190SUsYo8gQ","yZn21akid0iSFTCbiEB0WPiGEST3","h2TtqzmQF0kLUkpsP190YPJiQt7p","MZi9vb5UC0kLUkpsP190ReUhvVjy","dSR6SPjB80kLUkpsP190Y3xHa9qA","Bz6B7VmLu0kLUkpsP190W3FeobP7","AiLoubzsd0kLUkpsP190XtYNPgYT","2J3DVQoVh0kLUkpsP190R5wShSrC","MLmbZasLS0kLUkpsP190YHf6Zjsf","S1T4ezMsZ0kLUkpsP190U6GfQUxi","N5u4VeWhx0iSFTCbiEB0VUTNdX6g","XM16tjwrD0iSFTCbiEB0NfzvTeuU","ybYTJk1eD0iSFTCbiEB0QV4rkzSF","TgXar1TSG0iSFTCbiEB0SsXMaKuP","JYfGDkExa0iSFTCbiEB0TTQnEDtH","2i9JBUZ3w0iSFTCbiEB0RytbUoNq","pgvTVXNKa0iSFTCbiEB0ShqmBTMR","NsVnd81bW0iSFTCbiEB0RhcXEK9M","rTQirATnb0iSFTCbiEB0W5cPcA7D","wNyww2Syr0iSFTCbiEB0Pzsbemba","DVdpfbqGj0iSFTCbiEB0RP4dMdFg","WKN3dsuG20iSFTCbiEB0NtEYhMK7","S5iPRteXX0iSFTCbiEB0YkMazE6h","6hmou1AcB0iSFTCbiEB0R9rZWXdz","wvo4NcLUj0iSFTCbiEB0Tt7mcVxE","HWuSeN2AB0iSFTCbiEB0PoBwHT2F","rMLvYG5Cd0iSFTCbiEB0VMB6o5sk","EnxXFzAMR0iSFTCbiEB0NxWnFJEU","rTcCMw3BM0mHq3jmV6o0RHeAExRK","HUYzfGVRa0mHq3jmV6o0Uxe2caXK","1XYMmM1Cu0mHq3jmV6o0Z3pEi8xm","xHhMJiXiV0mHq3jmV6o0WB8WinyM","xwSFpxEiU0mHq3jmV6o0PcnvcKmd","4MBkBg26q0mHq3jmV6o0QeKPRMpY","y5g8iW2T80mHq3jmV6o0Nr8SAj4C","W9YRKy3Lb0iSFTCbiEB0Xfs1EfPr","Ed3nhrN8D0iSFTCbiEB0RN4bJ53y","zxDKY7PC10iSFTCbiEB0UDYPJwDZ","bhEyDmbwi0mHq3jmV6o0TngCF1v2","6rKYZ6uHA0mHq3jmV6o0TeDZjgB8","71Deousgx0mHq3jmV6o0WXBQiyzi","sVEZbUAa70mHq3jmV6o0TNq1M7FF","8ZPFZT5nG0mHq3jmV6o0PJ5yoVh4","P55v8p4Lk0mHq3jmV6o0VjggjHMV","QqnZoz9ko0mHq3jmV6o0QskzBcHn","6nr31z9Wv0mERqSGkGf0VhuvAXWC","RLHeYNm410mERqSGkGf0Y817EUFK","vmx68XtfJ0mERqSGkGf0RCUBfsQr","687J7yD1q0mERqSGkGf0RVmMYHo1","qwhWQy8Zi0mERqSGkGf0W2tdypUF","wF8Sk241e0mERqSGkGf0YNtN6gpV","ijUhdx2QN0mERqSGkGf0TSD26iBJ","3iBLaMnuG0mERqSGkGf0VdY8XuLS","cFR77YEGo0iSFTCbiEB0PcMDWjX2","evUYuNCS80mERqSGkGf0Psi8j3Dw","soWncRV7C0mERqSGkGf0PZheXrWA","TvjoiCaar0mERqSGkGf0S9qS5adj","txL54xWLC0mERqSGkGf0XoEGTvCu","MP3EsW1un0mERqSGkGf0QDkfTxat","N1q4Y3fqz0mERqSGkGf0W1oPWWoc","pnKWhXiJi0mERqSGkGf0RDJejrBm","ffZmMGtYT0suK1NZr2K0QUxSzEMN","NagbcZWyB0suK1NZr2K0SJmfmJ3n","KMcLKvubv0suK1NZr2K0PLMUJ7zr","a13ejFS5i0suK1NZr2K0WzewY5tP","pZ1hXv7ve0suK1NZr2K0U5qoNhyU","pwLDucJZU0ezFcgqx310NgtmYpbV","TCKDVQ6J0Bn3gbW4AcZC0PQKypCa","Z7vabQzZ0Bn3gbW4AcZC0TfvmSab","UUNcLtsso0mERqSGkGf0Uwg2tMZa","wYCZkqoz10fBWirfAym0S1sADKbJ"],"docs-hunds":false,"docs-hae":"PROD","docs-ehn":false,"docs-api-keys":{"scone_api_key":"AIzaSyAP66yw8QnPe4CgbQmLJ1potsrppninXxs","workspace_ui_api_key":"AIzaSyAGu65yOsDqNkYFlUT96M1i6BsyH4Nl6-s","espresso_api_key":"AIzaSyAYQn7Fb7-MOxi3BLfWHblG97kylSec-ak","cloud_search_api_key":"AIzaSyDsoqkkkgjVPCg2ep86sdbNNMrkGsCMJo0","link_previews_safe_search_api_key":"AIzaSyB8IGC2vlg9cTitrdc4HVUcbkr4SC1Z29s"},"docs-effeoima":false,"docs-etut":true,"docs-ertis":false,"docs-ethticpq":true,"docs-etsonc":false,"docs-ewfart":true,"docs-effnp":false,"docs-effnpf":false,"docs-dcheg":false,"buildLabel":"apps-forms.freebird_20251110.02_p0","docs-show_debug_info":false,"docs-edmlf":false,"docs-eemc":false,"docs-emleow":true,"docs-emlewpc":true,"docs-rmls":"DEFAULT_NO_RETRY","ondlburl":"//docs.google.com","drive_url":"//drive.google.com?usp\u003dforms_web","app_url":"https://docs.google.com/forms/?usp\u003dforms_web","drive_base_url":"//drive.google.com","docs-gsmd":"https://workspace.google.com","docs-icdmt":[],"docs-mip":25000000,"docs-mif":1000,"docs-msid":32767,"docs-emid":false,"docs-mib":52428800,"docs-mid":2048,"docs-rid":1024,"docs-ejsp":false,"docs-jspmpdm":30000.0,"docs-jspsim":8.0,"docs-jsptp":0.01,"docs-elbllqpm":false,"docs-phe":"https://contacts.google.com","docs-egpees":true,"docs-eph":true,"docs-istdr":false,"docs-escmv":false,"docs-sup":"/forms","docs-seu":"https://docs.google.com/forms/d/e/1FAIpQLSeCZKKAKigsNpvGG6Dazdo9rBB4dbKNCBhDEp5x1Wv7aHZb-A/edit","docs-crp":"/forms/d/e/1FAIpQLSeCZKKAKigsNpvGG6Dazdo9rBB4dbKNCBhDEp5x1Wv7aHZb-A/viewform","docs-crq":"usp\u003ddialog","docs-ifr":false,"docs-ucd":"","docs-uptc":["ofip","rr","lsrp","noreplica","tam","ntd","ths","app_install_xsrf_token","ouid","authEmail","authuser","ca","sh","fromCopy","ct","cs","cct","sle","dl","hi","hi_ext","usp","urp","utm_source","utm_medium","utm_campaign","utm_term","utm_content","docs_gsdv","srd"],"docs-doddn":"","docs-uddn":"","docs-ugn":"","docs-epq":true,"docs-upap":"/prefs","docs-tst":"","docs-ilbefsd":false,"docs-lbefm":0,"docs-lbesty":0,"docs-elsic":false,"docs-thtea":false,"docs-tdc":"[{\"id\":\"0:Basics\",\"name\":\"Basics\",\"deletedIds\":[]},{\"id\":\"0:Brochures\",\"name\":\"Brochures \\u0026 newsletters\",\"deletedIds\":[]},{\"id\":\"0:Calendars\",\"name\":\"Calendars \\u0026 schedules\",\"deletedIds\":[]},{\"id\":\"0:Business\",\"name\":\"Contracts, onboarding and other forms\",\"deletedIds\":[]},{\"id\":\"0:Finance\",\"name\":\"Finance \\u0026 accounting\",\"deletedIds\":[]},{\"id\":\"0:Letters\",\"name\":\"Letters\",\"deletedIds\":[]},{\"id\":\"0:Reports\",\"name\":\"Reports \\u0026 proposals\",\"deletedIds\":[]},{\"id\":\"0:Planners\",\"name\":\"Trackers\",\"deletedIds\":[]},{\"id\":\"Unparented\",\"name\":\"Uncategorised\",\"deletedIds\":[\"0:NoTemplateCategories\"]}]","docs-ttt":0,"docs-tcdtc":"[]","docs-ividtg":false,"docs-tdcp":0,"docs-tdvc":false,"docs-hetsdiaow":true,"docs-edt":true,"docs-tintd":false,"docs-tafl":true,"docs-puvtftv":true,"docs-erdiiv":false,"docs-eemt":["image"],"docs-eqspdc":true,"docs-roosb":false,"docs-esehbc":true,"docs-sqcuu":true,"docs-uaid":false,"docs-uaqs":0,"docs-eclpa":false,"docs-edp2":false,"docs-iidpm":false,"docs-mefu":false,"docs-iicp":false,"docs-edvm":false,"docs-elpg":false,"docs-elpgpm":false,"docs-acap":["docs.security.access_capabilities",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0],"docs-ci":"","docs-eccfs":false,"docs-eep":false,"docs-ndt":"Untitled form","docs-plwtu":"//ssl.gstatic.com/docs/common/product/forms_app_icon1.png","docs-prn":"Google Forms","docs-sprn":"","docs-een":false,"docs-as":"","docs-mdck":"AIzaSyD8OLHtLvDxnjZsBoVq4-_cuwUbKEMa70s","docs-eccbs":false,"docs-mmpt":9000,"docs-erd":false,"docs-uootuns":false,"docs-amawso":false,"docs-ofmpp":false,"docs-anlpfdo":false,"docs-ems":"SHARE_SUBMENU","docs-glu":"","docs-wsu":"","docs-wsup":"","docs-sccfo":"PROD","docs-fecgd":false,"docs-pid":"","docs-ricocpb":false,"docs-rdowr":false,"docs-dec":false,"docs-ecgd":false,"docs-dsps":true,"docs-ececs":false,"docs-ezdi":false,"docs-ezduole":false,"server_time_ms":1763053802699,"gaia_session_id":"","docs-usp":"forms_web","docs-isb":false,"docs-agdc":false,"docs-anddc":true,"docs-adndldc":false,"docs-dhnap":"docs.google.com","docs-ds":"https","docs-clibs":1,"docs-cirts":20000,"docs-cide":true,"docs-cn":"","docs-dprfo":false,"docs-duesf":false,"docs-dcdpe":true,"docs-dom":false,"docs-eacr":false,"docs-eacw":false,"docs-ecer":false,"docs-ecir":true,"docs-ecssl":false,"docs-ecssi":false,"docs-ecped":true,"docs-copy-ecci":false,"docs-edpq":false,"docs-edamc":false,"docs-edomic":false,"docs-edbsms":false,"docs-eddm":false,"docos-edii":false,"docs-edspi":false,"docs-edvpim":false,"docs-edvpim2":false,"docs-fwd":false,"docs-eibs":true,"docs-elds":false,"docs-emp":false,"docs-emcf":true,"docs-emmu":false,"docs-enpks":false,"docs-epmi":false,"docs-epat":true,"docs-ermcf":false,"docs-erpep":false,"docs-ersd":false,"docs-esml":true,"docs-ete":false,"docs-ewlip":true,"docs-echiut":"default","docs-ipuv":true,"docs-oesf":false,"docs-oursf":false,"docs-plimif":20.0,"docs-srmdue":0.0,"docs-srmoe":0.01,"docs-srmour":0.01,"docs-srmxue":0.01,"docs-sptm":true,"docs-ssi":false,"docs-uoci":"","docs-wesf":false,"docs-xduesf":false,"docs-emmda":false,"docs-eafst":false,"docs-eltafi":false,"docs-eltafip2":false,"docs-emraffi":false,"docs-rolibilc":false,"docs-esqppo":false,"docs-etpi":false,"docs-ipmmp":true,"docs-emmafi":false,"docs-gth":"Go to Forms home screen","docs-ndsom":[],"docs-dm":"application/vnd.google-apps.freebird","docs-sdsom":[],"docs-po":"https://docs.google.com","docs-to":"https://docs.google.com","opmbs":52428800,"opmpd":5000,"opbu":"https://docs.google.com/picker","docs-pe":1,"opru":"https://docs.google.com/relay.html","opdu":false,"ophi":"trix_forms","opst":"","opuci":"","opsmu":"https://docs.google.com/picker","docs-ehipo":false,"docs-drk":[],"docs-erkpp":false,"docs-erkfsu":true,"maestro_domain":"https://script.google.com","enable_maestro":true,"docs-isctp":false,"docs-emae":false,"mae-cwssw":false,"mae-aoeba":true,"mae-esme":false,"mae-seitd":true,"docs-emgsmw":true,"docs-mhea":false,"docs-cpv":0,"docs-urouih":false,"docs-ect":true,"docs-alu":"https://myaccount.google.com/language","docs-cpks":[],"docs-hasid":"Forms","docs-hdod":"docs.google.com","docs-ehinbd":true,"docs-hdck":"AIzaSyCs1AYpdoC8cECMZEWg89u054wu3GiI0lI","docs-hucs":true,"docs-hufcm":false,"docs-cbrs":50,"docs-caru":"https://clients6.google.com","docs-cdru":"https://drivefrontend-pa.clients6.google.com","docs-cpari":"https://people-pa.clients6.google.com/","docs-cbau":"https://drive.google.com","docs-cfru":"https://lh3.google.com","docs-ctak":"AIzaSyAWGrfCCr7albM3lmCc937gx4uIphbpeKQ","docs-cgav":0,"docs-cci":2,"docs-gap":"/drive/v2internal","docs-eaotx":true,"docs-efgrr":false,"docs-ecrerfmo":false,"jobset":"prod","docs-cdie":false,"docs-copy-hp":true,"docs-icfc":false,"docs-ecrpsh":false,"docs-nad":"sites.google.com","docs-ccwt":80,"docs-ut":2,"docs-sol":true,"docs-dvs":1,"docs-dac":1,"docs-ilbrc":false,"docs-dlpe":false,"docs-erre":false,"enable_omnibox":true,"docs-cvmo":-1,"docs-eqam":false,"docs-euaool":false,"docs-eua":false,"docs-esap":true,"docs-efib":false,"docs-se":false,"docs-eaaw":false,"docs-eecs":false,"docs-ehlbap":true,"docs-emtr":false,"docs-uwzh":false,"docs-dafjera":false,"docs-daflia":false,"docs-dafgfma":false,"docs-era":true,"docs-fhnfst":"sVEZbUAa70mHq3jmV6o0TNq1M7FF","docs-fhnlst":"","docs-fhnprt":"bhEyDmbwi0mHq3jmV6o0TngCF1v2","docs-fhnqt":"8ZPFZT5nG0mHq3jmV6o0PJ5yoVh4","docs-fhnrqtt":"P55v8p4Lk0mHq3jmV6o0VjggjHMV","docs-fhntrts":"QqnZoz9ko0mHq3jmV6o0QskzBcHn","docs-egn":"-1","docs-eulsdo":false,"docs-eopd":"espresso-pa.googleapis.com","docs-gaopd":"appsgenaiserver-pa.clients6.google.com","docs-idephr":false,"docs-eoool":false,"docs-idep":false,"docs-ilc":false,"docs-ilecoi":false,"docs-ilecoo":false,"docs-ics":false,"docs-dcarft":false,"docs-egafedo":false,"docs-egafkd":false,"docs-ebkq":true,"docs-ebk":false,"docs-ebubgi":false,"docs-ecscv2":true,"docs-edtg":false,"docs-eslc":false,"docs-egnup":false,"docs-egpf":false,"docs-egaat":false,"docs-egqe":true,"docs-eisel":false,"docs-esptc":false,"docs-eupfsi":false,"docs-esigs":false,"docs-esa":false,"docs-es":false,"docs-esets":false,"docs-esgap":false,"docs-esn":false,"docs-evdmt":false,"docs-evdr":false,"docs-evst":false,"docs-shti":"","docs-rpod":"appsgrowthpromo-pa.clients6.google.com","docs-dht":"","docs-edcb":false,"docs-deo":false,"docs-depvv2":true,"docs-epbih":false,"docs-dslb":false,"docs-egsdsr":false,"docs-egsdepsv":false,"docs-gsdv":0,"docs-gsdvofdh":false,"docs-dt":"freebird","zpgp":"dgzkgczkijbgcsgimxjdlmtzjwzfivzxfzmsystzeoiwamjtzzhicxctdgfskvteervyhfvgjtkjtymwzaelnur","wbgrlvt_xzvprgz_pmxjuqynmb":0.3,"ewpwf_tjyo_jrgmrqcxgq":0.5,"ewpwf_rlao_abil_pmxjuqynmb":0.3,"jvrx_oiytot_des_fnbimqmhobt_meajug_nqe":"https://docs.google.com/picker?protocol\u003dgadgets\u0026parent\u003dhttps://docs.google.com/relay.html\u0026hostId\u003dspreadsheet-form-linker\u0026title\u003dChoose+a+spreadsheet+where+we\u0027ll+copy+responses+to+your+form\u0026hl\u003den_GB\u0026newDriveView\u003dtrue\u0026origin\u003dhttps://docs.google.com\u0026nav\u003d((%22spreadsheets%22,null,%7B%22mimeTypes%22:%22application/vnd.google-apps.spreadsheet,application/vnd.google-apps.ritz%22%7D))","alb_mrne_nkhohn_hpv":"https://docs.google.com/picker?protocol\u003dgadgets\u0026parent\u003dhttps://docs.google.com/relay.html\u0026hostId\u003dtrix_forms-fonts\u0026title\u003dFonts\u0026hl\u003den_GB\u0026newDriveView\u003dtrue\u0026origin\u003dhttps://docs.google.com\u0026navHidden\u003dtrue\u0026multiselectEnabled\u003dtrue\u0026selectButtonLabel\u003dOK\u0026nav\u003d((%22fonts%22))","hyigl_uapbckh_zcbpkkq_fixh":"https://drive.google.com/settings/storage","mz_dodrpm_fylol_smbq":false,"jvrxz-icbu":"6LcJMyUUAAAAABOakew3hdiQ0dU8a21s-POW69KQ","jvrxz-edl":false,"jvrxz-ddc":"Untitled survey","jvrxz-eydw":true,"jvrxz-edzno":false,"jvrxz-odzoe":false,"jvrxz-slg":"gndmhdcefbhlchkhipcnnbkcmicncehk","jvrxz-eie":false,"jvrxz-ecy":false,"jvrxz-eqez":false,"jvrxz-eqq":false,"jvrxz-eez":false,"jvrxz-exjm":false,"jvrxz-elnw":true,"jvrxz-eczde":false,"jvrxz-gpd":"https://accounts.google.com/","jvrxz-exo":true,"jvrxz-eoobpzxq":true,"jvrxz-usmd":false,"jvrxz-eaa":true,"jvrxz-ebbf3":false,"jvrxz-epyphxv":true,"jvrxz-eboeh":false,"jvrxz-eazc":false,"jvrxz-eqb":false,"jvrxz-eqlpu":false,"jvrxz-esvm":false,"jvrxz-sqfxg":false,"jvrxz-eeac":false,"jvrxz-eeacszf":true,"jvrxz-eacbu":true,"jvrxz-encbkz":false,"jvrxz-enomkz":false,"jvrxz-eabeq":false,"jvrxz-rnu":10000,"jvrxz-rwxvu":50000,"jvrxz-rdugv":40000,"jvrxz-sdugv":80000,"jvrxz-qgugv":8000,"jvrxz-rwxcu":100000,"jvrxz-rwxcek":10000,"jvrxz-eccavj":true,"jvrxz-e2ym":false,"jvrxz-esrq":false,"jvrxz-ebew":false,"jvrxz-erarql":false,"jvrxz-ezazelg":false,"jvrxz-emeof":false,"jvrxz-enbekwuy":true,"jvrxz-eemnds":false,"jvrxz-eqavqsv":true,"jvrxz-efrw":true,"jvrxz-edlyh":false,"jvrxz-epbmt":false,"jvrxz-eqao":true,"jvrxz-eaancjo":false,"jvrxz-esryo":false,"jvrxz-enrv":true,"googlesystem_blogspot_banlevel":"http://goo.gl/vqaya","docs-bcbt":"Forms Home","docs-bc-css":"forms","docs-spdy":false,"xdbcfAllowHostNamePrefix":true,"xdbcfAllowXpc":true,"docs-dbctc":false,"docs-cbcwro":false,"docs-ebctcio":true,"docs-iror":false,"docs-pse":"PROD","docs-nrfd":false,"docs-nrfdfr":false,"docs-sdb":false,"docs-lucpf":true,"docs-hbiwud":true,"docs-iwu":{},"docs-efypr":true,"docs-eyprp":true,"docs-dcr":false,"docs-eytpgcv":0};</script><base target="_blank"><meta property="og:title" content="Basic Knowledge and Math Quiz"><meta property="og:type" content="article"><meta property="og:site_name" content="Google Docs"><meta property="og:url" content="https://docs.google.com/forms/d/e/1FAIpQLSeCZKKAKigsNpvGG6Dazdo9rBB4dbKNCBhDEp5x1Wv7aHZb-A/viewform?usp=dialog&amp;usp=embed_facebook"><meta property="og:image" content="https://lh4.googleusercontent.com/HtS7tPlskpu3MfZt9VQ_7oo2nG64sSHurl0T6-DhfKM3APHkhyoCFov1Ow39TmDSojC-wLq0zZhhcqQ=w1200-h630-p"><meta property="og:image:width" content="200"><meta property="og:image:height" content="200"><meta property="og:description" content="Test your basic addition and general knowledge."><meta property="og:ttl" content="604800"></head><body dir="ltr" itemscope itemtype="http://schema.org/CreativeWork/FormObject" class="D8bnZd " data-is-prepopulate-mode="false" data-is-response-view="true" jscontroller="OkF2xb" jsaction="rcuQ6b:npT2md; click:KjsqPd;oSngvd:KWFGld;UxRBlf:GrC6Ef;oDrQPd:l9NwTb;dkdJAd:CMTGD;"><meta itemprop="name" content="Basic Knowledge and Math Quiz"><meta itemprop="description" content="Test your basic addition and general knowledge."><meta itemprop="faviconUrl" content="https://ssl.gstatic.com/docs/spreadsheets/forms/forms_icon_2023q4.ico"><meta itemprop="url" content="https://docs.google.com/forms/d/e/1FAIpQLSeCZKKAKigsNpvGG6Dazdo9rBB4dbKNCBhDEp5x1Wv7aHZb-A/viewform?usp=dialog&amp;usp=embed_googleplus"><meta itemprop="embedURL" content="https://docs.google.com/forms/d/e/1FAIpQLSeCZKKAKigsNpvGG6Dazdo9rBB4dbKNCBhDEp5x1Wv7aHZb-A/viewform?usp=dialog&amp;embedded=true&amp;usp=embed_googleplus"><meta itemprop="thumbnailUrl" content="https://ssl.gstatic.com/docs/forms/social/social-forms-big-2.png"><meta itemprop="image" content="https://ssl.gstatic.com/docs/forms/social/social-forms-big-2.png"><meta itemprop="imageUrl" content="https://ssl.gstatic.com/docs/forms/social/social-forms-big-2.png"><div class="Uc2NEf"><div class="vnFTpb teQAzf ErmvL KHCwJ"></div><div class="teQAzf"><form action="https://docs.google.com/forms/d/e/1FAIpQLSeCZKKAKigsNpvGG6Dazdo9rBB4dbKNCBhDEp5x1Wv7aHZb-A/formResponse" target="_self" method="POST" id="mG61Hd" jsmodel="TOfxwf Q91hve CEkLOc" data-shuffle-seed="3424541192946292657" data-clean-viewform-url="https://docs.google.com/forms/d/e/1FAIpQLSeCZKKAKigsNpvGG6Dazdo9rBB4dbKNCBhDEp5x1Wv7aHZb-A/viewform?usp=dialog" data-response="%.@.]" data-dlp-data="%.@.null,false]" data-first-entry="0" data-last-entry="6" data-is-first-page="true"><div jscontroller="yUS4Lc" jsaction="rcuQ6b:rcuQ6b;UxRBlf:rcuQ6b;"><div jsname="o6bZLc"></div></div><div class="RH5hzf RLS9Fe"><div class="lrKTG"><div class="Dq4amc"><div class="m7w29c O8VmIc tIvQIf"><noscript><div class="HB1eCd-X3SwIb-haAclf"><div class="HB1eCd-X3SwIb-i8xkGf"><div class="tk3N6e-cXJiPb tk3N6e-cXJiPb-TSZdd tk3N6e-cXJiPb-GMvhG">JavaScript isn't enabled in your browser, so this file can't be opened. Enable and reload.</div></div><br></div></noscript><div class="JH79cc RVEQke b33AEc"></div><div class="N0gd6"><div class="ahS2Le"><div class="F9yp7e ikZYwf LgNcQe" dir="auto" role="heading" aria-level="1">Basic Knowledge and Math Quiz</div></div><div class="cBGGJ OIC90c" dir="auto">Test your basic addition and general knowledge.</div><div jsname="F0H8Yc" class="liS6Hc"></div></div><div class="zAVwcb"></div><div class="DqBBlb"><div class="Oh1Vtf"><div class="kesdnc" id="SMMuxb"><a jscontroller="A2m8uc" jsaction="rcuQ6b:npT2md; click:mAWTmb;" href="https://accounts.google.com/AccountChooser?continue=https://docs.google.com/forms/d/e/1FAIpQLSeCZKKAKigsNpvGG6Dazdo9rBB4dbKNCBhDEp5x1Wv7aHZb-A/viewform?usp%3Ddialog&amp;service=wise" aria-describedby="SMMuxb">Sign in to Google</a> to save your progress. <a class="TYUeKb" jscontroller="rmdjlf" jsaction="rcuQ6b:npT2md; click:xdDXgc;" role="button" tabindex="0">Learn more</a></div></div></div></div></div><div class="o3Dpx" role="list"><div class="Qr7Oae" role="listitem"><div jsmodel="CP1oW" data-params="%.@.[314895045,&quot;What is 5 + 7?&quot;,null,0,[[612189310,null,false,null,null,null,null,null,null,null,[]]],null,null,null,null,null,null,[null,&quot;What is 5 + 7?&quot;]],&quot;i1&quot;,&quot;i2&quot;,&quot;i3&quot;,false,&quot;i4&quot;]"><div jscontroller="sWGJ4b" jsaction="EEvAHc:yfX9oc;" jsname="WsjYwc" class="geS5n"><div class="z12JJ"><div class="M4DNQ"><div id="i1" class="HoXoMd D1wxyf RjsPE" role="heading" aria-level="3"><span class="M7eMe">What is 5 + 7?</span></div><div class="gubaDc OIC90c RjsPE" id="i2"></div></div></div><div jscontroller="oCiKKc" jsaction="rcuQ6b:vZc4S;O22p3e:zjh6rb;b2trFe:eVidQc;sPvj8e:d3sQLd;AHmuwe:h06R8;" class="AgroKb"><div class="rFrNMe k3kHxc RdH0ib yqQS1 zKHdkd RDPZE" jscontroller="pxq3x" jsaction="clickonly:KjsqPd; focus:Jt1EX; blur:fpfTEe; input:Lg5SV" jsshadow jsname="YPqjbf" aria-disabled="true"><div class="aCsJod oJeWuf"><div class="aXBtI Wic03c"><div class="Xb9hP"><input type="text" class="whsOnd zHQkBf" jsname="YPqjbf" autocomplete="off" tabindex="0" aria-labelledby="i1 i4" aria-describedby="i2 i3" disabled aria-disabled="true" dir="auto" data-initial-dir="auto" data-initial-value=""/><div jsname="LwH6nd" class="ndJi5d snByac" aria-hidden="true">Your answer</div></div><div class="i9lrp mIZh1c"></div><div jsname="XmnwAc" class="OabDMe cXrdqd"></div></div></div><div class="LXRPh"><div jsname="ty6ygf" class="ovnfwe Is7Fhb"></div></div></div></div><div jsname="Rfh2Tc" class="SL4Sz" id="i3" role="alert"></div></div></div></div><div class="Qr7Oae" role="listitem"><div jsmodel="CP1oW" data-params="%.@.[1403132839,&quot;Calculate 15 + 8.&quot;,null,0,[[159990158,null,false,null,null,null,null,null,null,null,[]]],null,null,null,null,null,null,[null,&quot;Calculate 15 + 8.&quot;]],&quot;i6&quot;,&quot;i7&quot;,&quot;i8&quot;,false,&quot;i9&quot;]"><div jscontroller="sWGJ4b" jsaction="EEvAHc:yfX9oc;" jsname="WsjYwc" class="geS5n"><div class="z12JJ"><div class="M4DNQ"><div id="i6" class="HoXoMd D1wxyf RjsPE" role="heading" aria-level="3"><span class="M7eMe">Calculate 15 + 8.</span></div><div class="gubaDc OIC90c RjsPE" id="i7"></div></div></div><div jscontroller="oCiKKc" jsaction="rcuQ6b:vZc4S;O22p3e:zjh6rb;b2trFe:eVidQc;sPvj8e:d3sQLd;AHmuwe:h06R8;" class="AgroKb"><div class="rFrNMe k3kHxc RdH0ib yqQS1 zKHdkd RDPZE" jscontroller="pxq3x" jsaction="clickonly:KjsqPd; focus:Jt1EX; blur:fpfTEe; input:Lg5SV" jsshadow jsname="YPqjbf" aria-disabled="true"><div class="aCsJod oJeWuf"><div class="aXBtI Wic03c"><div class="Xb9hP"><input type="text" class="whsOnd zHQkBf" jsname="YPqjbf" autocomplete="off" tabindex="0" aria-labelledby="i6 i9" aria-describedby="i7 i8" disabled aria-disabled="true" dir="auto" data-initial-dir="auto" data-initial-value=""/><div jsname="LwH6nd" class="ndJi5d snByac" aria-hidden="true">Your answer</div></div><div class="i9lrp mIZh1c"></div><div jsname="XmnwAc" class="OabDMe cXrdqd"></div></div></div><div class="LXRPh"><div jsname="ty6ygf" class="ovnfwe Is7Fhb"></div></div></div></div><div jsname="Rfh2Tc" class="SL4Sz" id="i8" role="alert"></div></div></div></div><div class="Qr7Oae" role="listitem"><div jsmodel="CP1oW" data-params="%.@.[1307778553,&quot;Which planet is known as the &#39;Red Planet&#39;?&quot;,null,2,[[1414179930,[[&quot;Venus&quot;,null,null,null,false],[&quot;Mars&quot;,null,null,null,false],[&quot;Jupiter&quot;,null,null,null,false],[&quot;Saturn&quot;,null,null,null,false]],false,null,null,null,null,null,null,null,[]]],null,null,null,null,null,null,[null,&quot;Which planet is known as the &#39;Red Planet&#39;?&quot;]],&quot;i11&quot;,&quot;i12&quot;,&quot;i13&quot;,false,&quot;i14&quot;]"><div jscontroller="sWGJ4b" jsaction="EEvAHc:yfX9oc;" jsname="WsjYwc" class="geS5n"><div class="z12JJ"><div class="M4DNQ"><div id="i11" class="HoXoMd D1wxyf RjsPE" role="heading" aria-level="3"><span class="M7eMe">Which planet is known as the 'Red Planet'?</span></div><div class="gubaDc OIC90c RjsPE" id="i12"></div></div></div><div jscontroller="UmOCme" jsaction="rcuQ6b:vZc4S;O22p3e:zjh6rb;b2trFe:eVidQc;JIbuQc:RgMCxe(YlCLKb);sPvj8e:d3sQLd;TYy3Ne:RgMCxe;" class="oyXaNc" jsname="GCYh9b"><input type="hidden" name="entry.1414179930_sentinel" jsname="DTMEae"><div jscontroller="eFy6Rc" jsaction="sPvj8e:Gh295d" jsname="cnAzRb"><div class="lLfZXe fnxRtf cNDBpf" jscontroller="wPRNsd" jsshadow jsaction="keydown:I481le;JIbuQc:JIbuQc;rcuQ6b:rcuQ6b" jsname="wCJL8" aria-labelledby="i11 i14" aria-describedby="i12 i13" role="radiogroup"><span jsslot role="presentation" jsname="bN97Pc" class="H2Gmcc tyNBNd"><div class="SG0AAe"><div class="nWQGrd zwllIb"><label for="i16" class="docssharedWizToggleLabeledContainer ajBQVb RDPZE"><div class="bzfPab wFGF8"><div class="d7L4fc bJNwt FXLARc aomaEc ECvBRb"><div id="i16" class="Od2TWd hYsg7c RDPZE" jscontroller="D8e5bc" jsaction="keydown:I481le;dyRcpb:dyRcpb;click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;" jsshadow aria-label="Venus" aria-disabled="true" data-value="Venus" role="radio" aria-checked="false"><div class="x0k1lc MbhUzd"></div><div class="uyywbd"></div><div class="vd3tt"><div class="AB7Lab Id5V1"><div class="rseUEf nQOrEb"></div></div></div></div></div><div class="YEVVod"><div class="ulDsOb"><span dir="auto" class="aDTYNe snByac OvPDhc OIC90c">Venus</span></div></div></div></label></div><div class="nWQGrd zwllIb"><label for="i19" class="docssharedWizToggleLabeledContainer ajBQVb RDPZE"><div class="bzfPab wFGF8"><div class="d7L4fc bJNwt FXLARc aomaEc ECvBRb"><div id="i19" class="Od2TWd hYsg7c RDPZE" jscontroller="D8e5bc" jsaction="keydown:I481le;dyRcpb:dyRcpb;click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;" jsshadow aria-label="Mars" aria-disabled="true" data-value="Mars" role="radio" aria-checked="false"><div class="x0k1lc MbhUzd"></div><div class="uyywbd"></div><div class="vd3tt"><div class="AB7Lab Id5V1"><div class="rseUEf nQOrEb"></div></div></div></div></div><div class="YEVVod"><div class="ulDsOb"><span dir="auto" class="aDTYNe snByac OvPDhc OIC90c">Mars</span></div></div></div></label></div><div class="nWQGrd zwllIb"><label for="i22" class="docssharedWizToggleLabeledContainer ajBQVb RDPZE"><div class="bzfPab wFGF8"><div class="d7L4fc bJNwt FXLARc aomaEc ECvBRb"><div id="i22" class="Od2TWd hYsg7c RDPZE" jscontroller="D8e5bc" jsaction="keydown:I481le;dyRcpb:dyRcpb;click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;" jsshadow aria-label="Jupiter" aria-disabled="true" data-value="Jupiter" role="radio" aria-checked="false"><div class="x0k1lc MbhUzd"></div><div class="uyywbd"></div><div class="vd3tt"><div class="AB7Lab Id5V1"><div class="rseUEf nQOrEb"></div></div></div></div></div><div class="YEVVod"><div class="ulDsOb"><span dir="auto" class="aDTYNe snByac OvPDhc OIC90c">Jupiter</span></div></div></div></label></div><div class="nWQGrd zwllIb"><label for="i25" class="docssharedWizToggleLabeledContainer ajBQVb RDPZE"><div class="bzfPab wFGF8"><div class="d7L4fc bJNwt FXLARc aomaEc ECvBRb"><div id="i25" class="Od2TWd hYsg7c RDPZE" jscontroller="D8e5bc" jsaction="keydown:I481le;dyRcpb:dyRcpb;click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;" jsshadow aria-label="Saturn" aria-disabled="true" data-value="Saturn" role="radio" aria-checked="false"><div class="x0k1lc MbhUzd"></div><div class="uyywbd"></div><div class="vd3tt"><div class="AB7Lab Id5V1"><div class="rseUEf nQOrEb"></div></div></div></div></div><div class="YEVVod"><div class="ulDsOb"><span dir="auto" class="aDTYNe snByac OvPDhc OIC90c">Saturn</span></div></div></div></label></div></div></span></div></div><div class="Jwjdfe"><div class="dMALK bQXwDc" jsname="YlCLKb"><div role="button" class="uArJ5e UQuaGc kCyAyd" jscontroller="VXdfxd" jsaction="click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;" jsshadow tabindex="0"><div class="Fvio9d MbhUzd" jsname="ksKsZd"></div><div class="e19J0b CeoRYc"></div><span jsslot class="l4V7wb Fxmcue"><span class="NPEfkd RveJvd snByac">Clear selection</span></span></div></div></div></div><div jsname="Rfh2Tc" class="SL4Sz" id="i13" role="alert"></div></div></div></div><div class="Qr7Oae" role="listitem"><div jsmodel="CP1oW" data-params="%.@.[1004051401,&quot;What is the capital city of France?&quot;,null,2,[[813508719,[[&quot;London&quot;,null,null,null,false],[&quot;Berlin&quot;,null,null,null,false],[&quot;Rome&quot;,null,null,null,false],[&quot;Paris&quot;,null,null,null,false]],false,null,null,null,null,null,false,null,[]]],null,null,null,null,null,null,[null,&quot;What is the capital city of France?&quot;]],&quot;i28&quot;,&quot;i29&quot;,&quot;i30&quot;,false,&quot;i31&quot;]"><div jscontroller="sWGJ4b" jsaction="EEvAHc:yfX9oc;" jsname="WsjYwc" class="geS5n"><div class="z12JJ"><div class="M4DNQ"><div id="i28" class="HoXoMd D1wxyf RjsPE" role="heading" aria-level="3"><span class="M7eMe">What is the capital city of France?</span></div><div class="gubaDc OIC90c RjsPE" id="i29"></div></div></div><div jscontroller="UmOCme" jsaction="rcuQ6b:vZc4S;O22p3e:zjh6rb;b2trFe:eVidQc;JIbuQc:RgMCxe(YlCLKb);sPvj8e:d3sQLd;TYy3Ne:RgMCxe;" class="oyXaNc" jsname="GCYh9b"><input type="hidden" name="entry.813508719_sentinel" jsname="DTMEae"><div jscontroller="eFy6Rc" jsaction="sPvj8e:Gh295d" jsname="cnAzRb"><div class="lLfZXe fnxRtf cNDBpf" jscontroller="wPRNsd" jsshadow jsaction="keydown:I481le;JIbuQc:JIbuQc;rcuQ6b:rcuQ6b" jsname="wCJL8" aria-labelledby="i28 i31" aria-describedby="i29 i30" role="radiogroup"><span jsslot role="presentation" jsname="bN97Pc" class="H2Gmcc tyNBNd"><div class="SG0AAe"><div class="nWQGrd zwllIb"><label for="i33" class="docssharedWizToggleLabeledContainer ajBQVb RDPZE"><div class="bzfPab wFGF8"><div class="d7L4fc bJNwt FXLARc aomaEc ECvBRb"><div id="i33" class="Od2TWd hYsg7c RDPZE" jscontroller="D8e5bc" jsaction="keydown:I481le;dyRcpb:dyRcpb;click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;" jsshadow aria-label="London" aria-disabled="true" data-value="London" role="radio" aria-checked="false"><div class="x0k1lc MbhUzd"></div><div class="uyywbd"></div><div class="vd3tt"><div class="AB7Lab Id5V1"><div class="rseUEf nQOrEb"></div></div></div></div></div><div class="YEVVod"><div class="ulDsOb"><span dir="auto" class="aDTYNe snByac OvPDhc OIC90c">London</span></div></div></div></label></div><div class="nWQGrd zwllIb"><label for="i36" class="docssharedWizToggleLabeledContainer ajBQVb RDPZE"><div class="bzfPab wFGF8"><div class="d7L4fc bJNwt FXLARc aomaEc ECvBRb"><div id="i36" class="Od2TWd hYsg7c RDPZE" jscontroller="D8e5bc" jsaction="keydown:I481le;dyRcpb:dyRcpb;click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;" jsshadow aria-label="Berlin" aria-disabled="true" data-value="Berlin" role="radio" aria-checked="false"><div class="x0k1lc MbhUzd"></div><div class="uyywbd"></div><div class="vd3tt"><div class="AB7Lab Id5V1"><div class="rseUEf nQOrEb"></div></div></div></div></div><div class="YEVVod"><div class="ulDsOb"><span dir="auto" class="aDTYNe snByac OvPDhc OIC90c">Berlin</span></div></div></div></label></div><div class="nWQGrd zwllIb"><label for="i39" class="docssharedWizToggleLabeledContainer ajBQVb RDPZE"><div class="bzfPab wFGF8"><div class="d7L4fc bJNwt FXLARc aomaEc ECvBRb"><div id="i39" class="Od2TWd hYsg7c RDPZE" jscontroller="D8e5bc" jsaction="keydown:I481le;dyRcpb:dyRcpb;click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;" jsshadow aria-label="Rome" aria-disabled="true" data-value="Rome" role="radio" aria-checked="false"><div class="x0k1lc MbhUzd"></div><div class="uyywbd"></div><div class="vd3tt"><div class="AB7Lab Id5V1"><div class="rseUEf nQOrEb"></div></div></div></div></div><div class="YEVVod"><div class="ulDsOb"><span dir="auto" class="aDTYNe snByac OvPDhc OIC90c">Rome</span></div></div></div></label></div><div class="nWQGrd zwllIb"><label for="i42" class="docssharedWizToggleLabeledContainer ajBQVb RDPZE"><div class="bzfPab wFGF8"><div class="d7L4fc bJNwt FXLARc aomaEc ECvBRb"><div id="i42" class="Od2TWd hYsg7c RDPZE" jscontroller="D8e5bc" jsaction="keydown:I481le;dyRcpb:dyRcpb;click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;" jsshadow aria-label="Paris" aria-disabled="true" data-value="Paris" role="radio" aria-checked="false"><div class="x0k1lc MbhUzd"></div><div class="uyywbd"></div><div class="vd3tt"><div class="AB7Lab Id5V1"><div class="rseUEf nQOrEb"></div></div></div></div></div><div class="YEVVod"><div class="ulDsOb"><span dir="auto" class="aDTYNe snByac OvPDhc OIC90c">Paris</span></div></div></div></label></div></div></span></div></div><div class="Jwjdfe"><div class="dMALK bQXwDc" jsname="YlCLKb"><div role="button" class="uArJ5e UQuaGc kCyAyd" jscontroller="VXdfxd" jsaction="click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;" jsshadow tabindex="0"><div class="Fvio9d MbhUzd" jsname="ksKsZd"></div><div class="e19J0b CeoRYc"></div><span jsslot class="l4V7wb Fxmcue"><span class="NPEfkd RveJvd snByac">Clear selection</span></span></div></div></div></div><div jsname="Rfh2Tc" class="SL4Sz" id="i30" role="alert"></div></div></div></div><div class="Qr7Oae" role="listitem"><div jsmodel="CP1oW" data-params="%.@.[1619605659,&quot;The process by which plants make their own food is called __________.&quot;,null,0,[[522759996,null,false,null,null,null,null,null,null,null,[]]],null,null,null,null,null,null,[null,&quot;The process by which plants make their own food is called __________.&quot;]],&quot;i45&quot;,&quot;i46&quot;,&quot;i47&quot;,false,&quot;i48&quot;]"><div jscontroller="sWGJ4b" jsaction="EEvAHc:yfX9oc;" jsname="WsjYwc" class="geS5n"><div class="z12JJ"><div class="M4DNQ"><div id="i45" class="HoXoMd D1wxyf RjsPE" role="heading" aria-level="3"><span class="M7eMe">The process by which plants make their own food is called __________.</span></div><div class="gubaDc OIC90c RjsPE" id="i46"></div></div></div><div jscontroller="oCiKKc" jsaction="rcuQ6b:vZc4S;O22p3e:zjh6rb;b2trFe:eVidQc;sPvj8e:d3sQLd;AHmuwe:h06R8;" class="AgroKb"><div class="rFrNMe k3kHxc RdH0ib yqQS1 zKHdkd RDPZE" jscontroller="pxq3x" jsaction="clickonly:KjsqPd; focus:Jt1EX; blur:fpfTEe; input:Lg5SV" jsshadow jsname="YPqjbf" aria-disabled="true"><div class="aCsJod oJeWuf"><div class="aXBtI Wic03c"><div class="Xb9hP"><input type="text" class="whsOnd zHQkBf" jsname="YPqjbf" autocomplete="off" tabindex="0" aria-labelledby="i45 i48" aria-describedby="i46 i47" disabled aria-disabled="true" dir="auto" data-initial-dir="auto" data-initial-value=""/><div jsname="LwH6nd" class="ndJi5d snByac" aria-hidden="true">Your answer</div></div><div class="i9lrp mIZh1c"></div><div jsname="XmnwAc" class="OabDMe cXrdqd"></div></div></div><div class="LXRPh"><div jsname="ty6ygf" class="ovnfwe Is7Fhb"></div></div></div></div><div jsname="Rfh2Tc" class="SL4Sz" id="i47" role="alert"></div></div></div></div><div class="Qr7Oae" role="listitem"><div jsmodel="CP1oW" data-params="%.@.[383428290,&quot;A standard deck of cards has how many suits? (Select all correct options)&quot;,null,4,[[715543226,[[&quot;2&quot;,null,null,null,false],[&quot;3&quot;,null,null,null,false],[&quot;4&quot;,null,null,null,false],[&quot;5&quot;,null,null,null,false]],false,null,null,null,null,null,null,null,[]]],null,null,null,null,null,null,[null,&quot;A standard deck of cards has how many suits? (Select all correct options)&quot;]],&quot;i50&quot;,&quot;i51&quot;,&quot;i52&quot;,false,&quot;i53&quot;]"><div jscontroller="sWGJ4b" jsaction="EEvAHc:yfX9oc;" jsname="WsjYwc" class="geS5n"><div class="z12JJ"><div class="M4DNQ"><div id="i50" class="HoXoMd D1wxyf RjsPE" role="heading" aria-level="3"><span class="M7eMe">A standard deck of cards has how many suits? (Select all correct options)</span></div><div class="gubaDc OIC90c RjsPE" id="i51"></div></div></div><div jscontroller="sW52Ae" jsaction="rcuQ6b:vZc4S;O22p3e:zjh6rb;b2trFe:eVidQc;sPvj8e:sEDvJ;JIbuQc:d3sQLd(MPu53c);" class="Y6Myld"><input type="hidden" name="entry.715543226_sentinel" jsname="DTMEae"><div role="list" aria-labelledby="i50 i53" aria-describedby="i51 i52 i55" class=""><div class="eBFwI" role="listitem" jsaction="JIbuQc:aj0Jcf" jscontroller="lWjoT" jsname="MPu53c"><label for="i56" class="docssharedWizToggleLabeledContainer Yri8Nb RDPZE"><div class="bzfPab wFGF8"><div id="i56" class="uVccjd aiSeRd FXLARc wGQFbe BJHAP oLlshd RDPZE" jscontroller="EcW08c" jsaction="keydown:I481le;dyRcpb:dyRcpb;click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;" jsshadow jsname="FkQz1b" aria-label="2" aria-disabled="true" data-answer-value="2" role="checkbox" aria-checked="false"><div class="PkgjBf MbhUzd"></div><div class="uHMk6b fsHoPb"></div><div class="rq8Mwb"><div class="TCA6qd"><div class="MbUTNc oyD5Oc"></div><div class="Ii6cVc oyD5Oc"></div></div></div></div><div class="YEVVod"><div class="ulDsOb"><span dir="auto" class="aDTYNe snByac n5vBHf OIC90c">2</span></div></div></div></label></div><div class="eBFwI" role="listitem" jsaction="JIbuQc:aj0Jcf" jscontroller="lWjoT" jsname="MPu53c"><label for="i59" class="docssharedWizToggleLabeledContainer Yri8Nb RDPZE"><div class="bzfPab wFGF8"><div id="i59" class="uVccjd aiSeRd FXLARc wGQFbe BJHAP oLlshd RDPZE" jscontroller="EcW08c" jsaction="keydown:I481le;dyRcpb:dyRcpb;click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;" jsshadow jsname="FkQz1b" aria-label="3" aria-disabled="true" data-answer-value="3" role="checkbox" aria-checked="false"><div class="PkgjBf MbhUzd"></div><div class="uHMk6b fsHoPb"></div><div class="rq8Mwb"><div class="TCA6qd"><div class="MbUTNc oyD5Oc"></div><div class="Ii6cVc oyD5Oc"></div></div></div></div><div class="YEVVod"><div class="ulDsOb"><span dir="auto" class="aDTYNe snByac n5vBHf OIC90c">3</span></div></div></div></label></div><div class="eBFwI" role="listitem" jsaction="JIbuQc:aj0Jcf" jscontroller="lWjoT" jsname="MPu53c"><label for="i62" class="docssharedWizToggleLabeledContainer Yri8Nb RDPZE"><div class="bzfPab wFGF8"><div id="i62" class="uVccjd aiSeRd FXLARc wGQFbe BJHAP oLlshd RDPZE" jscontroller="EcW08c" jsaction="keydown:I481le;dyRcpb:dyRcpb;click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;" jsshadow jsname="FkQz1b" aria-label="4" aria-disabled="true" data-answer-value="4" role="checkbox" aria-checked="false"><div class="PkgjBf MbhUzd"></div><div class="uHMk6b fsHoPb"></div><div class="rq8Mwb"><div class="TCA6qd"><div class="MbUTNc oyD5Oc"></div><div class="Ii6cVc oyD5Oc"></div></div></div></div><div class="YEVVod"><div class="ulDsOb"><span dir="auto" class="aDTYNe snByac n5vBHf OIC90c">4</span></div></div></div></label></div><div class="eBFwI" role="listitem" jsaction="JIbuQc:aj0Jcf" jscontroller="lWjoT" jsname="MPu53c"><label for="i65" class="docssharedWizToggleLabeledContainer Yri8Nb RDPZE"><div class="bzfPab wFGF8"><div id="i65" class="uVccjd aiSeRd FXLARc wGQFbe BJHAP oLlshd RDPZE" jscontroller="EcW08c" jsaction="keydown:I481le;dyRcpb:dyRcpb;click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;" jsshadow jsname="FkQz1b" aria-label="5" aria-disabled="true" data-answer-value="5" role="checkbox" aria-checked="false"><div class="PkgjBf MbhUzd"></div><div class="uHMk6b fsHoPb"></div><div class="rq8Mwb"><div class="TCA6qd"><div class="MbUTNc oyD5Oc"></div><div class="Ii6cVc oyD5Oc"></div></div></div></div><div class="YEVVod"><div class="ulDsOb"><span dir="auto" class="aDTYNe snByac n5vBHf OIC90c">5</span></div></div></div></label></div></div><div id="i55" class="fKfAyc"></div></div><div jsname="Rfh2Tc" class="SL4Sz" id="i52" role="alert"></div></div></div></div></div><div class="ThHDze" jscontroller="lSvzH" jsaction="rcuQ6b:npT2md;JIbuQc:qV61Ff(X5DuWc),Gl574d(QR6bsb),V3upec(GeGHKb),HiUbje(M2UYVd),NPBnCf(OCpkoe); keydown:duASZc" data-shuffle-seed="3424541192946292657" data-should-execute-invisible-captcha-on-form-submit="false" data-is-receipt-checked="false"><div class="DE3NNc CekdCb"><div class="lRwqcd"><div role="button" class="uArJ5e UQuaGc Y5sE8d VkkpIf QvWxOd" jscontroller="VXdfxd" jsaction="click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;" jsshadow jsname="M2UYVd" aria-label="Submit" tabindex="0"><div class="Fvio9d MbhUzd" jsname="ksKsZd"></div><div class="e19J0b CeoRYc"></div><span jsslot class="l4V7wb Fxmcue"><span class="NPEfkd RveJvd snByac">Submit</span></span></div></div><div class="nYdzXd"><div role="button" class="uArJ5e UQuaGc kCyAyd l3F1ye TFBnVe" jscontroller="VXdfxd" jsaction="click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue;touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc(preventDefault=true); touchcancel:JMtRjd;focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;" jsshadow jsname="X5DuWc" tabindex="0"><div class="Fvio9d MbhUzd" jsname="ksKsZd"></div><div class="e19J0b CeoRYc"></div><span jsslot class="l4V7wb Fxmcue"><span class="NPEfkd RveJvd snByac">Clear form</span></span></div></div></div><div class="T2dutf">Never submit passwords through Google Forms.</div></div><input type="hidden" name="fvv" value="1"><input type="hidden" name="partialResponse" value="[null,null,&quot;3424541192946292657&quot;]"><input type="hidden" name="pageHistory" value="0"><input type="hidden" name="fbzx" value="3424541192946292657"><input type="hidden" name="submissionTimestamp" value="-1"></div></div></form><div><div class="v1CNvb sId0Ce">This content is neither created nor endorsed by Google. - <a href="https://policies.google.com/terms" target="_blank">Terms of Service</a> - <a href="https://policies.google.com/privacy" target="_blank">Privacy Policy</a><p>Does this form look suspicious? <a href="https://drive.google.com/abuse?id=AKkXjoy_fhua9rkW3G1eel9hF7GjxWRLB5HVNjblg5kzNUoG1nWUC60cwL8Z22AQvZfpLSua-ZKAi5RKPeA79uE:0&amp;docurl=https://docs.google.com/forms/d/e/1FAIpQLSeCZKKAKigsNpvGG6Dazdo9rBB4dbKNCBhDEp5x1Wv7aHZb-A/viewform?usp%3Ddialog" target="_blank">Report</a></p></div><div class="I3zNcc yF4pU"><a dir="auto" href="//www.google.com/forms/about/?utm_source=product&utm_medium=forms_logo&utm_campaign=forms"><img src="https://www.gstatic.com/images/branding/googlelogo/svg/googlelogo_dark_clr_74x24px.svg" alt="Google" height="24px" width="74px"/>&nbsp;<span class="sUXvCd">Forms</span></a></div></div></div><div jscontroller="KFVhZe" jsaction="rcuQ6b:npT2md;FzgWvd:PSl28c;iFFCZc:Y0y4c;" data-report-abuse-url="https://drive.google.com/abuse?id=AKkXjoy_fhua9rkW3G1eel9hF7GjxWRLB5HVNjblg5kzNUoG1nWUC60cwL8Z22AQvZfpLSua-ZKAi5RKPeA79uE:0&amp;docurl=https://docs.google.com/forms/d/e/1FAIpQLSeCZKKAKigsNpvGG6Dazdo9rBB4dbKNCBhDEp5x1Wv7aHZb-A/viewform?usp%3Ddialog" data-user-email-address="" data-user-display-name="" data-should-open-contact-owner-dialog="false" data-sign-in-url-for-contact-owner="https://accounts.google.com/Login?continue=https://docs.google.com/forms/d/e/1FAIpQLSeCZKKAKigsNpvGG6Dazdo9rBB4dbKNCBhDEp5x1Wv7aHZb-A/viewform?usp%3Ddialog%26socod%3Dtrue&amp;service=wise" class="wJFUN"><div class="VfPpkd-xl07Ob-XxIAqe-OWXEXe-oYxtQd" jscontroller="wg1P6b" jsaction="JIbuQc:aj0Jcf(WjL7X); keydown:uYT2Vb(WjL7X);xDliB:oNPcuf;SM8mFd:li9Srb;iFFCZc:NSsOUb;Rld2oe:NSsOUb" jsname="hTYMre" jsshadow data-is-menu-hoisted="true"><div jsname="WjL7X" jsslot><span data-is-tooltip-wrapper="true"><button class="VfPpkd-Bz112c-LgbsSe yHy1rc eT1oJ mN1ivc" jscontroller="soHxf" jsaction="click:cOuCgd; mousedown:UX7yZ; mouseup:lbsD7e; mouseenter:tfO1Yc; mouseleave:JywGue; touchstart:p6p2H; touchmove:FwuNnf; touchend:yfqBxc; touchcancel:JMtRjd; focus:AHmuwe; blur:O22p3e; contextmenu:mg9Pef;mlnRJb:fLiPzd;" data-idom-class="yHy1rc eT1oJ mN1ivc" jsname="LW2oUc" aria-label="help and feedback" data-tooltip-enabled="true" data-tooltip-id="tt-i68" aria-expanded="false" aria-haspopup="menu"><div jsname="s3Eaab" class="VfPpkd-Bz112c-Jh9lGc"></div><div class="VfPpkd-Bz112c-J1Ukfc-LhBDec"></div><div class="foqfDc gdyQ3c"><div class="Y0xAIe BNL9Bd NpcyEe-n5T17d-Bz112c-h9d3hd-i5vt6e-BvMwwf" aria-hidden="true">&nbsp;</div><div class="Y0xAIe ivmiLb NpcyEe-n5T17d-Bz112c-h9d3hd-i5vt6e-AhqUyc" aria-hidden="true">&nbsp;</div><div class="Y0xAIe tDDvMb NpcyEe-n5T17d-Bz112c-h9d3hd-i5vt6e" aria-hidden="true">&nbsp;</div></div></button><div class="EY8ABd-OWXEXe-TAWMXe" id="tt-i68" role="tooltip" aria-hidden="true">Help and feedback</div></span></div><div jsname="U0exHf" jsslot> <div class="VfPpkd-xl07Ob-XxIAqe VfPpkd-xl07Ob q6oraf P77izf" jscontroller="ywOR5c" jsaction="keydown:I481le;JIbuQc:j697N(rymPhb);XVaHYd:c9v4Fb(rymPhb);Oyo5M:b5fzT(rymPhb);DimkCe:TQSy7b(rymPhb);m0LGSd:fAWgXe(rymPhb);WAiFGd:kVJJuc(rymPhb);" data-is-hoisted="true" data-should-flip-corner-horizontally="false" data-stay-in-viewport="false" data-menu-uid="ucj-1"><ul class="VfPpkd-StrnGf-rymPhb DMZ54e" jsname="rymPhb" jscontroller="PHUIyb" jsaction="mouseleave:JywGue; touchcancel:JMtRjd; focus:AHmuwe; blur:O22p3e; keydown:I481le;" role="menu" tabindex="-1" aria-label="Help and feedback" data-disable-idom='true'><span class="VfPpkd-BFbNVe-bF1uUb NZp2ef" aria-hidden="true"></span><li class=" VfPpkd-StrnGf-rymPhb-ibnC6b" jsaction=" keydown:RDtNu; keyup:JdS61c; click:o6ZaF; mousedown:teoBgf; mouseup:NZPHBc; mouseleave:xq3APb; touchstart:jJiBRc; touchmove:kZeBdd; touchend:VfAz8;focusin:MeMJlc; focusout:bkTmIf;mouseenter:SKyDAe; change:uOgbud;" role="menuitem" jsname="yKLRBb" tabindex="-1"><span class="VfPpkd-StrnGf-rymPhb-pZXsl"></span><span class="VfPpkd-StrnGf-rymPhb-Zmlebc-LhBDec"></span><span class=" VfPpkd-StrnGf-rymPhb-f7MjDc"><div class="foqfDc gdyQ3c"><div class="Y0xAIe BNL9Bd NpcyEe-n5T17d-Bz112c-xvr5H-BvMwwf" aria-hidden="true">&nbsp;</div><div class="Y0xAIe ivmiLb NpcyEe-n5T17d-Bz112c-xvr5H-AhqUyc" aria-hidden="true">&nbsp;</div><div class="Y0xAIe tDDvMb NpcyEe-n5T17d-Bz112c-xvr5H" aria-hidden="true">&nbsp;</div></div></span><span jsname="K4r5Ff" class="VfPpkd-StrnGf-rymPhb-b9t22c">Contact form owner</span></li><li class=" VfPpkd-StrnGf-rymPhb-clz4Ic" role="separator"></li><li class=" VfPpkd-StrnGf-rymPhb-ibnC6b" jsaction=" keydown:RDtNu; keyup:JdS61c; click:o6ZaF; mousedown:teoBgf; mouseup:NZPHBc; mouseleave:xq3APb; touchstart:jJiBRc; touchmove:kZeBdd; touchend:VfAz8;focusin:MeMJlc; focusout:bkTmIf;mouseenter:SKyDAe; change:uOgbud;" role="menuitem" jsname="QE0zbc" tabindex="-1"><span class="VfPpkd-StrnGf-rymPhb-pZXsl"></span><span class="VfPpkd-StrnGf-rymPhb-Zmlebc-LhBDec"></span><span class=" VfPpkd-StrnGf-rymPhb-f7MjDc"><div class="foqfDc gdyQ3c"><div class="Y0xAIe BNL9Bd NpcyEe-n5T17d-Bz112c-N7Eqid-XkWAb-BvMwwf" aria-hidden="true">&nbsp;</div><div class="Y0xAIe ivmiLb NpcyEe-n5T17d-Bz112c-N7Eqid-XkWAb-AhqUyc" aria-hidden="true">&nbsp;</div><div class="Y0xAIe tDDvMb NpcyEe-n5T17d-Bz112c-N7Eqid-XkWAb" aria-hidden="true">&nbsp;</div></div></span><span jsname="K4r5Ff" class="VfPpkd-StrnGf-rymPhb-b9t22c">Help Forms improve</span></li><li class=" VfPpkd-StrnGf-rymPhb-ibnC6b" jsaction=" keydown:RDtNu; keyup:JdS61c; click:o6ZaF; mousedown:teoBgf; mouseup:NZPHBc; mouseleave:xq3APb; touchstart:jJiBRc; touchmove:kZeBdd; touchend:VfAz8;focusin:MeMJlc; focusout:bkTmIf;mouseenter:SKyDAe; change:uOgbud;" role="menuitem" jsname="DITn2" tabindex="-1"><span class="VfPpkd-StrnGf-rymPhb-pZXsl"></span><span class="VfPpkd-StrnGf-rymPhb-Zmlebc-LhBDec"></span><span class=" VfPpkd-StrnGf-rymPhb-f7MjDc"><div class="foqfDc gdyQ3c"><div class="Y0xAIe BNL9Bd NpcyEe-n5T17d-Bz112c-uQPRwe-BvMwwf" aria-hidden="true">&nbsp;</div><div class="Y0xAIe ivmiLb NpcyEe-n5T17d-Bz112c-uQPRwe-AhqUyc" aria-hidden="true">&nbsp;</div><div class="Y0xAIe tDDvMb NpcyEe-n5T17d-Bz112c-uQPRwe" aria-hidden="true">&nbsp;</div></div></span><span jsname="K4r5Ff" class="VfPpkd-StrnGf-rymPhb-b9t22c">Report</span></li></ul></div></div></div></div></div><script nonce="sn9WhqAq5lIcj2A2Adc1wA">var FB_PUBLIC_LOAD_DATA_ = [null,["Test your basic addition and general knowledge.",[[314895045,"What is 5 + 7?",null,0,[[612189310,null,0]],null,null,null,null,null,null,[null,"What is 5 + 7?"]],[1403132839,"Calculate 15 + 8.",null,0,[[159990158,null,0]],null,null,null,null,null,null,[null,"Calculate 15 + 8."]],[1307778553,"Which planet is known as the 'Red Planet'?",null,2,[[1414179930,[["Venus",null,null,null,0],["Mars",null,null,null,0],["Jupiter",null,null,null,0],["Saturn",null,null,null,0]],0]],null,null,null,null,null,null,[null,"Which planet is known as the 'Red Planet'?"]],[1004051401,"What is the capital city of France?",null,2,[[813508719,[["London",null,null,null,0],["Berlin",null,null,null,0],["Rome",null,null,null,0],["Paris",null,null,null,0]],0,null,null,null,null,null,0]],null,null,null,null,null,null,[null,"What is the capital city of France?"]],[1619605659,"The process by which plants make their own food is called __________.",null,0,[[522759996,null,0]],null,null,null,null,null,null,[null,"The process by which plants make their own food is called __________."]],[383428290,"A standard deck of cards has how many suits? (Select all correct options)",null,4,[[715543226,[["2",null,null,null,0],["3",null,null,null,0],["4",null,null,null,0],["5",null,null,null,0]],0]],null,null,null,null,null,null,[null,"A standard deck of cards has how many suits? (Select all correct options)"]]],null,null,null,null,null,null,"Basic Knowledge and Math Quiz",73,[null,null,null,2,null,null,1],null,null,null,null,[2],null,null,null,null,null,null,null,null,[null,"Test your basic addition and general knowledge."],[null,"Basic Knowledge and Math Quiz"]],"/forms","Basic Knowledge and Math Quiz",null,null,null,"",null,0,0,null,"",0,"e/1FAIpQLSeCZKKAKigsNpvGG6Dazdo9rBB4dbKNCBhDEp5x1Wv7aHZb-A",0,"[]",0,0,1];</script><script id="base-js" src="https://www.gstatic.com/_/freebird/_/js/k=freebird.v.en_GB.5NpfnOghiNY.O/am=AAAG/d=1/rs=AMjVe6i2HJieY6fmo--8ySB-lCe3i_D0rQ/m=viewer_base" nonce="sn9WhqAq5lIcj2A2Adc1wA"></script></body></html>
 
 
requirements.txt CHANGED
@@ -1 +1,8 @@
1
- beautifulsoup4
 
 
 
 
 
 
 
 
1
+ fastapi
2
+ uvicorn
3
+ httpx
4
+ playwright
5
+ pandas
6
+ numpy
7
+ pdfplumber
8
+ python-multipart
server.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI, HTTPException, Request
2
+ from fastapi.exceptions import RequestValidationError
3
+ from fastapi.responses import JSONResponse
4
+ from pydantic import BaseModel, EmailStr
5
+ import asyncio
6
+ from solver.quiz_solver import solve_quiz
7
+
8
+ SECRET = "supersecret123"
9
+
10
+ app = FastAPI()
11
+
12
+
13
+ class Input(BaseModel):
14
+ email: EmailStr
15
+ secret: str
16
+ url: str
17
+
18
+
19
+ @app.exception_handler(RequestValidationError)
20
+ async def validation_exception_handler(request: Request, exc: RequestValidationError):
21
+ return JSONResponse(status_code=400, content={"detail": "Invalid JSON or missing fields"})
22
+
23
+
24
+ @app.post("/")
25
+ async def root(payload: Input):
26
+ if payload.secret != SECRET:
27
+ raise HTTPException(status_code=403, detail="Invalid secret")
28
+ asyncio.create_task(solve_quiz(payload.email, payload.secret, payload.url))
29
+ return {"status": "received", "message": "Solver running"}
solver/__init__.py ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ """Solver package for TDS-style quiz solver."""
2
+
3
+ __all__ = ["browser", "quiz_solver", "utils"]
solver/browser.py ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from playwright.async_api import async_playwright
2
+
3
+ async def open_browser():
4
+ """Launch Playwright Chromium browser and return (playwright, browser, context, page).
5
+
6
+ The caller is responsible for closing the returned objects (context.close(), browser.close(), playwright.stop()).
7
+ """
8
+ p = await async_playwright().start()
9
+ browser = await p.chromium.launch(headless=True)
10
+ context = await browser.new_context(accept_downloads=True)
11
+ page = await context.new_page()
12
+ return p, browser, context, page
solver/quiz_solver.py ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import asyncio
2
+ import logging
3
+ import httpx
4
+ from typing import Optional
5
+
6
+ from .browser import open_browser
7
+ from .utils import extract_base64, extract_submit_url
8
+
9
+
10
+ async def compute_answer(page) -> str:
11
+ """Placeholder answer computation. Replace with real logic.
12
+
13
+ For now returns a dummy value.
14
+ """
15
+ # Example: evaluate something on the page if needed
16
+ try:
17
+ title = await page.title()
18
+ except Exception:
19
+ title = ""
20
+ return "42"
21
+
22
+
23
+ async def solve_quiz(email: str, secret: str, start_url: str) -> None:
24
+ """Main solve loop: navigates pages, extracts question/base64, computes answer, submits, follows next URL."""
25
+ logging.info("Solver started for %s", email)
26
+ p, browser, context, page = await open_browser()
27
+ try:
28
+ url: Optional[str] = start_url
29
+ async with httpx.AsyncClient() as client:
30
+ while url:
31
+ logging.info("Loading page: %s", url)
32
+ try:
33
+ await page.goto(url, wait_until="networkidle")
34
+ except Exception:
35
+ logging.exception("Failed to load page %s", url)
36
+ break
37
+ await asyncio.sleep(0.5)
38
+ html = await page.content()
39
+ # extract base64 or question
40
+ b64 = extract_base64(html)
41
+ if b64:
42
+ logging.info("Found base64 block (len=%d)", len(b64))
43
+ try:
44
+ submit_url = extract_submit_url(html)
45
+ except ValueError:
46
+ logging.exception("Submit URL not found; stopping")
47
+ break
48
+ answer = await compute_answer(page)
49
+ payload = {"email": email, "answer": answer}
50
+ logging.info("Submitting answer to %s", submit_url)
51
+ try:
52
+ resp = await client.post(submit_url, json=payload, timeout=30.0)
53
+ except Exception:
54
+ logging.exception("Submission failed")
55
+ break
56
+ try:
57
+ data = resp.json()
58
+ except Exception:
59
+ logging.debug("Non-JSON response received; stopping")
60
+ break
61
+ next_url = data.get("url")
62
+ if not next_url:
63
+ logging.info("No next url in response; finishing")
64
+ break
65
+ url = next_url
66
+ await asyncio.sleep(1)
67
+ finally:
68
+ try:
69
+ await context.close()
70
+ except Exception:
71
+ pass
72
+ try:
73
+ await browser.close()
74
+ except Exception:
75
+ pass
76
+ try:
77
+ await p.stop()
78
+ except Exception:
79
+ pass
80
+ logging.info("Solver finished for %s", email)
solver/utils.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import re
2
+ from typing import Optional
3
+
4
+
5
+ def extract_base64(html: str) -> Optional[str]:
6
+ """Try to find a base64 data block in the HTML and return the encoded string."""
7
+ m = re.search(r"data:[^;]+;base64,([A-Za-z0-9+/=]+)", html)
8
+ if m:
9
+ return m.group(1)
10
+ # fallback: look for long base64-like sequences
11
+ m2 = re.search(r"([A-Za-z0-9+/=]{100,})", html)
12
+ return m2.group(1) if m2 else None
13
+
14
+
15
+ def extract_submit_url(html: str) -> str:
16
+ """Extract a submit URL from form action or JSON-like fields in HTML.
17
+
18
+ Raises ValueError if not found.
19
+ """
20
+ m = re.search(r"action=[\"'](https?://[^\"']+)[\"']", html)
21
+ if m:
22
+ return m.group(1)
23
+ m2 = re.search(r'"submit_url"\s*:\s*"(https?://[^"]+)"', html)
24
+ if m2:
25
+ return m2.group(1)
26
+ raise ValueError("Submit URL not found on page")
src/main.py DELETED
@@ -1,63 +0,0 @@
1
- # Main entry point for DoMyDA quiz solver
2
- import sys
3
- import os
4
- import argparse
5
- sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '../helpers')))
6
- from helper_functions import (
7
- parse_quiz_html,
8
- list_received_files,
9
- find_files_matching_url,
10
- download_quiz_files,
11
- extract_likely_questions,
12
- find_answers_with_gemini,
13
- )
14
-
15
-
16
- def main():
17
- p = argparse.ArgumentParser(description='DoMyDA quiz processor')
18
- p.add_argument('--url', '-u', help='The quiz URL or identifier to match files', required=False)
19
- p.add_argument('--dir', '-d', help='Path to recieved_data directory', default=os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'recieved_data')))
20
- args = p.parse_args()
21
-
22
- received_dir = args.dir
23
- url = args.url
24
-
25
- print(f"Scanning received directory: {received_dir}")
26
- files = list_received_files(received_dir)
27
- if not files:
28
- print("No files found in recieved_data.")
29
- return
30
-
31
- if url:
32
- matches = find_files_matching_url(received_dir, url)
33
- if not matches:
34
- print(f"No files matched the URL: {url}")
35
- print("Attempting to download from URL...")
36
- downloaded = download_quiz_files(url, received_dir)
37
- if not downloaded:
38
- print("Download failed or no files saved.")
39
- return
40
- matches = downloaded
41
- else:
42
- # If no url provided, process all html/js/json/text files
43
- matches = [f for f in files if os.path.splitext(f)[1].lower() in ('.html', '.htm', '.js', '.json', '.txt')]
44
-
45
- # Process each matched file
46
- for path in matches:
47
- print('\n' + '='*60)
48
- print(f"Processing file: {path}")
49
- try:
50
- questions = extract_likely_questions(path)
51
- if questions:
52
- print("Questions and Answers:")
53
- answers = find_answers_with_gemini(questions)
54
- for q, a in zip(questions, answers):
55
- print(f"Q: {q}\nA: {a}\n")
56
- else:
57
- print("No likely questions found.")
58
- except Exception as e:
59
- print(f"Error processing {path}: {e}")
60
-
61
-
62
- if __name__ == '__main__':
63
- main()