khoj 1.17.1.dev222__py3-none-any.whl → 1.20.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. khoj/routers/web_client.py +29 -130
  2. {khoj-1.17.1.dev222.dist-info → khoj-1.20.0.dist-info}/METADATA +1 -1
  3. {khoj-1.17.1.dev222.dist-info → khoj-1.20.0.dist-info}/RECORD +6 -52
  4. khoj/interface/web/404.html +0 -56
  5. khoj/interface/web/agent.html +0 -312
  6. khoj/interface/web/agents.html +0 -276
  7. khoj/interface/web/assets/icons/cancel.svg +0 -3
  8. khoj/interface/web/assets/icons/collapse.svg +0 -17
  9. khoj/interface/web/assets/icons/computer.png +0 -0
  10. khoj/interface/web/assets/icons/confirm-icon.svg +0 -1
  11. khoj/interface/web/assets/icons/copy-button-success.svg +0 -6
  12. khoj/interface/web/assets/icons/copy-button.svg +0 -5
  13. khoj/interface/web/assets/icons/credit-card.png +0 -0
  14. khoj/interface/web/assets/icons/delete.svg +0 -26
  15. khoj/interface/web/assets/icons/docx.svg +0 -7
  16. khoj/interface/web/assets/icons/edit.svg +0 -4
  17. khoj/interface/web/assets/icons/favicon.icns +0 -0
  18. khoj/interface/web/assets/icons/key.svg +0 -4
  19. khoj/interface/web/assets/icons/markdown.svg +0 -1
  20. khoj/interface/web/assets/icons/new.svg +0 -23
  21. khoj/interface/web/assets/icons/notion.svg +0 -4
  22. khoj/interface/web/assets/icons/openai-logomark.svg +0 -1
  23. khoj/interface/web/assets/icons/org.svg +0 -1
  24. khoj/interface/web/assets/icons/pdf.svg +0 -23
  25. khoj/interface/web/assets/icons/pencil-edit.svg +0 -5
  26. khoj/interface/web/assets/icons/plaintext.svg +0 -1
  27. khoj/interface/web/assets/icons/question-mark-icon.svg +0 -1
  28. khoj/interface/web/assets/icons/send.svg +0 -1
  29. khoj/interface/web/assets/icons/share.svg +0 -8
  30. khoj/interface/web/assets/icons/speaker.svg +0 -4
  31. khoj/interface/web/assets/icons/stop-solid.svg +0 -37
  32. khoj/interface/web/assets/icons/thumbs-down-svgrepo-com.svg +0 -6
  33. khoj/interface/web/assets/icons/thumbs-up-svgrepo-com.svg +0 -6
  34. khoj/interface/web/assets/icons/user-silhouette.svg +0 -4
  35. khoj/interface/web/assets/icons/voice.svg +0 -8
  36. khoj/interface/web/assets/icons/web.svg +0 -2
  37. khoj/interface/web/assets/icons/whatsapp.svg +0 -17
  38. khoj/interface/web/assets/markdown-it.min.js +0 -8476
  39. khoj/interface/web/assets/natural-cron.min.js +0 -1
  40. khoj/interface/web/assets/org.min.js +0 -1823
  41. khoj/interface/web/assets/pico.min.css +0 -5
  42. khoj/interface/web/assets/purify.min.js +0 -3
  43. khoj/interface/web/chat.html +0 -3436
  44. khoj/interface/web/config_automation.html +0 -1103
  45. khoj/interface/web/content_source_computer_input.html +0 -139
  46. khoj/interface/web/content_source_notion_input.html +0 -94
  47. khoj/interface/web/public_conversation.html +0 -2006
  48. khoj/interface/web/search.html +0 -470
  49. khoj/interface/web/settings.html +0 -1011
  50. {khoj-1.17.1.dev222.dist-info → khoj-1.20.0.dist-info}/WHEEL +0 -0
  51. {khoj-1.17.1.dev222.dist-info → khoj-1.20.0.dist-info}/entry_points.txt +0 -0
  52. {khoj-1.17.1.dev222.dist-info → khoj-1.20.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,312 +0,0 @@
1
- <html>
2
- <head>
3
- <meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1.0 maximum-scale=1.0">
5
- <title>Khoj - Agents</title>
6
-
7
- <link rel="icon" type="image/png" sizes="128x128" href="/static/assets/icons/favicon-128x128.png?v={{ khoj_version }}">
8
- <link rel="manifest" href="/static/khoj.webmanifest?v={{ khoj_version }}">
9
- <link rel="stylesheet" href="/static/assets/khoj.css?v={{ khoj_version }}">
10
- </head>
11
- <script type="text/javascript" src="/static/assets/utils.js?v={{ khoj_version }}"></script>
12
- <body>
13
- <!--Add Header Logo and Nav Pane-->
14
- {% import 'utils.html' as utils %}
15
- {{ utils.heading_pane(user_photo, username, is_active, has_documents) }}
16
- <div id="agent-metadata-wrapper">
17
- <div id="agent-metadata">
18
- <div id="agent-avatar-wrapper">
19
- <div id="agent-settings-header">Agent Settings</div>
20
- </div>
21
- <div class="divider"></div>
22
- <div id="agent-data-wrapper">
23
- <div id="agent-avatar-wrapper">
24
- <img id="agent-avatar" src="{{ agent.avatar }}" alt="Agent Avatar">
25
- <input type="text" id="agent-name-input" value="{{ agent.name }}" {% if agent.creator_not_self %} disabled {% endif %}>
26
- </div>
27
- <div id="agent-instructions">
28
- Personality
29
- <button id="toggle-agent-tuning" onclick="toggleAgentTuning()">↓</button>
30
- </div>
31
- <div id="agent-tuning">
32
- <p>{{ agent.personality }}</p>
33
- </div>
34
- <div class="divider"></div>
35
- <div id="agent-public">
36
- <p>Public</p>
37
- <label class="switch">
38
- <input type="checkbox" {% if agent.public %} checked {% endif %} {% if agent.creator_not_self %} disabled {% endif %}>
39
- <span class="slider round"></span>
40
- </label>
41
- </div>
42
- <p id="agent-creator" style="display: none;">Creator: {{ agent.creator }}</p>
43
- <p id="agent-managed-by-admin" style="display: none;">ⓘ This agent is managed by the administrator</p>
44
- <button onclick="openChat('{{ agent.slug }}')">Chat</button>
45
- </div>
46
- </div>
47
- </div>
48
- <div id="footer">
49
- <a href="/agents">All Agents</a>
50
- </div>
51
- </body>
52
- <style>
53
- body {
54
- background-color: var(--background-color);
55
- display: grid;
56
- color: var(--main-text-color);
57
- text-align: center;
58
- font-family: var(--font-family);
59
- font-size: medium;
60
- font-weight: 300;
61
- line-height: 1.5em;
62
- height: 100vh;
63
- margin: 0;
64
- grid-template-rows: auto 1fr auto;
65
- }
66
-
67
- div#agent-settings-header {
68
- font-size: 24px;
69
- font-weight: bold;
70
- margin-top: auto;
71
- margin-bottom: auto;
72
- }
73
-
74
- div.divider {
75
- margin-top: 10px;
76
- margin-bottom: 10px;
77
- border-bottom: 2px solid var(--main-text-color);
78
- }
79
-
80
- div#footer {
81
- width: auto;
82
- padding: 10px;
83
- background-color: var(--background-color);
84
- border-top: 1px solid var(--main-text-color);
85
- text-align: left;
86
- margin-top: 12px;
87
- margin-bottom: 12px;
88
- }
89
-
90
- div#footer a {
91
- font-size: 18px;
92
- font-weight: bold;
93
- color: var(--primary-color);
94
- }
95
-
96
- div#agent-data-wrapper button {
97
- font-size: 24px;
98
- font-weight: bold;
99
- padding: 10px;
100
- border: none;
101
- border-radius: 8px;
102
- background-color: var(--summer-sun);
103
- font: inherit;
104
- color: var(--main-text-color);
105
- cursor: pointer;
106
- transition: background-color 0.3s;
107
- }
108
-
109
- div#agent-data-wrapper button:hover {
110
- background-color: var(--primary-hover);
111
- box-shadow: 0 0 10px var(--primary-hover);
112
- }
113
-
114
- input#agent-name-input {
115
- font-size: 24px;
116
- font-weight: bold;
117
- text-align: left;
118
- background-color: #EEEEEE;
119
- color: var(--main-text-color);
120
- border-radius: 8px;
121
- padding: 8px;
122
- border: none;
123
- }
124
-
125
- div#agent-instructions {
126
- font-size: 24px;
127
- font-weight: bold;
128
- }
129
-
130
- #agent-metadata {
131
- padding: 10px;
132
- background-color: #f8f9fa;
133
- border-radius: 5px;
134
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
135
- text-align: left;
136
- padding: 20px;
137
- }
138
-
139
- #agent-avatar-wrapper {
140
- margin-right: 10px;
141
- display: flex;
142
- flex-direction: row;
143
- }
144
-
145
- #agent-avatar {
146
- width: 50px;
147
- height: 50px;
148
- border-radius: 50%;
149
- object-fit: cover;
150
- margin-right: 10px;
151
- }
152
-
153
- #agent-name {
154
- font-size: 18px;
155
- font-weight: bold;
156
- color: #333;
157
- }
158
-
159
- #agent-tuning, #agent-public, #agent-creator, #agent-managed-by-admin {
160
- font-size: 14px;
161
- color: #666;
162
- }
163
-
164
- #agent-tuning p {
165
- white-space: pre-line;
166
- }
167
-
168
- #agent-metadata p {
169
- margin: 0;
170
- padding: 0;
171
- }
172
-
173
- #agent-public {
174
- display: grid;
175
- grid-template-columns: auto 1fr;
176
- grid-gap: 12px;
177
- }
178
-
179
- .switch {
180
- position: relative;
181
- display: inline-block;
182
- width: 50px;
183
- height: 24px;
184
- }
185
-
186
- .switch input {
187
- opacity: 0;
188
- width: 0;
189
- height: 0;
190
- }
191
-
192
- .slider {
193
- position: absolute;
194
- cursor: pointer;
195
- top: 0;
196
- left: 0;
197
- right: 0;
198
- bottom: 0;
199
- background-color: #ccc;
200
- -webkit-transition: .4s;
201
- transition: .4s;
202
- }
203
-
204
- .slider:before {
205
- position: absolute;
206
- content: "";
207
- height: 16px;
208
- width: 16px;
209
- left: 4px;
210
- bottom: 4px;
211
- background-color: white;
212
- -webkit-transition: .4s;
213
- transition: .4s;
214
- }
215
-
216
- input:checked + .slider {
217
- background-color: var(--primary-hover);
218
- }
219
-
220
- input:focus + .slider {
221
- box-shadow: 0 0 1px var(--primary-hover);
222
- }
223
-
224
- input:checked + .slider:before {
225
- -webkit-transform: translateX(26px);
226
- -ms-transform: translateX(26px);
227
- transform: translateX(26px);
228
- }
229
-
230
- div#agent-data-wrapper {
231
- display: grid;
232
- grid-template-columns: 1fr;
233
- grid-gap: 10px;
234
- text-align: left;
235
- }
236
-
237
- /* Rounded sliders */
238
- .slider.round {
239
- border-radius: 34px;
240
- }
241
-
242
- .slider.round:before {
243
- border-radius: 50%;
244
- }
245
-
246
- div#agent-tuning {
247
- max-height: 1000px;
248
- overflow: hidden;
249
- transition: max-height 0.3s ease-in-out;
250
- }
251
-
252
- button#toggle-agent-tuning {
253
- background-color: var(--primary) !important;
254
- font-size: small !important;
255
- }
256
-
257
- @media only screen and (min-width: 700px) {
258
- body {
259
- grid-template-columns: auto min(70vw, 100%) auto;
260
- }
261
- body > * {
262
- grid-column: 2;
263
- }
264
- #agent-metadata-wrapper {
265
- display: block;
266
- width: min(30vw, 100%);
267
- margin-left: auto;
268
- margin-right: auto;
269
- }
270
- }
271
- </style>
272
- <script>
273
- async function openChat(agentSlug) {
274
- let response = await fetch(`/api/chat/sessions?agent_slug=${agentSlug}`, { method: "POST" });
275
- let data = await response.json();
276
- if (response.status == 200) {
277
- window.location.href = "/";
278
- } else {
279
- alert("Failed to start chat session");
280
- }
281
- }
282
-
283
- function toggleAgentTuning() {
284
- var agentTuning = document.getElementById('agent-tuning');
285
- var toggleButton = document.getElementById('toggle-agent-tuning');
286
- if (agentTuning.style.maxHeight === '0px') {
287
- toggleButton.textContent = '↓';
288
- agentTuning.style.maxHeight = '500px';
289
- } else {
290
- toggleButton.textContent = '↑';
291
- agentTuning.style.maxHeight = '0px';
292
- }
293
- }
294
-
295
- // Show the agent-managed-by-admin paragraph if the agent is managed by the admin
296
- // compare agent.managed_by_admin as a lowercase string to "true"
297
- let isManagedByAdmin = "{{ agent.managed_by_admin }}".toLowerCase() === "true";
298
- if (isManagedByAdmin) {
299
- document.getElementById("agent-managed-by-admin").style.display = "block";
300
- } else {
301
- document.getElementById("agent-creator").style.display = "block";
302
- }
303
-
304
- // Resize the input field based on the length of the value
305
- let input = document.getElementById("agent-name-input");
306
- input.addEventListener("input", resizeInput);
307
- resizeInput.call(input);
308
- function resizeInput() {
309
- this.style.width = this.value.length + 1 + "ch";
310
- }
311
- </script>
312
- </html>
@@ -1,276 +0,0 @@
1
- <html>
2
- <head>
3
- <meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1.0 maximum-scale=1.0">
5
- <title>Khoj - Agents</title>
6
-
7
- <link rel="icon" type="image/png" sizes="128x128" href="/static/assets/icons/favicon-128x128.png?v={{ khoj_version }}">
8
- <link rel="manifest" href="/static/khoj.webmanifest?v={{ khoj_version }}">
9
- <link rel="stylesheet" href="/static/assets/khoj.css?v={{ khoj_version }}">
10
- </head>
11
- <script type="text/javascript" src="/static/assets/utils.js?v={{ khoj_version }}"></script>
12
- <body>
13
- <!--Add Header Logo and Nav Pane-->
14
- {% import 'utils.html' as utils %}
15
- {{ utils.heading_pane(user_photo, username, is_active, has_documents) }}
16
-
17
- <div id="agents-list">
18
- <div id="agents-header">
19
- <h1 id="agents-list-title">Chat with an Agent</h1>
20
- <!-- <div id="create-agent">
21
- <a href="/agents/create"><svg class="new-convo-button" viewBox="0 0 35 35" fill="#000000" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
22
- <path d="M16 0c-8.836 0-16 7.163-16 16s7.163 16 16 16c8.837 0 16-7.163 16-16s-7.163-16-16-16zM16 30.032c-7.72 0-14-6.312-14-14.032s6.28-14 14-14 14 6.28 14 14-6.28 14.032-14 14.032zM23 15h-6v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1v6h-6c-0.552 0-1 0.448-1 1s0.448 1 1 1h6v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6h6c0.552 0 1-0.448 1-1s-0.448-1-1-1z"></path>
23
- </svg></a>
24
- </div> -->
25
- </div>
26
- <div id="agents">
27
- {% for agent in agents %}
28
- <div class="agent">
29
- <a href="/agent/{{ agent.slug }}">
30
- <div class="agent-avatar">
31
- <img src="{{ agent.avatar }}" alt="{{ agent.name }}">
32
- </div>
33
- </a>
34
- <div class="agent-info">
35
- <a href="/agent/{{ agent.slug }}">
36
- <h2>{{ agent.name }}</h2>
37
- </a>
38
- </div>
39
- <div class="agent-info">
40
- <button onclick="openChat('{{ agent.slug }}')">
41
- <img class="send-icon" src="/static/assets/icons/send.svg" alt="Chat">
42
- </button>
43
- </div>
44
- <div class="agent-personality">
45
- <a href="/agent/{{ agent.slug }}">
46
- <p>
47
- {{ agent.personality }}
48
- </p>
49
- </a>
50
- </div>
51
- </div>
52
- {% endfor %}
53
- </div>
54
- </div>
55
- <div id="footer">
56
- <a href="/">Back to Chat</a>
57
- </div>
58
- </body>
59
- <script>
60
- document.getElementById("agents-nav").classList.add("khoj-nav-selected");
61
- </script>
62
- <style>
63
- body {
64
- background-color: var(--background-color);
65
- display: grid;
66
- color: var(--main-text-color);
67
- text-align: center;
68
- font-family: var(--font-family);
69
- font-size: medium;
70
- font-weight: 300;
71
- line-height: 1.5em;
72
- height: 100vh;
73
- margin: 0;
74
- grid-template-rows: auto 1fr auto;
75
- }
76
-
77
- h1#agents-list-title {
78
- margin: 0;
79
- }
80
-
81
- .agent-personality p {
82
- white-space: inherit;
83
- overflow: hidden;
84
- height: 100px;
85
- }
86
-
87
- div.agent-personality {
88
- text-align: left;
89
- grid-column: span 3;
90
- }
91
-
92
- div.agent-info {
93
- font-size: medium;
94
- }
95
-
96
- div.agent-info a,
97
- div.agent-info h2 {
98
- margin: 0;
99
- }
100
-
101
- div.agent img {
102
- width: 78px;
103
- height: 78px;
104
- border-radius: 50%;
105
- object-fit: cover;
106
- }
107
-
108
- div.agent a {
109
- text-decoration: none;
110
- color: var(--main-text-color);
111
- }
112
-
113
- div#agents-header {
114
- display: grid;
115
- grid-template-columns: auto;
116
- }
117
-
118
- div#agents-header a,
119
- div.agent-info button {
120
- font-size: 24px;
121
- font-weight: bold;
122
- padding: 4px;
123
- border: none;
124
- border-radius: 8px;
125
- background-color: var(--summer-sun);
126
- font: inherit;
127
- color: var(--main-text-color);
128
- cursor: pointer;
129
- transition: background-color 0.3s;
130
- }
131
-
132
- div#agents-header a:hover,
133
- div.agent-info button:hover {
134
- background-color: var(--primary-hover);
135
- box-shadow: 0 0 10px var(--primary-hover);
136
- }
137
-
138
-
139
- div#footer {
140
- width: auto;
141
- padding: 10px;
142
- background-color: var(--background-color);
143
- border-top: 1px solid var(--main-text-color);
144
- text-align: left;
145
- margin-top: 12px;
146
- margin-bottom: 12px;
147
- }
148
-
149
- div#footer a {
150
- font-size: 18px;
151
- font-weight: bold;
152
- color: var(--primary-color);
153
- }
154
-
155
- div.agent {
156
- display: grid;
157
- grid-template-columns: auto 1fr auto;
158
- gap: 20px;
159
- align-items: center;
160
- padding: 20px;
161
- box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
162
- border-radius: 8px;
163
- background: linear-gradient(18.48deg,rgba(252, 213, 87, 0.25) 2.76%,rgba(197, 0, 0, 0) 17.23%),linear-gradient(200.6deg,rgba(244, 229, 68, 0.25) 4.13%,rgba(230, 26, 26, 0) 20.54%);
164
- }
165
-
166
- div.agent-info {
167
- text-align: left;
168
- }
169
-
170
- div#agents {
171
- display: grid;
172
- gap: 20px;
173
- padding: 20px;
174
- width: 75%;
175
- margin-right: auto;
176
- grid-auto-flow: row;
177
- grid-template-columns: 1fr 1fr;
178
- margin-left: auto;
179
- }
180
-
181
- svg.new-convo-button {
182
- width: 20px;
183
- margin-left: 5px;
184
- }
185
-
186
- img.send-icon {
187
- width: 50px !important;
188
- height: 50px !important;
189
- }
190
-
191
- @media only screen and (min-width: 700px) {
192
- body {
193
- grid-template-columns: auto min(70vw, 100%) auto;
194
- }
195
- body > * {
196
- grid-column: 2;
197
- }
198
- }
199
-
200
- @media only screen and (max-width: 700px) {
201
- div#agents {
202
- width: 90%;
203
- margin-right: auto;
204
- margin-left: auto;
205
- grid-template-columns: 1fr;
206
- }
207
-
208
- }
209
- .loader {
210
- width: 48px;
211
- height: 48px;
212
- border-radius: 50%;
213
- display: inline-block;
214
- border-top: 4px solid var(--primary-color);
215
- border-right: 4px solid transparent;
216
- box-sizing: border-box;
217
- animation: rotation 1s linear infinite;
218
- }
219
- .loader::after {
220
- content: '';
221
- box-sizing: border-box;
222
- position: absolute;
223
- left: 0;
224
- top: 0;
225
- width: 48px;
226
- height: 48px;
227
- border-radius: 50%;
228
- border-left: 4px solid var(--summer-sun);
229
- border-bottom: 4px solid transparent;
230
- animation: rotation 0.5s linear infinite reverse;
231
- }
232
- @keyframes rotation {
233
- 0% {
234
- transform: rotate(0deg);
235
- }
236
- 100% {
237
- transform: rotate(360deg);
238
- }
239
- }
240
-
241
- </style>
242
- <script>
243
- async function openChat(agentSlug) {
244
- // Create a loading animation
245
- let loadingTextEl = document.createElement("div");
246
- loadingTextEl.textContent = 'Booting your agent...';
247
-
248
- let loadingAnimationEl = document.createElement("span");
249
- loadingAnimationEl.className = "loader";
250
-
251
- let loadingEl = document.createElement("div");
252
- loadingEl.style.position = "fixed";
253
- loadingEl.style.top = "0";
254
- loadingEl.style.right = "0";
255
- loadingEl.style.bottom = "0";
256
- loadingEl.style.left = "0";
257
- loadingEl.style.display = "flex";
258
- loadingEl.style.justifyContent = "center";
259
- loadingEl.style.alignItems = "center";
260
- loadingEl.style.backgroundColor = "rgba(0, 0, 0, 0.5)"; // Semi-transparent black
261
-
262
- loadingEl.append(loadingTextEl, loadingAnimationEl);
263
- document.body.appendChild(loadingEl);
264
-
265
- let response = await fetch(`/api/chat/sessions?agent_slug=${agentSlug}`, { method: "POST" });
266
- let data = await response.json();
267
- if (response.status == 200) {
268
- window.location.href = "/";
269
- } else if(response.status == 403 || response.status == 401) {
270
- window.location.href = "/login?next=/agent/" + agentId;
271
- } else {
272
- alert("Failed to start chat session");
273
- }
274
- }
275
- </script>
276
- </html>
@@ -1,3 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
3
- <svg width="800px" height="800px" viewBox="0 0 1024 1024" class="icon" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M704 288h-281.6l177.6-202.88a32 32 0 0 0-48.32-42.24l-224 256a30.08 30.08 0 0 0-2.24 3.84 32 32 0 0 0-2.88 4.16v1.92a32 32 0 0 0 0 5.12A32 32 0 0 0 320 320a32 32 0 0 0 0 4.8 32 32 0 0 0 0 5.12v1.92a32 32 0 0 0 2.88 4.16 30.08 30.08 0 0 0 2.24 3.84l224 256a32 32 0 1 0 48.32-42.24L422.4 352H704a224 224 0 0 1 224 224v128a224 224 0 0 1-224 224H320a232 232 0 0 1-28.16-1.6 32 32 0 0 0-35.84 27.84 32 32 0 0 0 27.84 35.52A295.04 295.04 0 0 0 320 992h384a288 288 0 0 0 288-288v-128a288 288 0 0 0-288-288zM103.04 760a32 32 0 0 0-62.08 16A289.92 289.92 0 0 0 140.16 928a32 32 0 0 0 40-49.92 225.6 225.6 0 0 1-77.12-118.08zM64 672a32 32 0 0 0 22.72-9.28 37.12 37.12 0 0 0 6.72-10.56A32 32 0 0 0 96 640a33.6 33.6 0 0 0-9.28-22.72 32 32 0 0 0-10.56-6.72 32 32 0 0 0-34.88 6.72A32 32 0 0 0 32 640a32 32 0 0 0 2.56 12.16 37.12 37.12 0 0 0 6.72 10.56A32 32 0 0 0 64 672z" fill="#231815" /></svg>
@@ -1,17 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
3
- <svg width="800px" height="800px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
4
-
5
- <title>collapse</title>
6
- <desc>Created with Sketch Beta.</desc>
7
- <defs>
8
-
9
- </defs>
10
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
11
- <g id="Icon-Set" sketch:type="MSLayerGroup" transform="translate(-360.000000, -1191.000000)" fill="#000000">
12
- <path d="M387.887,1203.04 L381.326,1203.04 L392.014,1192.4 L390.614,1191.01 L379.938,1201.64 L379.969,1195.16 C379.969,1194.61 379.526,1194.17 378.979,1194.17 C378.433,1194.17 377.989,1194.61 377.989,1195.16 L377.989,1204.03 C377.989,1204.32 378.111,1204.56 378.302,1204.72 C378.481,1204.9 378.73,1205.01 379.008,1205.01 L387.887,1205.01 C388.434,1205.01 388.876,1204.57 388.876,1204.03 C388.876,1203.48 388.434,1203.04 387.887,1203.04 L387.887,1203.04 Z M372.992,1208.99 L364.113,1208.99 C363.566,1208.99 363.124,1209.43 363.124,1209.97 C363.124,1210.52 363.566,1210.96 364.113,1210.96 L370.674,1210.96 L359.986,1221.6 L361.386,1222.99 L372.063,1212.36 L372.031,1218.84 C372.031,1219.39 372.474,1219.83 373.021,1219.83 C373.567,1219.83 374.011,1219.39 374.011,1218.84 L374.011,1209.97 C374.011,1209.68 373.889,1209.44 373.697,1209.28 C373.519,1209.1 373.27,1208.99 372.992,1208.99 L372.992,1208.99 Z" id="collapse" sketch:type="MSShapeGroup">
13
-
14
- </path>
15
- </g>
16
- </g>
17
- </svg>
@@ -1 +0,0 @@
1
- <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 122.88 122.88"><defs><style>.cls-1{fill:#00a912;}.cls-1,.cls-2{fill-rule:evenodd;}.cls-2{fill:#fff;}</style></defs><title>confirm</title><path class="cls-1" d="M61.44,0A61.44,61.44,0,1,1,0,61.44,61.44,61.44,0,0,1,61.44,0Z"/><path class="cls-2" d="M42.37,51.68,53.26,62,79,35.87c2.13-2.16,3.47-3.9,6.1-1.19l8.53,8.74c2.8,2.77,2.66,4.4,0,7L58.14,85.34c-5.58,5.46-4.61,5.79-10.26.19L28,65.77c-1.18-1.28-1.05-2.57.24-3.84l9.9-10.27c1.5-1.58,2.7-1.44,4.22,0Z"/></svg>
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
2
- <svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <path opacity="0.4" d="M22 11.1V6.9C22 3.4 20.6 2 17.1 2H12.9C9.4 2 8 3.4 8 6.9V8H11.1C14.6 8 16 9.4 16 12.9V16H17.1C20.6 16 22 14.6 22 11.1Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
4
- <path fill="#00ff00" d="M16 17.1V12.9C16 9.4 14.6 8 11.1 8H6.9C3.4 8 2 9.4 2 12.9V17.1C2 20.6 3.4 22 6.9 22H11.1C14.6 22 16 20.6 16 17.1Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
5
- <path d="M6.08008 14.9998L8.03008 16.9498L11.9201 13.0498" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
6
- </svg>
@@ -1,5 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
2
- <svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <path opacity="0.4" d="M16 12.9V17.1C16 20.6 14.6 22 11.1 22H6.9C3.4 22 2 20.6 2 17.1V12.9C2 9.4 3.4 8 6.9 8H11.1C14.6 8 16 9.4 16 12.9Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
4
- <path d="M22 6.9V11.1C22 14.6 20.6 16 17.1 16H16V12.9C16 9.4 14.6 8 11.1 8H8V6.9C8 3.4 9.4 2 12.9 2H17.1C20.6 2 22 3.4 22 6.9Z" stroke="#292D32" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
5
- </svg>
@@ -1,26 +0,0 @@
1
- <svg
2
- width="800px"
3
- height="800px"
4
- viewBox="0 0 24 24"
5
- fill="none"
6
- version="1.1"
7
- xmlns="http://www.w3.org/2000/svg"
8
- xmlns:svg="http://www.w3.org/2000/svg">
9
- <path
10
- d="M 2.8842937,6.1960452 H 21.225537"
11
- stroke="#000000"
12
- stroke-width="2.29266"
13
- stroke-linecap="round"
14
- stroke-linejoin="round" />
15
- <path
16
- d="M 5.1769491,9.6350283 7.1273225,20.362133 c 0.1982115,1.090158 1.1476689,1.8825 2.2556753,1.8825 h 5.3437782 c 1.10804,0 2.057543,-0.792456 2.255743,-1.8825 L 18.932881,9.6350283"
17
- stroke="#000000"
18
- stroke-width="2.29266"
19
- stroke-linecap="round"
20
- stroke-linejoin="round" />
21
- <path
22
- d="m 8.6159322,3.9033897 c 0,-1.266199 1.0264559,-2.2926552 2.2926548,-2.2926552 h 2.292656 c 1.266234,0 2.292655,1.0264562 2.292655,2.2926552 V 6.1960452 H 8.6159322 Z"
23
- stroke="#000000"
24
- stroke-width="2.29266"
25
- stroke-linecap="round" />
26
- </svg>
@@ -1,7 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" fill="#FFF" stroke-miterlimit="10" stroke-width="2" viewBox="0 0 96 96">
2
- <path stroke="#979593" d="M67.1716 7H27c-1.1046 0-2 .8954-2 2v78c0 1.1046.8954 2 2 2h58c1.1046 0 2-.8954 2-2V26.8284c0-.5304-.2107-1.0391-.5858-1.4142L68.5858 7.5858C68.2107 7.2107 67.702 7 67.1716 7z"/>
3
- <path fill="none" stroke="#979593" d="M67 7v18c0 1.1046.8954 2 2 2h18"/>
4
- <path fill="#C8C6C4" d="M79 61H48v-2h31c.5523 0 1 .4477 1 1s-.4477 1-1 1zm0-6H48v-2h31c.5523 0 1 .4477 1 1s-.4477 1-1 1zm0-6H48v-2h31c.5523 0 1 .4477 1 1s-.4477 1-1 1zm0-6H48v-2h31c.5523 0 1 .4477 1 1s-.4477 1-1 1zm0 24H48v-2h31c.5523 0 1 .4477 1 1s-.4477 1-1 1z"/>
5
- <path fill="#185ABD" d="M12 74h32c2.2091 0 4-1.7909 4-4V38c0-2.2091-1.7909-4-4-4H12c-2.2091 0-4 1.7909-4 4v32c0 2.2091 1.7909 4 4 4z"/>
6
- <path d="M21.6245 60.6455c.0661.522.109.9769.1296 1.3657h.0762c.0306-.3685.0889-.8129.1751-1.3349.0862-.5211.1703-.961.2517-1.319L25.7911 44h4.5702l3.6562 15.1272c.183.7468.3353 1.6973.457 2.8532h.0608c.0508-.7979.1777-1.7184.3809-2.7615L37.8413 44H42l-5.1183 22h-4.86l-3.4885-14.5744c-.1016-.4197-.2158-.9663-.3428-1.6417-.127-.6745-.2057-1.1656-.236-1.4724h-.0608c-.0407.358-.1195.8896-.2364 1.595-.1169.7062-.211 1.2273-.2819 1.565L24.1 66h-4.9357L14 44h4.2349l3.1843 15.3882c.0709.3165.1392.7362.2053 1.2573z"/>
7
- </svg>
@@ -1,4 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
2
- <svg width="800px" height="800px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill="none">
3
- <path fill="#000000" fill-rule="evenodd" d="M15.198 3.52a1.612 1.612 0 012.223 2.336L6.346 16.421l-2.854.375 1.17-3.272L15.197 3.521zm3.725-1.322a3.612 3.612 0 00-5.102-.128L3.11 12.238a1 1 0 00-.253.388l-1.8 5.037a1 1 0 001.072 1.328l4.8-.63a1 1 0 00.56-.267L18.8 7.304a3.612 3.612 0 00.122-5.106zM12 17a1 1 0 100 2h6a1 1 0 100-2h-6z"/>
4
- </svg>