Save
This commit is contained in:
		@@ -12,6 +12,14 @@
 | 
				
			|||||||
	<div class="flex flex-col space-y-3 flex-1 py-3 pr-3 md:py-4 md:pr-4 min-w-0">
 | 
						<div class="flex flex-col space-y-3 flex-1 py-3 pr-3 md:py-4 md:pr-4 min-w-0">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		<div class="flex flex-col space-y-1 flex-1 min-w-0">
 | 
							<div class="flex flex-col space-y-1 flex-1 min-w-0">
 | 
				
			||||||
 | 
								@if (Message.BoostingUser != null)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									<p class="inline-flex flex-1 space-x-2 min-w-0 text-xs text-xs">
 | 
				
			||||||
 | 
										<a class="font-bold" href="@Message.BoostingUser.ProfileUrl" title="@Message.BoostingUser.UserName">@Message.BoostingUser.DisplayName</a>
 | 
				
			||||||
 | 
										<i class="ion-md-repeat has-text-info" aria-hidden="true"></i>
 | 
				
			||||||
 | 
										<span>@CascadingState.Localizer["boosted"]</span>
 | 
				
			||||||
 | 
									</p>
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
			<p class="inline-flex flex-1 space-x-2 min-w-0 justify-between text-xs md:text-sm">
 | 
								<p class="inline-flex flex-1 space-x-2 min-w-0 justify-between text-xs md:text-sm">
 | 
				
			||||||
				<span class="inline-flex space-x-2 min-w-0">
 | 
									<span class="inline-flex space-x-2 min-w-0">
 | 
				
			||||||
					<b class="shrink truncate max-w-[80%]" title="@Message.User.DisplayName">
 | 
										<b class="shrink truncate max-w-[80%]" title="@Message.User.DisplayName">
 | 
				
			||||||
@@ -105,11 +113,15 @@
 | 
				
			|||||||
				}
 | 
									}
 | 
				
			||||||
				@if (OnMessageBoost.HasDelegate)
 | 
									@if (OnMessageBoost.HasDelegate)
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					<button class="button is-small is-rounded @(Message.IsBoosted ? "neoBtnSmallInsetPlain" : "neoBtnSmall")" @onclick="() => OnMessageBoost.InvokeAsync(Message)"
 | 
										<button class="button is-small is-rounded @SUtility.IfTrueThen(Message.IsBoostedByCurrentUser,"neoBtnSmallInsetPlain","neoBtnSmall") @SUtility.IfTrueThen(Message.BoostsCounter != 0, "has-icons-left")" @onclick="() => OnMessageBoost.InvokeAsync(Message)"
 | 
				
			||||||
								title="@CascadingState.Localizer["Boost"]">
 | 
													title="@CascadingState.Localizer["Boost"]">
 | 
				
			||||||
						<span class="icon">
 | 
											<span class="icon is-left">
 | 
				
			||||||
							<i aria-hidden="true" class="ion-md-repeat text-lg has-text-info"></i>
 | 
												<i aria-hidden="true" class="ion-md-repeat @SUtility.IfTrueThen(Message.BoostsCounter != 0,null,"text-lg") has-text-info"></i>
 | 
				
			||||||
						</span>
 | 
											</span>
 | 
				
			||||||
 | 
											@if (Message.BoostsCounter != 0)
 | 
				
			||||||
 | 
											{
 | 
				
			||||||
 | 
												<span>@Message.BoostsCounter</span>
 | 
				
			||||||
 | 
											}
 | 
				
			||||||
					</button>
 | 
										</button>
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				@if (OnMessageFavourite.HasDelegate)
 | 
									@if (OnMessageFavourite.HasDelegate)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -307,7 +307,8 @@
 | 
				
			|||||||
				MediaType.Images => 5,
 | 
									MediaType.Images => 5,
 | 
				
			||||||
				MediaType.Audio => 1,
 | 
									MediaType.Audio => 1,
 | 
				
			||||||
				MediaType.Video => 1,
 | 
									MediaType.Video => 1,
 | 
				
			||||||
				MediaType.Documents => 3
 | 
									MediaType.Documents => 3,
 | 
				
			||||||
 | 
									_ => 0
 | 
				
			||||||
			};
 | 
								};
 | 
				
			||||||
			if (eventArgs.FileCount > maximumFileCount)
 | 
								if (eventArgs.FileCount > maximumFileCount)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
@@ -324,7 +325,8 @@
 | 
				
			|||||||
				MediaType.Images => 3_145_728,
 | 
									MediaType.Images => 3_145_728,
 | 
				
			||||||
				MediaType.Audio => 5_242_880,
 | 
									MediaType.Audio => 5_242_880,
 | 
				
			||||||
				MediaType.Video => 20_971_520,
 | 
									MediaType.Video => 20_971_520,
 | 
				
			||||||
				MediaType.Documents => 3_145_728
 | 
									MediaType.Documents => 3_145_728,
 | 
				
			||||||
 | 
									_ => 0
 | 
				
			||||||
			};
 | 
								};
 | 
				
			||||||
			var uploadMedia = default(UploadMedia);
 | 
								var uploadMedia = default(UploadMedia);
 | 
				
			||||||
			using (var memStream = new MemoryStream())
 | 
								using (var memStream = new MemoryStream())
 | 
				
			||||||
 
 | 
				
			|||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										704
									
								
								Docs/Insomnia_APIs.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										704
									
								
								Docs/Insomnia_APIs.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,704 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
						"_type": "export",
 | 
				
			||||||
 | 
						"__export_format": 4,
 | 
				
			||||||
 | 
						"__export_date": "2022-02-14T20:02:43.810Z",
 | 
				
			||||||
 | 
						"__export_source": "insomnia.desktop.app:v2021.7.2",
 | 
				
			||||||
 | 
						"resources": [
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"_id": "req_db7df93225be442e89a167ae594c5551",
 | 
				
			||||||
 | 
								"parentId": "fld_2fca219979e448c997a6788d2b539ee7",
 | 
				
			||||||
 | 
								"modified": 1644868863001,
 | 
				
			||||||
 | 
								"created": 1643816994345,
 | 
				
			||||||
 | 
								"url": "https://localhost:5000/api/v1/message/add",
 | 
				
			||||||
 | 
								"name": "Add message",
 | 
				
			||||||
 | 
								"description": "rootMessageId => un susseguirsi di risposte ad un messaggio si portera' dietro sempre l'id del messaggio di partenza\n\ntitle => titolo opzionale\n\ncontent => testo del messaggio, con supporto di markdown\n\nResponse JSON:\n\n>\t\t{\n>\t\t\t\"user\": {\n\t\t\t\t\"userId\": \"guid/uuid/whatever\",\n\t\t\t\t\"userName\": \"@loosy@letsrulethe.world\",\n\t\t\t\t\"displayName\": \"loosy\",\n\t\t\t\t\"pictureUrl\": \"https://...\",\n\t\t\t\t\"backgroundUrl\": \"https://...\",\n\t\t\t\t\"profileUrl\": \"https://...\"\n\t\t\t},\n\t\t\t\"messageType\": \"1||2||3||4\",//Direct,FollowersOnly,Unlisted,Public\n\t\t\t\"rootMessageId\": null,\n\t\t\t\"messageId\": \"guid/uuid/whatever\",\n\t\t\t\"title\": \"...\",\n\t\t\t\"content\": \"...\",\n\t\t\t\"isFavourite\": false,\n\t\t\t\"isBoosted\": false,\n\t\t\t\"media\": [{\n\t\t\t\t\t\"fileName\": \"ciao.png\",\n\t\t\t\t\t\"altText\": \"descrizione immagine\",\n\t\t\t\t\t\"contentType\": \"image/png\",\n\t\t\t\t\t\"url\": \"https://bbs.keinpfusch.net/files/webpublic-ee9faea1-6786-4bf4-9a42-7a1f07de2dc5\"\n\t\t\t}],\n\t\t\t\"createdAt\": \"UTC or ticks\"\n>\t\t}\n",
 | 
				
			||||||
 | 
								"method": "POST",
 | 
				
			||||||
 | 
								"body": {
 | 
				
			||||||
 | 
									"mimeType": "application/json",
 | 
				
			||||||
 | 
									"text": " {\n\t\"contentType\": \"1||2||3\",//PlainText,HTML,Markdown\n\t\"messageType\": \"1||2||3||4\",//Direct,FollowersOnly,Unlisted,Public,\n\t\"mediaType\": \"1||2||3||4\",//Images,Video,Audio,Documents\n\t\"rootMessageId\": null,\n\t\"title\": \"...\",\n\t\"content\": \"...\",\n\t\"media\": [{\n\t\t\"fileName\": \"ciao.png\",\n    \"altText\": \"descrizione opzionale immagine\",\n\t\t\"contentType\": \"image/png\",//mime\n\t\t\"blob\": [23,33,11,...]//byteArray || base64?\n\t}],\n\t\"createdAt\": \"UTC or ticks\"\n}\n\n"
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
								"parameters": [],
 | 
				
			||||||
 | 
								"headers": [
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"name": "Content-Type",
 | 
				
			||||||
 | 
										"value": "application/json",
 | 
				
			||||||
 | 
										"id": "pair_b95faf0515f9453595110e7895330c5f"
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								],
 | 
				
			||||||
 | 
								"authentication": {},
 | 
				
			||||||
 | 
								"metaSortKey": -1643816957190,
 | 
				
			||||||
 | 
								"isPrivate": false,
 | 
				
			||||||
 | 
								"settingStoreCookies": true,
 | 
				
			||||||
 | 
								"settingSendCookies": true,
 | 
				
			||||||
 | 
								"settingDisableRenderRequestBody": false,
 | 
				
			||||||
 | 
								"settingEncodeUrl": true,
 | 
				
			||||||
 | 
								"settingRebuildPath": true,
 | 
				
			||||||
 | 
								"settingFollowRedirects": "global",
 | 
				
			||||||
 | 
								"_type": "request"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"_id": "fld_2fca219979e448c997a6788d2b539ee7",
 | 
				
			||||||
 | 
								"parentId": "wrk_da47ff9b3d7f40f3bef9e90b46d6610b",
 | 
				
			||||||
 | 
								"modified": 1643829443147,
 | 
				
			||||||
 | 
								"created": 1643816769446,
 | 
				
			||||||
 | 
								"name": "APIs",
 | 
				
			||||||
 | 
								"description": "",
 | 
				
			||||||
 | 
								"environment": {},
 | 
				
			||||||
 | 
								"environmentPropertyOrder": {},
 | 
				
			||||||
 | 
								"metaSortKey": -1643816769446,
 | 
				
			||||||
 | 
								"_type": "request_group"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"_id": "wrk_da47ff9b3d7f40f3bef9e90b46d6610b",
 | 
				
			||||||
 | 
								"parentId": null,
 | 
				
			||||||
 | 
								"modified": 1608987862911,
 | 
				
			||||||
 | 
								"created": 1608987862911,
 | 
				
			||||||
 | 
								"name": "Insomnia",
 | 
				
			||||||
 | 
								"description": "",
 | 
				
			||||||
 | 
								"scope": "collection",
 | 
				
			||||||
 | 
								"_type": "workspace"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"_id": "req_b33056a8e8a64c838662a60a4909537c",
 | 
				
			||||||
 | 
								"parentId": "fld_2fca219979e448c997a6788d2b539ee7",
 | 
				
			||||||
 | 
								"modified": 1643829255295,
 | 
				
			||||||
 | 
								"created": 1643817054991,
 | 
				
			||||||
 | 
								"url": "https://localhost:5000/api/v1/message/messageId/delete",
 | 
				
			||||||
 | 
								"name": "Remove message",
 | 
				
			||||||
 | 
								"description": "[queryParam] messageId => id del messaggio da eliminare\n\nResponse 200\n",
 | 
				
			||||||
 | 
								"method": "DELETE",
 | 
				
			||||||
 | 
								"body": {},
 | 
				
			||||||
 | 
								"parameters": [],
 | 
				
			||||||
 | 
								"headers": [],
 | 
				
			||||||
 | 
								"authentication": {
 | 
				
			||||||
 | 
									"type": "oauth2",
 | 
				
			||||||
 | 
									"grantType": "authorization_code"
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
								"metaSortKey": -1643816957177.5,
 | 
				
			||||||
 | 
								"isPrivate": false,
 | 
				
			||||||
 | 
								"settingStoreCookies": true,
 | 
				
			||||||
 | 
								"settingSendCookies": true,
 | 
				
			||||||
 | 
								"settingDisableRenderRequestBody": false,
 | 
				
			||||||
 | 
								"settingEncodeUrl": true,
 | 
				
			||||||
 | 
								"settingRebuildPath": true,
 | 
				
			||||||
 | 
								"settingFollowRedirects": "global",
 | 
				
			||||||
 | 
								"_type": "request"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"_id": "req_95c442071ee247f1a97d823c6e503db2",
 | 
				
			||||||
 | 
								"parentId": "fld_2fca219979e448c997a6788d2b539ee7",
 | 
				
			||||||
 | 
								"modified": 1644868763642,
 | 
				
			||||||
 | 
								"created": 1643816956965,
 | 
				
			||||||
 | 
								"url": "https://localhost:5000/api/v1/messages",
 | 
				
			||||||
 | 
								"name": "Get messages list",
 | 
				
			||||||
 | 
								"description": "Response JSON:\n>\t\t[\n>\t\t\t{\n>\t\t\t\t\"user\": {\n>\t\t\t\t\t\"userId\": \"guid/uuid/whatever\",\n>\t\t\t\t\t\"userName\": \"@loosy@letsrulethe.world\",\n>\t\t\t\t\t\"displayName\": \"loosy\",\n>\t\t\t\t\t\"pictureUrl\": \"https://...\",\n>\t\t\t\t\t\"backgroundUrl\": \"https://...\",\n>\t\t\t\t\t\"profileUrl\": \"https://...\"\n>\t\t\t\t},\n>\t\t\t\t\"messageType\": \"1||2||3||4\",//Direct,FollowersOnly,Unlisted,Public\n>\t\t\t\t\"rootMessageId\": null,\n>\t\t\t\t\"messageId\": \"guid/uuid/whatever\",\n>\t\t\t\t\"title\": \"...\",\n>\t\t\t\t\"content\": \"...\",\n>\t\t\t\t\"isFavourite\": false,\n>\t\t\t\t\"isBoosted\": false,\n>\t\t\t\t\"media\": [{\n>\t\t\t\t\t\"fileName\": \"ciao.png\",\n>\t\t\t\t\t\"altText\": \"descrizione immagine\",\n>\t\t\t\t\t\"contentType\": \"image/png\",\n>\t\t\t\t\t\"url\": \"https://bbs.keinpfusch.net/files/webpublic-ee9faea1-6786-4bf4-9a42-7a1f07de2dc5\"\n>\t\t\t\t}],\n>\t\t\t\t\"createdAt\": \"UTC or ticks\"\n>\t\t\t}, {...}\n>\t\t]",
 | 
				
			||||||
 | 
								"method": "GET",
 | 
				
			||||||
 | 
								"body": {},
 | 
				
			||||||
 | 
								"parameters": [
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"id": "pair_6e5222c6a78341bbb24f9b18d236df6c",
 | 
				
			||||||
 | 
										"name": "since",
 | 
				
			||||||
 | 
										"value": "UTC/ticks/messageId?",
 | 
				
			||||||
 | 
										"description": ""
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								],
 | 
				
			||||||
 | 
								"headers": [],
 | 
				
			||||||
 | 
								"authentication": {},
 | 
				
			||||||
 | 
								"metaSortKey": -1643816956965,
 | 
				
			||||||
 | 
								"isPrivate": false,
 | 
				
			||||||
 | 
								"settingStoreCookies": true,
 | 
				
			||||||
 | 
								"settingSendCookies": true,
 | 
				
			||||||
 | 
								"settingDisableRenderRequestBody": false,
 | 
				
			||||||
 | 
								"settingEncodeUrl": true,
 | 
				
			||||||
 | 
								"settingRebuildPath": true,
 | 
				
			||||||
 | 
								"settingFollowRedirects": "global",
 | 
				
			||||||
 | 
								"_type": "request"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"_id": "env_b33db616c4a51618900a0a3da66d2d7b6ebaec2b",
 | 
				
			||||||
 | 
								"parentId": "wrk_da47ff9b3d7f40f3bef9e90b46d6610b",
 | 
				
			||||||
 | 
								"modified": 1642377560788,
 | 
				
			||||||
 | 
								"created": 1608987862952,
 | 
				
			||||||
 | 
								"name": "Base Environment",
 | 
				
			||||||
 | 
								"data": {},
 | 
				
			||||||
 | 
								"dataPropertyOrder": {},
 | 
				
			||||||
 | 
								"color": null,
 | 
				
			||||||
 | 
								"isPrivate": false,
 | 
				
			||||||
 | 
								"metaSortKey": 1608987862952,
 | 
				
			||||||
 | 
								"_type": "environment"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"_id": "jar_b33db616c4a51618900a0a3da66d2d7b6ebaec2b",
 | 
				
			||||||
 | 
								"parentId": "wrk_da47ff9b3d7f40f3bef9e90b46d6610b",
 | 
				
			||||||
 | 
								"modified": 1642378408249,
 | 
				
			||||||
 | 
								"created": 1608987862953,
 | 
				
			||||||
 | 
								"name": "Default Jar",
 | 
				
			||||||
 | 
								"cookies": [
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "oc_sessionPassphrase",
 | 
				
			||||||
 | 
										"value": "nMmK2Vb0FhKNaSQiPteel3EhA5swjs9%2FYJwU79BzPrq1cgNmCdL2w88ktlfpy8BXU1Yuj7MKSmCLNYMB0NIDFZ%2B7AnbhqpW0am5cFolB4eRzT2uSUSg16nKnAPVXAkGa",
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"extensions": [ "SameSite=Lax" ],
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:48:03.279Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T10:48:03.279Z",
 | 
				
			||||||
 | 
										"id": "06476282363234076"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "occ7de4yt74j",
 | 
				
			||||||
 | 
										"value": "dsleqfmojuisnmgcq63p0nrk77",
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"extensions": [ "SameSite=Lax" ],
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:48:03.279Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T11:01:42.224Z",
 | 
				
			||||||
 | 
										"id": "9557040429295196"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "__Host-nc_sameSiteCookielax",
 | 
				
			||||||
 | 
										"value": "true",
 | 
				
			||||||
 | 
										"expires": "2100-12-31T23:59:59.000Z",
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"extensions": [ "SameSite=lax" ],
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:48:03.280Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T10:48:03.280Z",
 | 
				
			||||||
 | 
										"id": "4410522677170672"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "__Host-nc_sameSiteCookiestrict",
 | 
				
			||||||
 | 
										"value": "true",
 | 
				
			||||||
 | 
										"expires": "2100-12-31T23:59:59.000Z",
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"extensions": [ "SameSite=strict" ],
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:48:03.280Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T10:48:03.280Z",
 | 
				
			||||||
 | 
										"id": "7173600438498109"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "cookie_test",
 | 
				
			||||||
 | 
										"value": "test",
 | 
				
			||||||
 | 
										"expires": "2021-05-04T11:49:33.000Z",
 | 
				
			||||||
 | 
										"maxAge": 3600,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/apps/dashboard",
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:49:20.818Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T10:49:33.582Z",
 | 
				
			||||||
 | 
										"id": "3533626334860853"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_username",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/apps/dashboard",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:49:20.818Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T10:49:33.582Z",
 | 
				
			||||||
 | 
										"id": "06043516223469947"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_token",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/apps/dashboard",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:49:20.819Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T10:49:33.582Z",
 | 
				
			||||||
 | 
										"id": "1905708786875855"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_session_id",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/apps/dashboard",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:49:20.819Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T10:49:33.582Z",
 | 
				
			||||||
 | 
										"id": "4672408440036"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_username",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:49:20.819Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T11:01:42.224Z",
 | 
				
			||||||
 | 
										"id": "7693972008479257"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_token",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:49:20.819Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T11:01:42.224Z",
 | 
				
			||||||
 | 
										"id": "9731704342625882"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_session_id",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:49:20.819Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T11:01:42.224Z",
 | 
				
			||||||
 | 
										"id": "3557084085645068"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "cookie_test",
 | 
				
			||||||
 | 
										"value": "test",
 | 
				
			||||||
 | 
										"expires": "2021-05-04T11:51:28.000Z",
 | 
				
			||||||
 | 
										"maxAge": 3600,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/remote.php/dav/files",
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:51:28.651Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T10:51:28.651Z",
 | 
				
			||||||
 | 
										"id": "8645799753636227"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_username",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/remote.php/dav/files",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:51:44.619Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T10:51:44.619Z",
 | 
				
			||||||
 | 
										"id": "9029869294914612"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_token",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/remote.php/dav/files",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:51:44.619Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T10:51:44.619Z",
 | 
				
			||||||
 | 
										"id": "6422488233461934"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_session_id",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/remote.php/dav/files",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T10:51:44.619Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T10:51:44.619Z",
 | 
				
			||||||
 | 
										"id": "7557066093242031"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "cookie_test",
 | 
				
			||||||
 | 
										"value": "test",
 | 
				
			||||||
 | 
										"expires": "2021-05-04T12:01:26.000Z",
 | 
				
			||||||
 | 
										"maxAge": 3600,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/index.php/login",
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T11:01:26.192Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T11:01:26.192Z",
 | 
				
			||||||
 | 
										"id": "7093910949861533"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_username",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/index.php/login",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T11:01:42.223Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T11:01:42.223Z",
 | 
				
			||||||
 | 
										"id": "677709203943275"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_token",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/index.php/login",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T11:01:42.224Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T11:01:42.224Z",
 | 
				
			||||||
 | 
										"id": "9477816718956802"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_session_id",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "nuvola.xyz",
 | 
				
			||||||
 | 
										"path": "/index.php/login",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2021-05-04T11:01:42.224Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2021-05-04T11:01:42.224Z",
 | 
				
			||||||
 | 
										"id": "41804757195232756"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "oc_sessionPassphrase",
 | 
				
			||||||
 | 
										"value": "pUIH26mXSdmGTfubB4dUzw8F8MQsUHdwnHCeo7ElPWIGDxXte2XC1M0EMyN5eriarJcMmkfh4kSGFI9%2BRcs%2BHt2gdDygddkz5I7Tl8KtjkwC%2BawIYuL8z3lobWTL%2BCy%2B",
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"extensions": [ "SameSite=Lax" ],
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:03:10.727Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:03:10.727Z",
 | 
				
			||||||
 | 
										"id": "06313521114695941"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "__Host-nc_sameSiteCookielax",
 | 
				
			||||||
 | 
										"value": "true",
 | 
				
			||||||
 | 
										"expires": "2100-12-31T23:59:59.000Z",
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"extensions": [ "SameSite=lax" ],
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:03:10.728Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:03:10.728Z",
 | 
				
			||||||
 | 
										"id": "860532957782806"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "__Host-nc_sameSiteCookiestrict",
 | 
				
			||||||
 | 
										"value": "true",
 | 
				
			||||||
 | 
										"expires": "2100-12-31T23:59:59.000Z",
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"extensions": [ "SameSite=strict" ],
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:03:10.728Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:03:10.728Z",
 | 
				
			||||||
 | 
										"id": "31117326197847706"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "ocl7d3yrw74j",
 | 
				
			||||||
 | 
										"value": "uecghev7rleu4uptmruhptuvto",
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"extensions": [ "SameSite=Lax" ],
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:03:10.728Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:13:28.249Z",
 | 
				
			||||||
 | 
										"id": "5917940161261273"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "cookie_test",
 | 
				
			||||||
 | 
										"value": "test",
 | 
				
			||||||
 | 
										"expires": "2022-01-17T01:03:09.000Z",
 | 
				
			||||||
 | 
										"maxAge": 3600,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/index.php/login",
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:03:10.728Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:03:10.728Z",
 | 
				
			||||||
 | 
										"id": "009292942805962934"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_username",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/index.php/login/v2",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:04:18.252Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:04:18.252Z",
 | 
				
			||||||
 | 
										"id": "5470762369580981"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_token",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/index.php/login/v2",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:04:18.252Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:04:18.252Z",
 | 
				
			||||||
 | 
										"id": "4385020724400406"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_session_id",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/index.php/login/v2",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:04:18.253Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:04:18.253Z",
 | 
				
			||||||
 | 
										"id": "05297254853120181"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_username",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:04:18.253Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:12:52.404Z",
 | 
				
			||||||
 | 
										"id": "46009278671166176"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_token",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:04:18.253Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:12:52.404Z",
 | 
				
			||||||
 | 
										"id": "05812364381235913"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_session_id",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:04:18.253Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:12:52.404Z",
 | 
				
			||||||
 | 
										"id": "3772361407666647"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "cookie_test",
 | 
				
			||||||
 | 
										"value": "test",
 | 
				
			||||||
 | 
										"expires": "2022-01-17T01:05:17.000Z",
 | 
				
			||||||
 | 
										"maxAge": 3600,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/apps/files",
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:05:18.388Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:05:18.388Z",
 | 
				
			||||||
 | 
										"id": "08277815359810625"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_username",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/apps/files",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:05:18.388Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:05:18.388Z",
 | 
				
			||||||
 | 
										"id": "7962572269421415"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_token",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/apps/files",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:05:18.388Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:05:18.388Z",
 | 
				
			||||||
 | 
										"id": "8604909194077435"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_session_id",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/apps/files",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:05:18.388Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:05:18.388Z",
 | 
				
			||||||
 | 
										"id": "6043027104701622"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "cookie_test",
 | 
				
			||||||
 | 
										"value": "test",
 | 
				
			||||||
 | 
										"expires": "2022-01-17T01:11:28.000Z",
 | 
				
			||||||
 | 
										"maxAge": 3600,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/ocs/v1.php/cloud",
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:11:28.872Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:11:28.872Z",
 | 
				
			||||||
 | 
										"id": "014769824799037545"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_username",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/ocs/v1.php/cloud",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:12:52.404Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:12:52.404Z",
 | 
				
			||||||
 | 
										"id": "7141536696124962"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_token",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/ocs/v1.php/cloud",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:12:52.404Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:12:52.404Z",
 | 
				
			||||||
 | 
										"id": "08455474112707173"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										"key": "nc_session_id",
 | 
				
			||||||
 | 
										"value": "deleted",
 | 
				
			||||||
 | 
										"expires": "1970-01-01T00:00:01.000Z",
 | 
				
			||||||
 | 
										"maxAge": 0,
 | 
				
			||||||
 | 
										"domain": "cloud.zigzag.academy",
 | 
				
			||||||
 | 
										"path": "/ocs/v1.php/cloud",
 | 
				
			||||||
 | 
										"secure": true,
 | 
				
			||||||
 | 
										"httpOnly": true,
 | 
				
			||||||
 | 
										"hostOnly": true,
 | 
				
			||||||
 | 
										"pathIsDefault": true,
 | 
				
			||||||
 | 
										"creation": "2022-01-17T00:12:52.404Z",
 | 
				
			||||||
 | 
										"lastAccessed": "2022-01-17T00:12:52.404Z",
 | 
				
			||||||
 | 
										"id": "141765916939931"
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								],
 | 
				
			||||||
 | 
								"_type": "cookie_jar"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"_id": "spc_f832b28de5204b4a88374d08ba93a8e2",
 | 
				
			||||||
 | 
								"parentId": "wrk_da47ff9b3d7f40f3bef9e90b46d6610b",
 | 
				
			||||||
 | 
								"modified": 1608987862912,
 | 
				
			||||||
 | 
								"created": 1608987862912,
 | 
				
			||||||
 | 
								"fileName": "Insomnia",
 | 
				
			||||||
 | 
								"contents": "",
 | 
				
			||||||
 | 
								"contentType": "yaml",
 | 
				
			||||||
 | 
								"_type": "api_spec"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"_id": "env_77dfa781871a430f8e5014b07c9f9061",
 | 
				
			||||||
 | 
								"parentId": "env_b33db616c4a51618900a0a3da66d2d7b6ebaec2b",
 | 
				
			||||||
 | 
								"modified": 1642377578797,
 | 
				
			||||||
 | 
								"created": 1642377566379,
 | 
				
			||||||
 | 
								"name": "Nextcloud API",
 | 
				
			||||||
 | 
								"data": {},
 | 
				
			||||||
 | 
								"dataPropertyOrder": {},
 | 
				
			||||||
 | 
								"color": null,
 | 
				
			||||||
 | 
								"isPrivate": false,
 | 
				
			||||||
 | 
								"metaSortKey": 1642377566379,
 | 
				
			||||||
 | 
								"_type": "environment"
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -101,8 +101,6 @@ public static class GenericExtensions
 | 
				
			|||||||
				return string.Format(localizer["{0:N0}MB"], size / 1_048_576);
 | 
									return string.Format(localizer["{0:N0}MB"], size / 1_048_576);
 | 
				
			||||||
			case < 1_048_576:
 | 
								case < 1_048_576:
 | 
				
			||||||
				return string.Format(localizer["{0}KB"], size / 1_024);
 | 
									return string.Format(localizer["{0}KB"], size / 1_024);
 | 
				
			||||||
			default:
 | 
					 | 
				
			||||||
				return default;
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,4 +31,17 @@ public static class Faker
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		return Users[Random.Shared.Next(0, Users.Count)];
 | 
							return Users[Random.Shared.Next(0, Users.Count)];
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public static BoostingUser GetRandomBoostingUser()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							var user = Users[Random.Shared.Next(0, Users.Count)];
 | 
				
			||||||
 | 
							return new()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								UserId = user.UserId,
 | 
				
			||||||
 | 
								DisplayName = user.DisplayName,
 | 
				
			||||||
 | 
								UserName = user.UserName,
 | 
				
			||||||
 | 
								PictureUrl = user.PictureUrl,
 | 
				
			||||||
 | 
								ProfileUrl = user.ProfileUrl
 | 
				
			||||||
 | 
							};
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										11
									
								
								Models/BoostingUser.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Models/BoostingUser.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					namespace decePubClient.Models
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						public class BoostingUser
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							public string UserId { get; set; } = "45f14fa8-c40f-4121-997c-ef2542196a50";
 | 
				
			||||||
 | 
							public string UserName { get; set; } = "@loosy@letsrulethe.world";
 | 
				
			||||||
 | 
							public string DisplayName { get; set; } = "loosy";
 | 
				
			||||||
 | 
							public string PictureUrl { get; set; } = "https://letsrulethe.world/media/c22d7a6dfcce11e4d2d8d4f6298842a36751b0a179dc5333d24663e4b93793b4.jpg";
 | 
				
			||||||
 | 
							public string ProfileUrl { get; set; } = "https://letsrulethe.world/users/loosy";
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -13,7 +13,9 @@ namespace decePubClient.Models
 | 
				
			|||||||
		public string Title { get; set; }
 | 
							public string Title { get; set; }
 | 
				
			||||||
		public string Content { get; set; }
 | 
							public string Content { get; set; }
 | 
				
			||||||
		public bool IsFavourite { get; set; } = false;
 | 
							public bool IsFavourite { get; set; } = false;
 | 
				
			||||||
		public bool IsBoosted { get; set; } = false;
 | 
							public int BoostsCounter { get; set; } = 0;
 | 
				
			||||||
 | 
							public bool IsBoostedByCurrentUser { get; set; } = false;
 | 
				
			||||||
 | 
							public BoostingUser BoostingUser { get; set; }
 | 
				
			||||||
		public List<Media> Medias { get; set; } = new();
 | 
							public List<Media> Medias { get; set; } = new();
 | 
				
			||||||
		public DateTime CreatedAt { get; set; }
 | 
							public DateTime CreatedAt { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
public enum ContentType
 | 
					public enum ContentType
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	PlainText,
 | 
						PlainText = 1,
 | 
				
			||||||
	HTML,
 | 
						HTML,
 | 
				
			||||||
	Markdown
 | 
						Markdown
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	public enum MediaType
 | 
						public enum MediaType
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		Images,
 | 
							Images = 1,
 | 
				
			||||||
		Video,
 | 
							Video,
 | 
				
			||||||
		Audio,
 | 
							Audio,
 | 
				
			||||||
		Documents
 | 
							Documents
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	public enum MessageType
 | 
						public enum MessageType
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		Direct,
 | 
							Direct = 1,
 | 
				
			||||||
		FollowersOnly,
 | 
							FollowersOnly,
 | 
				
			||||||
		Unlisted,
 | 
							Unlisted,
 | 
				
			||||||
		Public
 | 
							Public
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,8 +9,9 @@ public class UploadMedia
 | 
				
			|||||||
	public string FileName { get; set; }
 | 
						public string FileName { get; set; }
 | 
				
			||||||
	public string AltText { get; set; }
 | 
						public string AltText { get; set; }
 | 
				
			||||||
	public byte[] Blob { get; set; }
 | 
						public byte[] Blob { get; set; }
 | 
				
			||||||
	public string Base64Preview { get; set; }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						[JsonIgnore, Bindable(false)]
 | 
				
			||||||
 | 
						public string Base64Preview { get; set; }
 | 
				
			||||||
	[JsonIgnore, Bindable(false)]
 | 
						[JsonIgnore, Bindable(false)]
 | 
				
			||||||
	public long Size { get; set; }
 | 
						public long Size { get; set; }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -1,13 +1,181 @@
 | 
				
			|||||||
@page "/administration"
 | 
					@page "/administration"
 | 
				
			||||||
@inherits PagesBase
 | 
					@inherits PagesBase
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Title>@CascadingState.Localizer["Settings"]</Title>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<section class="block relative w-full h-full neomorphInset is-nxsmall rounded-xl">
 | 
					<section class="block relative w-full h-full neomorphInset is-nxsmall rounded-xl">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<div class="flex flex-col space-y-4 p-4 md:p-5 w-full h-full absolute overflow-y-auto">
 | 
						<div class="flex flex-col space-y-4 p-4 md:p-5 w-full h-full absolute overflow-y-auto">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<OpenDownContainer>
 | 
				
			||||||
 | 
								<TitleChildren>
 | 
				
			||||||
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
 | 
										<i class="ion-md-albums text-xl"></i> <span>@CascadingState.Localizer["Users"]</span>
 | 
				
			||||||
 | 
									</p>
 | 
				
			||||||
 | 
								</TitleChildren>
 | 
				
			||||||
 | 
								<InnerContent>
 | 
				
			||||||
 | 
									<div class="block w-full p-3 md:p-4">
 | 
				
			||||||
 | 
										<p class="w-full text-center text-lg">
 | 
				
			||||||
 | 
											<i class="ion-ios-remove-circle-outline"></i> @CascadingState.Localizer["Empty"]
 | 
				
			||||||
 | 
										</p>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</InnerContent>
 | 
				
			||||||
 | 
							</OpenDownContainer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<OpenDownContainer>
 | 
				
			||||||
 | 
								<TitleChildren>
 | 
				
			||||||
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
 | 
										<i class="ion-md-albums text-xl"></i> <span>@CascadingState.Localizer["Reports"]</span>
 | 
				
			||||||
 | 
									</p>
 | 
				
			||||||
 | 
								</TitleChildren>
 | 
				
			||||||
 | 
								<InnerContent>
 | 
				
			||||||
 | 
									<div class="block w-full p-3 md:p-4">
 | 
				
			||||||
 | 
										<p class="w-full text-center text-lg">
 | 
				
			||||||
 | 
											<i class="ion-ios-remove-circle-outline"></i> @CascadingState.Localizer["Empty"]
 | 
				
			||||||
 | 
										</p>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</InnerContent>
 | 
				
			||||||
 | 
							</OpenDownContainer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<OpenDownContainer>
 | 
				
			||||||
 | 
								<TitleChildren>
 | 
				
			||||||
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
 | 
										<i class="ion-md-albums text-xl"></i> <span>@CascadingState.Localizer["ActivityPub?"]</span>
 | 
				
			||||||
 | 
									</p>
 | 
				
			||||||
 | 
								</TitleChildren>
 | 
				
			||||||
 | 
								<InnerContent>
 | 
				
			||||||
 | 
									<div class="block w-full p-3 md:p-4">
 | 
				
			||||||
 | 
										<p class="w-full text-center text-lg">
 | 
				
			||||||
 | 
											<i class="ion-ios-remove-circle-outline"></i> @CascadingState.Localizer["Empty"]
 | 
				
			||||||
 | 
										</p>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</InnerContent>
 | 
				
			||||||
 | 
							</OpenDownContainer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<OpenDownContainer>
 | 
				
			||||||
 | 
								<TitleChildren>
 | 
				
			||||||
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
 | 
										<i class="ion-md-albums text-xl"></i> <span>@CascadingState.Localizer["Authentication"]</span>
 | 
				
			||||||
 | 
									</p>
 | 
				
			||||||
 | 
								</TitleChildren>
 | 
				
			||||||
 | 
								<InnerContent>
 | 
				
			||||||
 | 
									<div class="block w-full p-3 md:p-4">
 | 
				
			||||||
 | 
										<p class="w-full text-center text-lg">
 | 
				
			||||||
 | 
											<i class="ion-ios-remove-circle-outline"></i> @CascadingState.Localizer["Empty"]
 | 
				
			||||||
 | 
										</p>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</InnerContent>
 | 
				
			||||||
 | 
							</OpenDownContainer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<OpenDownContainer>
 | 
				
			||||||
 | 
								<TitleChildren>
 | 
				
			||||||
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
 | 
										<i class="ion-md-albums text-xl"></i> <span>@CascadingState.Localizer["Emoji?"]</span>
 | 
				
			||||||
 | 
									</p>
 | 
				
			||||||
 | 
								</TitleChildren>
 | 
				
			||||||
 | 
								<InnerContent>
 | 
				
			||||||
 | 
									<div class="block w-full p-3 md:p-4">
 | 
				
			||||||
 | 
										<p class="w-full text-center text-lg">
 | 
				
			||||||
 | 
											<i class="ion-ios-remove-circle-outline"></i> @CascadingState.Localizer["Empty"]
 | 
				
			||||||
 | 
										</p>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</InnerContent>
 | 
				
			||||||
 | 
							</OpenDownContainer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<OpenDownContainer>
 | 
				
			||||||
 | 
								<TitleChildren>
 | 
				
			||||||
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
 | 
										<i class="ion-md-albums text-xl"></i> <span>@CascadingState.Localizer["Frontend"]</span>
 | 
				
			||||||
 | 
									</p>
 | 
				
			||||||
 | 
								</TitleChildren>
 | 
				
			||||||
 | 
								<InnerContent>
 | 
				
			||||||
 | 
									<div class="block w-full p-3 md:p-4">
 | 
				
			||||||
 | 
										<p class="w-full text-center text-lg">
 | 
				
			||||||
 | 
											<i class="ion-ios-remove-circle-outline"></i> @CascadingState.Localizer["Empty"]
 | 
				
			||||||
 | 
										</p>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</InnerContent>
 | 
				
			||||||
 | 
							</OpenDownContainer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<OpenDownContainer>
 | 
				
			||||||
 | 
								<TitleChildren>
 | 
				
			||||||
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
 | 
										<i class="ion-md-albums text-xl"></i> <span>@CascadingState.Localizer["Instance"]</span>
 | 
				
			||||||
 | 
									</p>
 | 
				
			||||||
 | 
								</TitleChildren>
 | 
				
			||||||
 | 
								<InnerContent>
 | 
				
			||||||
 | 
									<div class="block w-full p-3 md:p-4">
 | 
				
			||||||
 | 
										<p class="w-full text-center text-lg">
 | 
				
			||||||
 | 
											<i class="ion-ios-remove-circle-outline"></i> @CascadingState.Localizer["Empty"]
 | 
				
			||||||
 | 
										</p>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</InnerContent>
 | 
				
			||||||
 | 
							</OpenDownContainer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<OpenDownContainer>
 | 
				
			||||||
 | 
								<TitleChildren>
 | 
				
			||||||
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
 | 
										<i class="ion-md-albums text-xl"></i> <span>@CascadingState.Localizer["Link formatter"]</span>
 | 
				
			||||||
 | 
									</p>
 | 
				
			||||||
 | 
								</TitleChildren>
 | 
				
			||||||
 | 
								<InnerContent>
 | 
				
			||||||
 | 
									<div class="block w-full p-3 md:p-4">
 | 
				
			||||||
 | 
										<p class="w-full text-center text-lg">
 | 
				
			||||||
 | 
											<i class="ion-ios-remove-circle-outline"></i> @CascadingState.Localizer["Empty"]
 | 
				
			||||||
 | 
										</p>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</InnerContent>
 | 
				
			||||||
 | 
							</OpenDownContainer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<OpenDownContainer>
 | 
				
			||||||
 | 
								<TitleChildren>
 | 
				
			||||||
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
 | 
										<i class="ion-md-albums text-xl"></i> <span>@CascadingState.Localizer["Metadata"]</span>
 | 
				
			||||||
 | 
									</p>
 | 
				
			||||||
 | 
								</TitleChildren>
 | 
				
			||||||
 | 
								<InnerContent>
 | 
				
			||||||
 | 
									<div class="block w-full p-3 md:p-4">
 | 
				
			||||||
 | 
										<p class="w-full text-center text-lg">
 | 
				
			||||||
 | 
											<i class="ion-ios-remove-circle-outline"></i> @CascadingState.Localizer["Empty"]
 | 
				
			||||||
 | 
										</p>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</InnerContent>
 | 
				
			||||||
 | 
							</OpenDownContainer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<OpenDownContainer>
 | 
				
			||||||
 | 
								<TitleChildren>
 | 
				
			||||||
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
 | 
										<i class="ion-md-albums text-xl"></i> <span>@CascadingState.Localizer["Policies"]</span>
 | 
				
			||||||
 | 
									</p>
 | 
				
			||||||
 | 
								</TitleChildren>
 | 
				
			||||||
 | 
								<InnerContent>
 | 
				
			||||||
 | 
									<div class="block w-full p-3 md:p-4">
 | 
				
			||||||
 | 
										<p class="w-full text-center text-lg">
 | 
				
			||||||
 | 
											<i class="ion-ios-remove-circle-outline"></i> @CascadingState.Localizer["Empty"]
 | 
				
			||||||
 | 
										</p>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</InnerContent>
 | 
				
			||||||
 | 
							</OpenDownContainer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<OpenDownContainer>
 | 
				
			||||||
 | 
								<TitleChildren>
 | 
				
			||||||
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
 | 
										<i class="ion-md-albums text-xl"></i> <span>@CascadingState.Localizer["Upload"]</span>
 | 
				
			||||||
 | 
									</p>
 | 
				
			||||||
 | 
								</TitleChildren>
 | 
				
			||||||
 | 
								<InnerContent>
 | 
				
			||||||
 | 
									<div class="block w-full p-3 md:p-4">
 | 
				
			||||||
 | 
										<p class="w-full text-center text-lg">
 | 
				
			||||||
 | 
											<i class="ion-ios-remove-circle-outline"></i> @CascadingState.Localizer["Empty"]
 | 
				
			||||||
 | 
										</p>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</InnerContent>
 | 
				
			||||||
 | 
							</OpenDownContainer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	</div>
 | 
						</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</section>
 | 
					</section>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@code {
 | 
					@code {
 | 
				
			||||||
 | 
						[CascadingParameter] CascadingState CascadingState { get; set; }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			@if (IsLoading)
 | 
								@if (IsLoading)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				<LoadingData/>
 | 
									<LoadingData />
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			@foreach (var message in Ancestors)
 | 
								@foreach (var message in Ancestors)
 | 
				
			||||||
@@ -86,7 +86,8 @@
 | 
				
			|||||||
				Medias = new(),
 | 
									Medias = new(),
 | 
				
			||||||
				CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
									CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
				
			||||||
				IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
									IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
				IsBoosted = Random.Shared.Next() % 2 == 0,
 | 
									BoostsCounter = Random.Shared.Next(0,100),
 | 
				
			||||||
 | 
									IsBoostedByCurrentUser = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -103,7 +104,8 @@
 | 
				
			|||||||
				Medias = new(),
 | 
									Medias = new(),
 | 
				
			||||||
				CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
									CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
				
			||||||
				IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
									IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
				IsBoosted = Random.Shared.Next() % 2 == 0,
 | 
									BoostsCounter = Random.Shared.Next(0,100),
 | 
				
			||||||
 | 
									IsBoostedByCurrentUser = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
		IsLoading = false;
 | 
							IsLoading = false;
 | 
				
			||||||
@@ -116,9 +118,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	async Task OnMessageReply(MessageForm messageForm)
 | 
						async Task OnMessageReply(MessageForm messageForm)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		await Task.Run(() =>
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		var replyMessage = await MessagesService.SubmitMessage(messageForm);
 | 
							var replyMessage = await MessagesService.SubmitMessage(messageForm);
 | 
				
			||||||
		Descendants.Add(new()
 | 
							Descendants.Add(new()
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
@@ -149,59 +148,41 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	async ValueTask OnMessageBoost(Message message)
 | 
						async ValueTask OnMessageBoost(Message message)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		await Task.Run(() =>
 | 
							if (message.IsBoostedByCurrentUser) return;
 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		message.IsBoosted = !message.IsBoosted;
 | 
					 | 
				
			||||||
		var boostedMessage = await MessagesService.BoostUnboostMessage(message);
 | 
							var boostedMessage = await MessagesService.BoostUnboostMessage(message);
 | 
				
			||||||
 | 
							message.BoostsCounter += 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Add to the home page in the background
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	async ValueTask OnMessageFavourite(Message message)
 | 
						async ValueTask OnMessageFavourite(Message message)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		await Task.Run(() =>
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		message.IsFavourite = !message.IsFavourite;
 | 
					 | 
				
			||||||
		var favouriteMessage = await MessagesService.FavouriteUnfavouriteMessage(message);
 | 
							var favouriteMessage = await MessagesService.FavouriteUnfavouriteMessage(message);
 | 
				
			||||||
 | 
							message.IsFavourite = !message.IsFavourite;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	async ValueTask OnMessageDelete(Message message)
 | 
						async ValueTask OnMessageDelete(Message message)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		await Task.Run(() =>
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		var deleteResult = await MessagesService.DeleteMessage(message);
 | 
							var deleteResult = await MessagesService.DeleteMessage(message);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	async ValueTask OnMessageMediaDownload(Media media)
 | 
						async ValueTask OnMessageMediaDownload(Media media)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		await Task.Run(() =>
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		await BlazorDownloadFileService.DownloadFileAsync(media.FileName, media.Blob, media.ContentType);
 | 
							await BlazorDownloadFileService.DownloadFileAsync(media.FileName, media.Blob, media.ContentType);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	async ValueTask OnUserBlock(MessageUser messageUser)
 | 
						async ValueTask OnUserBlock(MessageUser messageUser)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		await Task.Run(() =>
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		var blockResult = await MessagesService.BlockUserFromMessage(messageUser);
 | 
							var blockResult = await MessagesService.BlockUserFromMessage(messageUser);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	async ValueTask OnUserDirectMessage(Message message)
 | 
						async ValueTask OnUserDirectMessage(Message message)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		await Task.Run(() =>
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		var directMessage = await MessagesService.ReplyMessage(message, MessageType.Direct);
 | 
							var directMessage = await MessagesService.ReplyMessage(message, MessageType.Direct);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	async ValueTask OnUserSilence(MessageUser messageUser)
 | 
						async ValueTask OnUserSilence(MessageUser messageUser)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		await Task.Run(() =>
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		var silenceResult = await MessagesService.SilenceUserFromMessage(messageUser);
 | 
							var silenceResult = await MessagesService.SilenceUserFromMessage(messageUser);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -11,7 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			@if (IsLoading)
 | 
								@if (IsLoading)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				<LoadingData/>
 | 
									<LoadingData />
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			else if (Messages.Count == 0)
 | 
								else if (Messages.Count == 0)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
@@ -183,8 +183,39 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	async ValueTask OnMessageBoost(Message message)
 | 
						async ValueTask OnMessageBoost(Message message)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		message.IsBoosted = !message.IsBoosted;
 | 
							var boostedMessageTemp = await MessagesService.BoostUnboostMessage(message);
 | 
				
			||||||
		var boostedMessage = await MessagesService.BoostUnboostMessage(message);
 | 
							message.BoostsCounter = message.IsBoostedByCurrentUser ? message.BoostsCounter - 1 : message.BoostsCounter + 1;
 | 
				
			||||||
 | 
							message.IsBoostedByCurrentUser = !message.IsBoostedByCurrentUser;
 | 
				
			||||||
 | 
							if (message.IsBoostedByCurrentUser)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								var boostedMessage = new Message
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										BoostingUser = new()
 | 
				
			||||||
 | 
										{
 | 
				
			||||||
 | 
											UserId = CascadingState.User.Id,
 | 
				
			||||||
 | 
											DisplayName = CascadingState.User.DisplayName,
 | 
				
			||||||
 | 
											PictureUrl = CascadingState.User.PictureUrl,
 | 
				
			||||||
 | 
											ProfileUrl = CascadingState.User.ProfileUrl,
 | 
				
			||||||
 | 
											UserName = CascadingState.User.UserName
 | 
				
			||||||
 | 
										},
 | 
				
			||||||
 | 
										BoostsCounter = message.BoostsCounter,
 | 
				
			||||||
 | 
										Content = message.Content,
 | 
				
			||||||
 | 
										CreatedAt = message.CreatedAt,
 | 
				
			||||||
 | 
										IsBoostedByCurrentUser = true,
 | 
				
			||||||
 | 
										IsFavourite = message.IsFavourite,
 | 
				
			||||||
 | 
										Medias = message.Medias,
 | 
				
			||||||
 | 
										MessageId = message.MessageId,
 | 
				
			||||||
 | 
										MessageType = message.MessageType,
 | 
				
			||||||
 | 
										RootMessageId = message.RootMessageId,
 | 
				
			||||||
 | 
										Title = message.Title,
 | 
				
			||||||
 | 
										User = message.User
 | 
				
			||||||
 | 
									};
 | 
				
			||||||
 | 
								Messages.Insert(0, boostedMessage);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								Messages.RemoveAll(m => m.MessageId == message.MessageId && m.BoostingUser != null && m.BoostingUser.UserId == CascadingState.User.Id);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	async ValueTask OnMessageFavourite(Message message)
 | 
						async ValueTask OnMessageFavourite(Message message)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
		<OpenDownContainer>
 | 
							<OpenDownContainer>
 | 
				
			||||||
			<TitleChildren>
 | 
								<TitleChildren>
 | 
				
			||||||
				<p class="inline-flex items-center space-x-2">
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
					<i class="ion-md-cog text-lg"></i> @CascadingState.Localizer["General"]
 | 
										<i class="ion-md-cog text-xl"></i> <span>@CascadingState.Localizer["General"]</span>
 | 
				
			||||||
				</p>
 | 
									</p>
 | 
				
			||||||
			</TitleChildren>
 | 
								</TitleChildren>
 | 
				
			||||||
			<InnerContent>
 | 
								<InnerContent>
 | 
				
			||||||
@@ -24,7 +24,7 @@
 | 
				
			|||||||
		<OpenDownContainer>
 | 
							<OpenDownContainer>
 | 
				
			||||||
			<TitleChildren>
 | 
								<TitleChildren>
 | 
				
			||||||
				<p class="inline-flex items-center space-x-2">
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
					<i class="ion-md-person text-lg"></i> @CascadingState.Localizer["Profile"]
 | 
										<i class="ion-md-person text-xl"></i> <span>@CascadingState.Localizer["Profile"]</span>
 | 
				
			||||||
				</p>
 | 
									</p>
 | 
				
			||||||
			</TitleChildren>
 | 
								</TitleChildren>
 | 
				
			||||||
			<InnerContent>
 | 
								<InnerContent>
 | 
				
			||||||
@@ -39,7 +39,7 @@
 | 
				
			|||||||
		<OpenDownContainer>
 | 
							<OpenDownContainer>
 | 
				
			||||||
			<TitleChildren>
 | 
								<TitleChildren>
 | 
				
			||||||
				<p class="inline-flex items-center space-x-2">
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
					<i class="ion-md-archive text-lg"></i> @CascadingState.Localizer["Data import/export"]
 | 
										<i class="ion-md-archive text-xl"></i> <span>@CascadingState.Localizer["Data import/export"]</span>
 | 
				
			||||||
				</p>
 | 
									</p>
 | 
				
			||||||
			</TitleChildren>
 | 
								</TitleChildren>
 | 
				
			||||||
			<InnerContent>
 | 
								<InnerContent>
 | 
				
			||||||
@@ -54,7 +54,7 @@
 | 
				
			|||||||
		<OpenDownContainer>
 | 
							<OpenDownContainer>
 | 
				
			||||||
			<TitleChildren>
 | 
								<TitleChildren>
 | 
				
			||||||
				<p class="inline-flex items-center space-x-2">
 | 
									<p class="inline-flex items-center space-x-2">
 | 
				
			||||||
					<i class="ion-md-eye-off text-lg"></i> @CascadingState.Localizer["Mutes/Blocks"]
 | 
										<i class="ion-md-eye-off text-xl"></i> <span>@CascadingState.Localizer["Mutes/Blocks"]</span>
 | 
				
			||||||
				</p>
 | 
									</p>
 | 
				
			||||||
			</TitleChildren>
 | 
								</TitleChildren>
 | 
				
			||||||
			<InnerContent>
 | 
								<InnerContent>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -66,7 +66,8 @@ namespace decePubClient.Services
 | 
				
			|||||||
					Medias = new(),
 | 
										Medias = new(),
 | 
				
			||||||
					CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
										CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
				
			||||||
					IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
										IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
					IsBoosted = Random.Shared.Next() % 2 == 0,
 | 
										BoostsCounter = Random.Shared.Next(0, 100),
 | 
				
			||||||
 | 
										IsBoostedByCurrentUser = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
				});
 | 
									});
 | 
				
			||||||
				messages.Add(new()
 | 
									messages.Add(new()
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
@@ -79,7 +80,8 @@ namespace decePubClient.Services
 | 
				
			|||||||
					Medias = new(),
 | 
										Medias = new(),
 | 
				
			||||||
					CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
										CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
				
			||||||
					IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
										IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
					IsBoosted = Random.Shared.Next() % 2 == 0,
 | 
										BoostsCounter = Random.Shared.Next(0, 100),
 | 
				
			||||||
 | 
										IsBoostedByCurrentUser = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
				});
 | 
									});
 | 
				
			||||||
				messages.Add(new()
 | 
									messages.Add(new()
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
@@ -92,7 +94,8 @@ namespace decePubClient.Services
 | 
				
			|||||||
					Medias = new(),
 | 
										Medias = new(),
 | 
				
			||||||
					CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
										CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
				
			||||||
					IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
										IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
					IsBoosted = Random.Shared.Next() % 2 == 0,
 | 
										BoostsCounter = Random.Shared.Next(0, 100),
 | 
				
			||||||
 | 
										IsBoostedByCurrentUser = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
				});
 | 
									});
 | 
				
			||||||
				messages.Add(new()
 | 
									messages.Add(new()
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
@@ -114,7 +117,8 @@ namespace decePubClient.Services
 | 
				
			|||||||
					},
 | 
										},
 | 
				
			||||||
					CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
										CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
				
			||||||
					IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
										IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
					IsBoosted = Random.Shared.Next() % 2 == 0,
 | 
										BoostsCounter = Random.Shared.Next(0, 100),
 | 
				
			||||||
 | 
										IsBoostedByCurrentUser = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
				});
 | 
									});
 | 
				
			||||||
				messages.Add(new()
 | 
									messages.Add(new()
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
@@ -136,12 +140,37 @@ namespace decePubClient.Services
 | 
				
			|||||||
					},
 | 
										},
 | 
				
			||||||
					CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
										CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
				
			||||||
					IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
										IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
					IsBoosted = Random.Shared.Next() % 2 == 0,
 | 
										BoostsCounter = Random.Shared.Next(0, 100),
 | 
				
			||||||
 | 
										IsBoostedByCurrentUser = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
				});
 | 
									});
 | 
				
			||||||
				messages.Add(new()
 | 
									messages.Add(new()
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					RootMessageId = default,
 | 
										RootMessageId = default,
 | 
				
			||||||
					MessageId = "96025b43-5235-44e9-a3fa-98df31edfbfb",
 | 
										MessageId = "277ca76b-aaad-4aa6-95fb-25f59e2fddf9",
 | 
				
			||||||
 | 
										User = Faker.GetRandomUser(),
 | 
				
			||||||
 | 
										MessageType = (MessageType)Random.Shared.Next(0, 4),
 | 
				
			||||||
 | 
										Title = default,
 | 
				
			||||||
 | 
										Content = "test audio",
 | 
				
			||||||
 | 
										Medias = new()
 | 
				
			||||||
 | 
										{
 | 
				
			||||||
 | 
											new()
 | 
				
			||||||
 | 
											{
 | 
				
			||||||
 | 
												FileName = "09bfb06d0096975f.mp3",
 | 
				
			||||||
 | 
												Url = "https://cdn.masto.host/mastodonuno/media_attachments/files/107/798/288/501/917/857/original/09bfb06d0096975f.mp3",
 | 
				
			||||||
 | 
												AltText = "09bfb06d0096975f.mp3",
 | 
				
			||||||
 | 
												ContentType = "audio/mp3"
 | 
				
			||||||
 | 
											}
 | 
				
			||||||
 | 
										},
 | 
				
			||||||
 | 
										CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
				
			||||||
 | 
										IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
 | 
										BoostsCounter = Random.Shared.Next(0, 100),
 | 
				
			||||||
 | 
										IsBoostedByCurrentUser = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
 | 
									});
 | 
				
			||||||
 | 
									messages.Add(new()
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										BoostingUser = Faker.GetRandomBoostingUser(),
 | 
				
			||||||
 | 
										RootMessageId = default,
 | 
				
			||||||
 | 
										MessageId = "de64e520-a7d3-4f31-b5a9-ba236f3b146c",
 | 
				
			||||||
					User = Faker.GetRandomUser(),
 | 
										User = Faker.GetRandomUser(),
 | 
				
			||||||
					MessageType = (MessageType)Random.Shared.Next(0, 4),
 | 
										MessageType = (MessageType)Random.Shared.Next(0, 4),
 | 
				
			||||||
					Title = default,
 | 
										Title = default,
 | 
				
			||||||
@@ -172,7 +201,45 @@ namespace decePubClient.Services
 | 
				
			|||||||
					},
 | 
										},
 | 
				
			||||||
					CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
										CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
				
			||||||
					IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
										IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
					IsBoosted = Random.Shared.Next() % 2 == 0,
 | 
										BoostsCounter = Random.Shared.Next(0,100),
 | 
				
			||||||
 | 
										IsBoostedByCurrentUser = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
 | 
									});
 | 
				
			||||||
 | 
									messages.Add(new()
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										RootMessageId = default,
 | 
				
			||||||
 | 
										MessageId = "de64e520-a7d3-4f31-b5a9-ba236f3b146c",
 | 
				
			||||||
 | 
										User = Faker.GetRandomUser(),
 | 
				
			||||||
 | 
										MessageType = (MessageType)Random.Shared.Next(0, 4),
 | 
				
			||||||
 | 
										Title = default,
 | 
				
			||||||
 | 
										Content = "test immagini",
 | 
				
			||||||
 | 
										Medias = new()
 | 
				
			||||||
 | 
										{
 | 
				
			||||||
 | 
											new()
 | 
				
			||||||
 | 
											{
 | 
				
			||||||
 | 
												FileName = "51a7cf620f1dd096ac5867d5b78f8c71d57a23972b31c64ec124a8c41e77a618.jpg",
 | 
				
			||||||
 | 
												Url = "https://ihatebeinga.live/media/51a7cf620f1dd096ac5867d5b78f8c71d57a23972b31c64ec124a8c41e77a618.jpg",
 | 
				
			||||||
 | 
												AltText = "51a7cf620f1dd096ac5867d5b78f8c71d57a23972b31c64ec124a8c41e77a618.jpg",
 | 
				
			||||||
 | 
												ContentType = "image/jpg"
 | 
				
			||||||
 | 
											},
 | 
				
			||||||
 | 
											new()
 | 
				
			||||||
 | 
											{
 | 
				
			||||||
 | 
												FileName = "51a7cf620f1dd096ac5867d5b78f8c71d57a23972b31c64ec124a8c41e77a618.jpg",
 | 
				
			||||||
 | 
												Url = "https://ihatebeinga.live/media/51a7cf620f1dd096ac5867d5b78f8c71d57a23972b31c64ec124a8c41e77a618.jpg",
 | 
				
			||||||
 | 
												AltText = "51a7cf620f1dd096ac5867d5b78f8c71d57a23972b31c64ec124a8c41e77a618.jpg",
 | 
				
			||||||
 | 
												ContentType = "image/jpg"
 | 
				
			||||||
 | 
											},
 | 
				
			||||||
 | 
											new()
 | 
				
			||||||
 | 
											{
 | 
				
			||||||
 | 
												FileName = "51a7cf620f1dd096ac5867d5b78f8c71d57a23972b31c64ec124a8c41e77a618.jpg",
 | 
				
			||||||
 | 
												Url = "https://ihatebeinga.live/media/51a7cf620f1dd096ac5867d5b78f8c71d57a23972b31c64ec124a8c41e77a618.jpg",
 | 
				
			||||||
 | 
												AltText = "51a7cf620f1dd096ac5867d5b78f8c71d57a23972b31c64ec124a8c41e77a618.jpg",
 | 
				
			||||||
 | 
												ContentType = "image/jpg"
 | 
				
			||||||
 | 
											}
 | 
				
			||||||
 | 
										},
 | 
				
			||||||
 | 
										CreatedAt = DateTime.UtcNow.AddMinutes(Random.Shared.Next(-5000, 0)),
 | 
				
			||||||
 | 
										IsFavourite = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
 | 
										BoostsCounter = Random.Shared.Next(0,100),
 | 
				
			||||||
 | 
										IsBoostedByCurrentUser = Random.Shared.Next() % 2 == 0,
 | 
				
			||||||
				});
 | 
									});
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										127
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										127
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -86,6 +86,7 @@
 | 
				
			|||||||
      "version": "2.1.5",
 | 
					      "version": "2.1.5",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
 | 
				
			||||||
      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
 | 
					      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "@nodelib/fs.stat": "2.0.5",
 | 
					        "@nodelib/fs.stat": "2.0.5",
 | 
				
			||||||
        "run-parallel": "^1.1.9"
 | 
					        "run-parallel": "^1.1.9"
 | 
				
			||||||
@@ -94,12 +95,14 @@
 | 
				
			|||||||
    "@nodelib/fs.stat": {
 | 
					    "@nodelib/fs.stat": {
 | 
				
			||||||
      "version": "2.0.5",
 | 
					      "version": "2.0.5",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
 | 
				
			||||||
      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
 | 
					      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "@nodelib/fs.walk": {
 | 
					    "@nodelib/fs.walk": {
 | 
				
			||||||
      "version": "1.2.8",
 | 
					      "version": "1.2.8",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
 | 
				
			||||||
      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
 | 
					      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "@nodelib/fs.scandir": "2.1.5",
 | 
					        "@nodelib/fs.scandir": "2.1.5",
 | 
				
			||||||
        "fastq": "^1.6.0"
 | 
					        "fastq": "^1.6.0"
 | 
				
			||||||
@@ -169,12 +172,14 @@
 | 
				
			|||||||
    "ansi-regex": {
 | 
					    "ansi-regex": {
 | 
				
			||||||
      "version": "5.0.1",
 | 
					      "version": "5.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
 | 
					      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "ansi-styles": {
 | 
					    "ansi-styles": {
 | 
				
			||||||
      "version": "4.3.0",
 | 
					      "version": "4.3.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
 | 
					      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "color-convert": "^2.0.1"
 | 
					        "color-convert": "^2.0.1"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -183,6 +188,7 @@
 | 
				
			|||||||
      "version": "3.1.2",
 | 
					      "version": "3.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
 | 
					      "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "normalize-path": "^3.0.0",
 | 
					        "normalize-path": "^3.0.0",
 | 
				
			||||||
        "picomatch": "^2.0.4"
 | 
					        "picomatch": "^2.0.4"
 | 
				
			||||||
@@ -197,7 +203,8 @@
 | 
				
			|||||||
    "array-union": {
 | 
					    "array-union": {
 | 
				
			||||||
      "version": "3.0.1",
 | 
					      "version": "3.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw=="
 | 
					      "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "autoprefixer": {
 | 
					    "autoprefixer": {
 | 
				
			||||||
      "version": "10.4.2",
 | 
					      "version": "10.4.2",
 | 
				
			||||||
@@ -216,12 +223,14 @@
 | 
				
			|||||||
    "binary-extensions": {
 | 
					    "binary-extensions": {
 | 
				
			||||||
      "version": "2.2.0",
 | 
					      "version": "2.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
 | 
					      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "braces": {
 | 
					    "braces": {
 | 
				
			||||||
      "version": "3.0.2",
 | 
					      "version": "3.0.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
 | 
					      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "fill-range": "^7.0.1"
 | 
					        "fill-range": "^7.0.1"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -271,6 +280,7 @@
 | 
				
			|||||||
      "version": "3.5.3",
 | 
					      "version": "3.5.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
 | 
					      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "anymatch": "~3.1.2",
 | 
					        "anymatch": "~3.1.2",
 | 
				
			||||||
        "braces": "~3.0.2",
 | 
					        "braces": "~3.0.2",
 | 
				
			||||||
@@ -286,6 +296,7 @@
 | 
				
			|||||||
      "version": "7.0.4",
 | 
					      "version": "7.0.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
 | 
					      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "string-width": "^4.2.0",
 | 
					        "string-width": "^4.2.0",
 | 
				
			||||||
        "strip-ansi": "^6.0.0",
 | 
					        "strip-ansi": "^6.0.0",
 | 
				
			||||||
@@ -296,6 +307,7 @@
 | 
				
			|||||||
      "version": "2.0.1",
 | 
					      "version": "2.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
 | 
					      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "color-name": "~1.1.4"
 | 
					        "color-name": "~1.1.4"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -303,7 +315,8 @@
 | 
				
			|||||||
    "color-name": {
 | 
					    "color-name": {
 | 
				
			||||||
      "version": "1.1.4",
 | 
					      "version": "1.1.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
 | 
					      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "cosmiconfig": {
 | 
					    "cosmiconfig": {
 | 
				
			||||||
      "version": "7.0.1",
 | 
					      "version": "7.0.1",
 | 
				
			||||||
@@ -333,7 +346,8 @@
 | 
				
			|||||||
    "dependency-graph": {
 | 
					    "dependency-graph": {
 | 
				
			||||||
      "version": "0.11.0",
 | 
					      "version": "0.11.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg=="
 | 
					      "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "detective": {
 | 
					    "detective": {
 | 
				
			||||||
      "version": "5.2.0",
 | 
					      "version": "5.2.0",
 | 
				
			||||||
@@ -356,6 +370,7 @@
 | 
				
			|||||||
      "version": "3.0.1",
 | 
					      "version": "3.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
 | 
					      "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "path-type": "^4.0.0"
 | 
					        "path-type": "^4.0.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -375,7 +390,8 @@
 | 
				
			|||||||
    "emoji-regex": {
 | 
					    "emoji-regex": {
 | 
				
			||||||
      "version": "8.0.0",
 | 
					      "version": "8.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
 | 
					      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "error-ex": {
 | 
					    "error-ex": {
 | 
				
			||||||
      "version": "1.3.2",
 | 
					      "version": "1.3.2",
 | 
				
			||||||
@@ -389,7 +405,8 @@
 | 
				
			|||||||
    "escalade": {
 | 
					    "escalade": {
 | 
				
			||||||
      "version": "3.1.1",
 | 
					      "version": "3.1.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
 | 
					      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "escape-string-regexp": {
 | 
					    "escape-string-regexp": {
 | 
				
			||||||
      "version": "1.0.5",
 | 
					      "version": "1.0.5",
 | 
				
			||||||
@@ -401,6 +418,7 @@
 | 
				
			|||||||
      "version": "3.2.11",
 | 
					      "version": "3.2.11",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
 | 
				
			||||||
      "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
 | 
					      "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "@nodelib/fs.stat": "^2.0.2",
 | 
					        "@nodelib/fs.stat": "^2.0.2",
 | 
				
			||||||
        "@nodelib/fs.walk": "^1.2.3",
 | 
					        "@nodelib/fs.walk": "^1.2.3",
 | 
				
			||||||
@@ -413,6 +431,7 @@
 | 
				
			|||||||
      "version": "1.13.0",
 | 
					      "version": "1.13.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
 | 
					      "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "reusify": "^1.0.4"
 | 
					        "reusify": "^1.0.4"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -421,6 +440,7 @@
 | 
				
			|||||||
      "version": "7.0.1",
 | 
					      "version": "7.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
 | 
					      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "to-regex-range": "^5.0.1"
 | 
					        "to-regex-range": "^5.0.1"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -435,6 +455,7 @@
 | 
				
			|||||||
      "version": "10.0.0",
 | 
					      "version": "10.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
 | 
					      "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "graceful-fs": "^4.2.0",
 | 
					        "graceful-fs": "^4.2.0",
 | 
				
			||||||
        "jsonfile": "^6.0.1",
 | 
					        "jsonfile": "^6.0.1",
 | 
				
			||||||
@@ -445,6 +466,7 @@
 | 
				
			|||||||
      "version": "2.3.2",
 | 
					      "version": "2.3.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
 | 
					      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "optional": true
 | 
					      "optional": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "function-bind": {
 | 
					    "function-bind": {
 | 
				
			||||||
@@ -456,17 +478,20 @@
 | 
				
			|||||||
    "get-caller-file": {
 | 
					    "get-caller-file": {
 | 
				
			||||||
      "version": "2.0.5",
 | 
					      "version": "2.0.5",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
 | 
				
			||||||
      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
 | 
					      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "get-stdin": {
 | 
					    "get-stdin": {
 | 
				
			||||||
      "version": "9.0.0",
 | 
					      "version": "9.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA=="
 | 
					      "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "glob-parent": {
 | 
					    "glob-parent": {
 | 
				
			||||||
      "version": "5.1.2",
 | 
					      "version": "5.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
 | 
					      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "is-glob": "^4.0.1"
 | 
					        "is-glob": "^4.0.1"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -475,6 +500,7 @@
 | 
				
			|||||||
      "version": "12.2.0",
 | 
					      "version": "12.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==",
 | 
					      "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "array-union": "^3.0.1",
 | 
					        "array-union": "^3.0.1",
 | 
				
			||||||
        "dir-glob": "^3.0.1",
 | 
					        "dir-glob": "^3.0.1",
 | 
				
			||||||
@@ -487,7 +513,8 @@
 | 
				
			|||||||
    "graceful-fs": {
 | 
					    "graceful-fs": {
 | 
				
			||||||
      "version": "4.2.9",
 | 
					      "version": "4.2.9",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
 | 
				
			||||||
      "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ=="
 | 
					      "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "has": {
 | 
					    "has": {
 | 
				
			||||||
      "version": "1.0.3",
 | 
					      "version": "1.0.3",
 | 
				
			||||||
@@ -507,7 +534,8 @@
 | 
				
			|||||||
    "ignore": {
 | 
					    "ignore": {
 | 
				
			||||||
      "version": "5.2.0",
 | 
					      "version": "5.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ=="
 | 
					      "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "import-fresh": {
 | 
					    "import-fresh": {
 | 
				
			||||||
      "version": "3.3.0",
 | 
					      "version": "3.3.0",
 | 
				
			||||||
@@ -529,6 +557,7 @@
 | 
				
			|||||||
      "version": "2.1.0",
 | 
					      "version": "2.1.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
 | 
					      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "binary-extensions": "^2.0.0"
 | 
					        "binary-extensions": "^2.0.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -545,17 +574,20 @@
 | 
				
			|||||||
    "is-extglob": {
 | 
					    "is-extglob": {
 | 
				
			||||||
      "version": "2.1.1",
 | 
					      "version": "2.1.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
 | 
				
			||||||
      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
 | 
					      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "is-fullwidth-code-point": {
 | 
					    "is-fullwidth-code-point": {
 | 
				
			||||||
      "version": "3.0.0",
 | 
					      "version": "3.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
 | 
					      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "is-glob": {
 | 
					    "is-glob": {
 | 
				
			||||||
      "version": "4.0.3",
 | 
					      "version": "4.0.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
 | 
					      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "is-extglob": "^2.1.1"
 | 
					        "is-extglob": "^2.1.1"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -563,7 +595,8 @@
 | 
				
			|||||||
    "is-number": {
 | 
					    "is-number": {
 | 
				
			||||||
      "version": "7.0.0",
 | 
					      "version": "7.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
 | 
					      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "js-tokens": {
 | 
					    "js-tokens": {
 | 
				
			||||||
      "version": "4.0.0",
 | 
					      "version": "4.0.0",
 | 
				
			||||||
@@ -581,6 +614,7 @@
 | 
				
			|||||||
      "version": "6.1.0",
 | 
					      "version": "6.1.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
 | 
					      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "graceful-fs": "^4.1.6",
 | 
					        "graceful-fs": "^4.1.6",
 | 
				
			||||||
        "universalify": "^2.0.0"
 | 
					        "universalify": "^2.0.0"
 | 
				
			||||||
@@ -589,7 +623,8 @@
 | 
				
			|||||||
    "lilconfig": {
 | 
					    "lilconfig": {
 | 
				
			||||||
      "version": "2.0.4",
 | 
					      "version": "2.0.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA=="
 | 
					      "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "lines-and-columns": {
 | 
					    "lines-and-columns": {
 | 
				
			||||||
      "version": "1.2.4",
 | 
					      "version": "1.2.4",
 | 
				
			||||||
@@ -618,12 +653,14 @@
 | 
				
			|||||||
    "merge2": {
 | 
					    "merge2": {
 | 
				
			||||||
      "version": "1.4.1",
 | 
					      "version": "1.4.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
 | 
					      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "micromatch": {
 | 
					    "micromatch": {
 | 
				
			||||||
      "version": "4.0.4",
 | 
					      "version": "4.0.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
 | 
					      "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "braces": "^3.0.1",
 | 
					        "braces": "^3.0.1",
 | 
				
			||||||
        "picomatch": "^2.2.3"
 | 
					        "picomatch": "^2.2.3"
 | 
				
			||||||
@@ -656,7 +693,8 @@
 | 
				
			|||||||
    "normalize-path": {
 | 
					    "normalize-path": {
 | 
				
			||||||
      "version": "3.0.0",
 | 
					      "version": "3.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
 | 
					      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "normalize-range": {
 | 
					    "normalize-range": {
 | 
				
			||||||
      "version": "0.1.2",
 | 
					      "version": "0.1.2",
 | 
				
			||||||
@@ -700,22 +738,26 @@
 | 
				
			|||||||
    "path-type": {
 | 
					    "path-type": {
 | 
				
			||||||
      "version": "4.0.0",
 | 
					      "version": "4.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
 | 
					      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "picocolors": {
 | 
					    "picocolors": {
 | 
				
			||||||
      "version": "1.0.0",
 | 
					      "version": "1.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
 | 
					      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "picomatch": {
 | 
					    "picomatch": {
 | 
				
			||||||
      "version": "2.3.1",
 | 
					      "version": "2.3.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
 | 
					      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "pify": {
 | 
					    "pify": {
 | 
				
			||||||
      "version": "2.3.0",
 | 
					      "version": "2.3.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
 | 
					      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "postcss": {
 | 
					    "postcss": {
 | 
				
			||||||
      "version": "8.4.6",
 | 
					      "version": "8.4.6",
 | 
				
			||||||
@@ -732,6 +774,7 @@
 | 
				
			|||||||
      "version": "9.1.0",
 | 
					      "version": "9.1.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-9.1.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-9.1.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-zvDN2ADbWfza42sAnj+O2uUWyL0eRL1V+6giM2vi4SqTR3gTYy8XzcpfwccayF2szcUif0HMmXiEaDv9iEhcpw==",
 | 
					      "integrity": "sha512-zvDN2ADbWfza42sAnj+O2uUWyL0eRL1V+6giM2vi4SqTR3gTYy8XzcpfwccayF2szcUif0HMmXiEaDv9iEhcpw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "chokidar": "^3.3.0",
 | 
					        "chokidar": "^3.3.0",
 | 
				
			||||||
        "dependency-graph": "^0.11.0",
 | 
					        "dependency-graph": "^0.11.0",
 | 
				
			||||||
@@ -777,6 +820,7 @@
 | 
				
			|||||||
      "version": "3.1.1",
 | 
					      "version": "3.1.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-c/9XYboIbSEUZpiD1UQD0IKiUe8n9WHYV7YFe7X7J+ZwCsEKkUJSFWjS9hBU1RR9THR7jMXst8sxiqP0jjo2mg==",
 | 
					      "integrity": "sha512-c/9XYboIbSEUZpiD1UQD0IKiUe8n9WHYV7YFe7X7J+ZwCsEKkUJSFWjS9hBU1RR9THR7jMXst8sxiqP0jjo2mg==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "lilconfig": "^2.0.4",
 | 
					        "lilconfig": "^2.0.4",
 | 
				
			||||||
        "yaml": "^1.10.2"
 | 
					        "yaml": "^1.10.2"
 | 
				
			||||||
@@ -804,6 +848,7 @@
 | 
				
			|||||||
      "version": "7.0.5",
 | 
					      "version": "7.0.5",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz",
 | 
				
			||||||
      "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==",
 | 
					      "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "picocolors": "^1.0.0",
 | 
					        "picocolors": "^1.0.0",
 | 
				
			||||||
        "thenby": "^1.3.4"
 | 
					        "thenby": "^1.3.4"
 | 
				
			||||||
@@ -828,12 +873,14 @@
 | 
				
			|||||||
    "pretty-hrtime": {
 | 
					    "pretty-hrtime": {
 | 
				
			||||||
      "version": "1.0.3",
 | 
					      "version": "1.0.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
 | 
				
			||||||
      "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE="
 | 
					      "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "queue-microtask": {
 | 
					    "queue-microtask": {
 | 
				
			||||||
      "version": "1.2.3",
 | 
					      "version": "1.2.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
 | 
					      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "quick-lru": {
 | 
					    "quick-lru": {
 | 
				
			||||||
      "version": "5.1.1",
 | 
					      "version": "5.1.1",
 | 
				
			||||||
@@ -845,6 +892,7 @@
 | 
				
			|||||||
      "version": "1.0.0",
 | 
					      "version": "1.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
 | 
					      "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "pify": "^2.3.0"
 | 
					        "pify": "^2.3.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -853,6 +901,7 @@
 | 
				
			|||||||
      "version": "3.6.0",
 | 
					      "version": "3.6.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
 | 
					      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "picomatch": "^2.2.1"
 | 
					        "picomatch": "^2.2.1"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -860,7 +909,8 @@
 | 
				
			|||||||
    "require-directory": {
 | 
					    "require-directory": {
 | 
				
			||||||
      "version": "2.1.1",
 | 
					      "version": "2.1.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
 | 
				
			||||||
      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
 | 
					      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "resolve": {
 | 
					    "resolve": {
 | 
				
			||||||
      "version": "1.22.0",
 | 
					      "version": "1.22.0",
 | 
				
			||||||
@@ -882,12 +932,14 @@
 | 
				
			|||||||
    "reusify": {
 | 
					    "reusify": {
 | 
				
			||||||
      "version": "1.0.4",
 | 
					      "version": "1.0.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
 | 
					      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "run-parallel": {
 | 
					    "run-parallel": {
 | 
				
			||||||
      "version": "1.2.0",
 | 
					      "version": "1.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
 | 
					      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "queue-microtask": "^1.2.2"
 | 
					        "queue-microtask": "^1.2.2"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -895,7 +947,8 @@
 | 
				
			|||||||
    "slash": {
 | 
					    "slash": {
 | 
				
			||||||
      "version": "4.0.0",
 | 
					      "version": "4.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew=="
 | 
					      "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "source-map-js": {
 | 
					    "source-map-js": {
 | 
				
			||||||
      "version": "1.0.2",
 | 
					      "version": "1.0.2",
 | 
				
			||||||
@@ -907,6 +960,7 @@
 | 
				
			|||||||
      "version": "4.2.3",
 | 
					      "version": "4.2.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
 | 
					      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "emoji-regex": "^8.0.0",
 | 
					        "emoji-regex": "^8.0.0",
 | 
				
			||||||
        "is-fullwidth-code-point": "^3.0.0",
 | 
					        "is-fullwidth-code-point": "^3.0.0",
 | 
				
			||||||
@@ -917,6 +971,7 @@
 | 
				
			|||||||
      "version": "6.0.1",
 | 
					      "version": "6.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
 | 
					      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "ansi-regex": "^5.0.1"
 | 
					        "ansi-regex": "^5.0.1"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -978,12 +1033,14 @@
 | 
				
			|||||||
    "thenby": {
 | 
					    "thenby": {
 | 
				
			||||||
      "version": "1.3.4",
 | 
					      "version": "1.3.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ=="
 | 
					      "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "to-regex-range": {
 | 
					    "to-regex-range": {
 | 
				
			||||||
      "version": "5.0.1",
 | 
					      "version": "5.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
 | 
					      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "is-number": "^7.0.0"
 | 
					        "is-number": "^7.0.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -991,7 +1048,8 @@
 | 
				
			|||||||
    "universalify": {
 | 
					    "universalify": {
 | 
				
			||||||
      "version": "2.0.0",
 | 
					      "version": "2.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
 | 
					      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "util-deprecate": {
 | 
					    "util-deprecate": {
 | 
				
			||||||
      "version": "1.0.2",
 | 
					      "version": "1.0.2",
 | 
				
			||||||
@@ -1003,6 +1061,7 @@
 | 
				
			|||||||
      "version": "7.0.0",
 | 
					      "version": "7.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
 | 
					      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "ansi-styles": "^4.0.0",
 | 
					        "ansi-styles": "^4.0.0",
 | 
				
			||||||
        "string-width": "^4.1.0",
 | 
					        "string-width": "^4.1.0",
 | 
				
			||||||
@@ -1018,17 +1077,20 @@
 | 
				
			|||||||
    "y18n": {
 | 
					    "y18n": {
 | 
				
			||||||
      "version": "5.0.8",
 | 
					      "version": "5.0.8",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
 | 
				
			||||||
      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
 | 
					      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "yaml": {
 | 
					    "yaml": {
 | 
				
			||||||
      "version": "1.10.2",
 | 
					      "version": "1.10.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
 | 
					      "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "yargs": {
 | 
					    "yargs": {
 | 
				
			||||||
      "version": "17.3.1",
 | 
					      "version": "17.3.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==",
 | 
					      "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
      "requires": {
 | 
					      "requires": {
 | 
				
			||||||
        "cliui": "^7.0.2",
 | 
					        "cliui": "^7.0.2",
 | 
				
			||||||
        "escalade": "^3.1.1",
 | 
					        "escalade": "^3.1.1",
 | 
				
			||||||
@@ -1042,7 +1104,8 @@
 | 
				
			|||||||
    "yargs-parser": {
 | 
					    "yargs-parser": {
 | 
				
			||||||
      "version": "21.0.0",
 | 
					      "version": "21.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA=="
 | 
					      "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,10 +12,9 @@
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  "author": "",
 | 
					  "author": "",
 | 
				
			||||||
  "license": "ISC",
 | 
					  "license": "ISC",
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {},
 | 
				
			||||||
    "postcss-cli": "^9.1.0"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
 | 
					    "postcss-cli": "^9.1.0",
 | 
				
			||||||
    "@tailwindcss/aspect-ratio": "^0.4.0",
 | 
					    "@tailwindcss/aspect-ratio": "^0.4.0",
 | 
				
			||||||
    "@tailwindcss/forms": "^0.4.0",
 | 
					    "@tailwindcss/forms": "^0.4.0",
 | 
				
			||||||
    "@tailwindcss/line-clamp": "^0.3.0",
 | 
					    "@tailwindcss/line-clamp": "^0.3.0",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								wwwroot/css/style.min.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								wwwroot/css/style.min.css
									
									
									
									
										vendored
									
									
								
							@@ -8578,6 +8578,10 @@ video{
 | 
				
			|||||||
  font-size:1.125rem;
 | 
					  font-size:1.125rem;
 | 
				
			||||||
  line-height:1.75rem;
 | 
					  line-height:1.75rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					.text-xl{
 | 
				
			||||||
 | 
					  font-size:1.25rem;
 | 
				
			||||||
 | 
					  line-height:1.75rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
.text-4xl{
 | 
					.text-4xl{
 | 
				
			||||||
  font-size:2.25rem;
 | 
					  font-size:2.25rem;
 | 
				
			||||||
  line-height:2.5rem;
 | 
					  line-height:2.5rem;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								wwwroot/vendor/tailwind.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								wwwroot/vendor/tailwind.css
									
									
									
									
										vendored
									
									
								
							@@ -729,6 +729,10 @@ video{
 | 
				
			|||||||
  font-size:1.125rem;
 | 
					  font-size:1.125rem;
 | 
				
			||||||
  line-height:1.75rem;
 | 
					  line-height:1.75rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					.text-xl{
 | 
				
			||||||
 | 
					  font-size:1.25rem;
 | 
				
			||||||
 | 
					  line-height:1.75rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
.text-4xl{
 | 
					.text-4xl{
 | 
				
			||||||
  font-size:2.25rem;
 | 
					  font-size:2.25rem;
 | 
				
			||||||
  line-height:2.5rem;
 | 
					  line-height:2.5rem;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user