1<!DOCTYPE html> 2<html lang="en"><head><meta charset="utf-8"> 3 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 4 <base href="/"> 5 <link rel="icon" type="image/svg+xml" href="branding/favicon.svg"> 6 <link href="_framework/dotnet.wbpa9zeobx.js" rel="preload" as="script" fetchpriority="high" crossorigin="anonymous" integrity="sha256-vJNKLCzYIgMIZsXROxxT7Die3B1UThvidm14rCtl75o=" /> 7 <link rel="stylesheet" href="_content/MudBlazor/MudBlazor.min.6x2ajsl5c8.css" /> 8 <link rel="stylesheet" href="_content/Z.Blazor.Diagrams/style.min.kjpcwcpl0m.css" /> 9 <link rel="stylesheet" href="css/site.min.f77wpwfxjd.css" /> 10 <link rel="stylesheet" href="Geoconfirmed.Server.rj2bawaprf.styles.css" /> 11 <link rel="stylesheet" href="lib/maplibre/maplibre-gl.lknc33pihc.css" /> 12
12<script type="importmap">{ 13 "imports": { 14 "./Components/ChipMultiSelect.razor.js": "./Components/ChipMultiSelect.0dupfe019l.razor.js", 15 "./Components/Map/MapLibre.razor.js": "./Components/Map/MapLibre.mrzap9dn3x.razor.js", 16 "./Components/Orbat/OrbatDiagram.razor.js": "./Components/Orbat/OrbatDiagram.m9xjddoukk.razor.js", 17 "./Components/QuillEditor.razor.js": "./Components/QuillEditor.dkjomxn3yq.razor.js", 18 "./Components/SortableList.razor.js": "./Components/SortableList.emlhiha34z.razor.js", 19 "./Geoconfirmed.Server.lib.module.js": "./Geoconfirmed.Server.o6kwazyep2.lib.module.js", 20 "./Pages/Toolkit/Toolkit.razor.js": "./Pages/Toolkit/Toolkit.ahklpziiur.razor.js", 21 "./_content/MudBlazor/MudBlazor.min.js": "./_content/MudBlazor/MudBlazor.min.jolev99wdd.js", 22 "./_content/Z.Blazor.Diagrams/script.js": "./_content/Z.Blazor.Diagrams/script.gd8b3shkm2.js", 23 "./_content/Z.Blazor.Diagrams/script.min.js": "./_content/Z.Blazor.Diagrams/script.min.8l02e235tj.js", 24 "./_framework/blazor.server.js": "./_framework/blazor.server.dwu72t6gfx.js", 25 "./_framework/blazor.web.js": "./_framework/blazor.web.9hsif5t8mt.js", 26 "./_framework/dotnet.native.js": "./_framework/dotnet.native.2ag2pd6i77.js", 27 "./_framework/dotnet.runtime.js": "./_framework/dotnet.runtime.v06hirbjsv.js", 28 "./_framework/dotnet.js": "./_framework/dotnet.wbpa9zeobx.js", 29 "./js/page-visibility.js": "./js/page-visibility.j8d3k6t9sd.js", 30 "./js/sortable.esm.js": "./js/sortable.esm.ad77j3wqwf.js", 31 "./lib/maplibre/maplibre-gl.js": "./lib/maplibre/maplibre-gl.tm1kcqru8s.js", 32 "./lib/turf/turf.min.js": "./lib/turf/turf.min.kv09mgep2m.js", 33 "_framework/resource-collection.js": "./_framework/resource-collection.itv_j.js", 34 "_framework/resource-collection.js.gz": "./_framework/resource-collection.itv_j.js.gz" 35 }, 36 "integrity": { 37 "./Components/ChipMultiSelect.0dupfe019l.razor.js": "sha256-9AzzruFMT3wRu2+y6S3q1V8dQRC/sIUgzJJ338orRLI=", 38 "./Components/ChipMultiSelect.razor.js": "sha256-9AzzruFMT3wRu2+y6S3q1V8dQRC/sIUgzJJ338orRLI=", 39 "./Components/Map/MapLibre.mrzap9dn3x.razor.js": "sha256-bh9lbx5EM8OP8qwJA91HacB8pIZBa3D34jrWN/WRbbY=", 40 "./Components/Map/MapLibre.razor.js": "sha256-bh9lbx5EM8OP8qwJA91HacB8pIZBa3D34jrWN/WRbbY=", 41 "./Components/Orbat/OrbatDiagram.m9xjddoukk.razor.js": "sha256-KrCuYKrLCaYnPG/0+hZ5k1TD1fkfpH2f71KZYJN6ZAk=", 42 "./Components/Orbat/OrbatDiagram.razor.js": "sha256-KrCuYKrLCaYnPG/0+hZ5k1TD1fkfpH2f71KZYJN6ZAk=", 43 "./Components/QuillEditor.dkjomxn3yq.razor.js": "sha256-81x8eOqyFwDqfH6jFem18E0TfTFnL5NOwDU2G3h4Qpw=", 44 "./Components/QuillEditor.razor.js": "sha256-81x8eOqyFwDqfH6jFem18E0TfTFnL5NOwDU2G3h4Qpw=", 45 "./Components/SortableList.emlhiha34z.razor.js": "sha256-th2QY+hz5Poil3RWxWppuLrescvvmhjrBgX3howjLzU=", 46 "./Components/SortableList.razor.js": "sha256-th2QY+hz5Poil3RWxWppuLrescvvmhjrBgX3howjLzU=", 47 "./Geoconfirmed.Server.lib.module.js": "sha256-MIS0Ny50u9x4Rvmr9eJCsXGMQ1sc+PkEWZW6cpVF1Ac=", 48 "./Geoconfirmed.Server.o6kwazyep2.lib.module.js": "sha256-MIS0Ny50u9x4Rvmr9eJCsXGMQ1sc+PkEWZW6cpVF1Ac=", 49 "./Pages/Toolkit/Toolkit.ahklpziiur.razor.js": "sha256-EuBhWVRHOKHrPcEP24zJTaezG3hKutmrGozx6FvcD00=", 50 "./Pages/Toolkit/Toolkit.razor.js": "sha256-EuBhWVRHOKHrPcEP24zJTaezG3hKutmrGozx6FvcD00=", 51 "./_content/MudBlazor/MudBlazor.min.jolev99wdd.js": "sha256-QzjV54WPFDZoVGX1oYGL1g4pxgMR0AvEZ5Nfl3uvpOQ=", 52 "./_content/MudBlazor/MudBlazor.min.js": "sha256-QzjV54WPFDZoVGX1oYGL1g4pxgMR0AvEZ5Nfl3uvpOQ=", 53 "./_content/Z.Blazor.Diagrams/script.gd8b3shkm2.js": "sha256-JOLpZRGjCLhxymxEneS0YcmDu2u5TLQVgnEmu0ujdn0=", 54 "./_content/Z.Blazor.Diagrams/script.js": "sha256-JOLpZRGjCLhxymxEneS0YcmDu2u5TLQVgnEmu0ujdn0=", 55 "./_content/Z.Blazor.Diagrams/script.min.8l02e235tj.js": "sha256-fPUqIj7jmA95o8LYGeWd3ccScqIqRgC4QmP0dvNe/Do=", 56 "./_content/Z.Blazor.Diagrams/script.min.js": "sha256-fPUqIj7jmA95o8LYGeWd3ccScqIqRgC4QmP0dvNe/Do=", 57 "./_framework/blazor.server.dwu72t6gfx.js": "sha256-Lc5OPalQJm9BAlnrUqnpkrh1LpQXi5KqbcuMnfqzZ6g=", 58 "./_framework/blazor.server.js": "sha256-Lc5OPalQJm9BAlnrUqnpkrh1LpQXi5KqbcuMnfqzZ6g=", 59 "./_framework/blazor.web.9hsif5t8mt.js": "sha256-UyxcGqcLON35RjdHgX1tr8QrjPLgL0P1EaXSRUokmko=", 60 "./_framework/blazor.web.js": "sha256-UyxcGqcLON35RjdHgX1tr8QrjPLgL0P1EaXSRUokmko=", 61 "./_framework/blazor.webassembly.js": "sha256-A59Tr9HqEhHMu8kU7kruLI9ayw5MRS6Lvc6z7jCbghk=", 62 "./_framework/dotnet.js": "sha256-vJNKLCzYIgMIZsXROxxT7Die3B1UThvidm14rCtl75o=", 63 "./_framework/dotnet.native.2ag2pd6i77.js": "sha256-FlRF1CYj+tC2st73PdKR/pbg0qu26R+qsW8BrO3Lu7E=", 64 "./_framework/dotnet.native.js": "sha256-FlRF1CYj+tC2st73PdKR/pbg0qu26R+qsW8BrO3Lu7E=", 65 "./_framework/dotnet.runtime.js": "sha256-QbnqrZGHtGq7wudS17/AYEPpH9JkphrsyVllD6JHmds=", 66 "./_framework/dotnet.runtime.v06hirbjsv.js": "sha256-QbnqrZGHtGq7wudS17/AYEPpH9JkphrsyVllD6JHmds=", 67 "./_framework/dotnet.wbpa9zeobx.js": "sha256-vJNKLCzYIgMIZsXROxxT7Die3B1UThvidm14rCtl75o=", 68 "./js/page-visibility.j8d3k6t9sd.js": "sha256-PR4on6neflaUq8xnxNNrnuEbWcuVR5tboApd7COlYpU=", 69 "./js/page-visibility.js": "sha256-PR4on6neflaUq8xnxNNrnuEbWcuVR5tboApd7COlYpU=", 70 "./js/sortable.esm.ad77j3wqwf.js": "sha256-8n+z0MKK/+qXMaATc+ALnmAEoRbd4pTlx8n0+0mJJmc=", 71 "./js/sortable.esm.js": "sha256-8n+z0MKK/+qXMaATc+ALnmAEoRbd4pTlx8n0+0mJJmc=", 72 "./lib/maplibre/maplibre-gl.js": "sha256-RamwepGJzlYFTGIKlHzPQeKR5YyV6bYVM7dAqqZe5cs=", 73 "./lib/maplibre/maplibre-gl.tm1kcqru8s.js": "sha256-RamwepGJzlYFTGIKlHzPQeKR5YyV6bYVM7dAqqZe5cs=", 74 "./lib/turf/turf.min.js": "sha256-UF06NdqKi/H4rtWQza0P+hHnDVHyjQwjWQB7r+0P04I=", 75 "./lib/turf/turf.min.kv09mgep2m.js": "sha256-UF06NdqKi/H4rtWQza0P+hHnDVHyjQwjWQB7r+0P04I=", 76 "./_framework/resource-collection.itv_j.js": "sha256-VD0o2YRiBFZhtoHb46NbtXcuZs8I2zFfgmECzam9760=", 77 "./_framework/resource-collection.itv_j.js.gz": "sha256-VD0o2YRiBFZhtoHb46NbtXcuZs8I2zFfgmECzam9760=" 78 } 79}</script>
79 80 81 <title>GeoConfirmed â Open-Source Conflict Geolocation & Verification</title> 82 <meta name="description" content="GeoConfirmed is a volunteer-driven OSINT project that geolocates and verifies visual content from conflicts around the world."> 83 <meta name="robots" content="index, follow"> 84 <meta name="theme-color" content="#1e1732"> 85 86 <meta property="og:site_name" content="GeoConfirmed"> 87 <meta property="og:type" content="website"> 88 <meta property="og:title" content="GeoConfirmed â Open-Source Conflict Geolocation"> 89 <meta property="og:description" content="Volunteer-driven OSINT project geolocating and verifying visual content from conflicts worldwide."> 90 <meta property="og:image" content="https://geoconfirmed.org/android-chrome-512x512.png"> 91 <meta property="og:image:alt" content="GeoConfirmed logo â a map marker with a verified checkmark"> 92 93 <meta name="twitter:card" content="summary_large_image"> 94 <meta name="twitter:site" content="@geoconfirmed" /> 95 <meta name="twitter:creator" content="@geoconfirmed" /> 96 <meta name="twitter:title" content="GeoConfirmed â Open-Source Conflict Geolocation"> 97 <meta name="twitter:description" content="Volunteer-driven OSINT project geolocating and verifying visual content from conflicts worldwide."> 98 <meta name="twitter:image" content="https://geoconfirmed.org/android-chrome-512x512.png"> 99 100 <!--Blazor-WebAssembly:{"environmentName":"Production","environmentVariables":{}}--><!--Blazor:{"type":"webassembly","prerenderId":"e40e7f14cf8d48e7b59fee7e874ff640","key":{"locationHash":"77D12F14A8105320B1AAED6AE7E689DA0EC4483270A645E84079EAA0FFDF550D:38","formattedComponentKey":""},"assembly":"Microsoft.AspNetCore.Components.Web","typeName":"Microsoft.AspNetCore.Components.Web.HeadOutlet","parameterDefinitions":"W10=","parameterValues":"W10="}--><title b-daz9gi7v2n>Publications — GeoConfirmed</title> 101 <meta name="description" content="Publications from GeoConfirmed: long-form analysis, threads, and press coverage from the open-source conflict geolocation community." b-daz9gi7v2n /> 102 <meta name="robots" content="index, follow" b-daz9gi7v2n> 103 104 <meta property="og:type" content="website" b-daz9gi7v2n> 105 <meta property="og:title" content="Publications — GeoConfirmed" b-daz9gi7v2n /> 106 <meta property="og:description" content="Publications from GeoConfirmed: long-form analysis, threads, and press coverage from the open-source conflict geolocation community." b-daz9gi7v2n /> 107 <meta property="og:url" content="https://geoconfirmed.org/publications" b-daz9gi7v2n /> 108 <meta property="og:image" content="https://geoconfirmed.org/android-chrome-512x512.png" b-daz9gi7v2n> 109 110 <meta name="twitter:card" content="summary_large_image" b-daz9gi7v2n> 111 <meta name="twitter:title" content="Publications — GeoConfirmed" b-daz9gi7v2n /> 112 <meta name="twitter:description" content="Publications from GeoConfirmed: long-form analysis, threads, and press coverage from the open-source conflict geolocation community." b-daz9gi7v2n /> 113 <meta name="twitter:image" content="https://geoconfirmed.org/android-chrome-512x512.png" b-daz9gi7v2n> 114 115 <link rel="canonical" href="https://geoconfirmed.org/publications" b-daz9gi7v2n /><!--Blazor:{"prerenderId":"e40e7f14cf8d48e7b59fee7e874ff640"}--> 116 117 <style> 118 .blazor-loader { 119 position: fixed; 120 inset: 0; 121 z-index: 99999; 122 display: flex; 123 flex-direction: column; 124 align-items: center; 125 justify-content: center; 126 background: #1e1732; 127 transition: opacity 0.5s ease, visibility 0.5s ease; 128 } 129 .blazor-loader.loaded { 130 opacity: 0; 131 visibility: hidden; 132 pointer-events: none; 133 } 134 135 /* --- Grid lines (subtle map background) --- */ 136 .blazor-loader-grid { 137 position: absolute; 138 inset: 0; 139 opacity: 0.04; 140 background-image: 141 linear-gradient(rgba(123,93,201,0.5) 1px, transparent 1px), 142 linear-gradient(90deg, rgba(123,93,201,0.5) 1px, transparent 1px); 143 background-size: 60px 60px; 144 } 145 146 /* --- Center content --- */ 147 .blazor-loader-content { 148 position: relative; 149 display: flex; 150 flex-direction: column; 151 align-items: center; 152 gap: 24px; 153 } 154 155 /* --- Pin + ring container --- */ 156 .blazor-loader-pin-area { 157 position: relative; 158 width: 120px; 159 height: 120px; 160 } 161 162 /* --- Progress ring --- */ 163 .blazor-loader-pin-area svg.ring { 164 position: absolute; 165 inset: 0; 166 width: 120px; 167 height: 120px; 168 transform: rotate(-90deg); 169 } 170 .ring-bg { 171 fill: none; 172 stroke: rgba(123, 93, 201, 0.12); 173 stroke-width: 3; 174 } 175 .ring-fg { 176 fill: none; 177 stroke: #7b5dc9; 178 stroke-width: 3; 179 stroke-linecap: round; 180 stroke-dasharray: 339.3; 181 stroke-dashoffset: 339.3; 182 transition: stroke-dashoffset 0.3s ease; 183 } 184 185 /* --- Scan pulse (radiating circles from pin) --- */ 186 .blazor-loader-scan { 187 position: absolute; 188 top: 50%; left: 50%; 189 width: 40px; height: 40px; 190 margin: -20px 0 0 -20px; 191 border-radius: 50%; 192 border: 1.5px solid rgba(123, 93, 201, 0.3); 193 animation: scan-pulse 2s ease-out infinite; 194 } 195 .blazor-loader-scan:nth-child(3) { animation-delay: 0.7s; } 196 .blazor-loader-scan:nth-child(4) { animation-delay: 1.4s; } 197 198 @keyframes scan-pulse { 199 0% { transform: scale(1); opacity: 0.6; } 200 100% { transform: scale(3); opacity: 0; } 201 } 202 203 /* --- Logo icon --- */ 204 .blazor-loader-pin-area svg.pin { 205 position: absolute; 206 top: 50%; left: 50%; 207 width: 56px; height: 56px; 208 margin: -28px 0 0 -28px; 209 filter: drop-shadow(0 2px 8px rgba(123, 93, 201, 0.4)); 210 } 211 212 /* --- Percentage text --- */ 213 .blazor-loader-pct { 214 font-family: 'Roboto Mono', 'Consolas', monospace; 215 font-size: 0.8rem; 216 color: rgba(255, 255, 255, 0.5); 217 letter-spacing: 0.08em; 218 } 219 220 /* --- Branding --- */ 221 .blazor-loader-logo { 222 font-family: 'Segoe UI', system-ui, sans-serif; 223 font-size: 1.5rem; 224 font-weight: 700; 225 color: #fff; 226 letter-spacing: 0.06em; 227 } 228 .blazor-loader-sub { 229 font-family: 'Roboto Mono', 'Consolas', monospace; 230 font-size: 0.7rem; 231 color: rgba(123, 93, 201, 0.7); 232 letter-spacing: 0.15em; 233 text-transform: uppercase; 234 } 235 </style></head> 236 237<body><div class="blazor-loader" id="blazor-loader"><div class="blazor-loader-grid"></div> 238 <div class="blazor-loader-content"><div class="blazor-loader-pin-area"><svg class="ring" viewBox="0 0 120 120"><circle class="ring-bg" cx="60" cy="60" r="54"></circle> 239 <circle class="ring-fg" id="blazor-ring" cx="60" cy="60" r="54"></circle></svg> 240 241 242 <div class="blazor-loader-scan"></div> 243 <div class="blazor-loader-scan"></div> 244 <div class="blazor-loader-scan"></div> 245 246
247 <svg class="pin" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="mg" x1="0%" y1="0%" x2="0%" y2="100%"><stop offset="0%" stop-color="#9b7ee0"></stop> 248 <stop offset="100%" stop-color="#5a3da0"></stop></linearGradient></defs> 249 <path d="M32 60 C32 60, 8 40, 8 26 C8 12.7 18.7 2 32 2 C45.3 2 56 12.7 56 26 C56 40 32 60 32 60Z" fill="url(#mg)"></path> 250 <circle cx="32" cy="24" r="14" fill="white"></circle> 251 252 <polyline id="blazor-check" points="24,24 29,30 39,17" fill="none" stroke="#7b5dc9" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="25" stroke-dashoffset="25" style="transition: stroke-dashoffset 0.4s ease 0.1s;"></polyline></svg></div> 253 254 <div><div class="blazor-loader-logo">Geoconfirmed</div> 255 <div class="blazor-loader-pct" id="blazor-pct">Loading 0%</div></div></div></div> 256 257 <!--Blazor:{"type":"webassembly","prerenderId":"c54de9ad17da449d928afccc35028ffd","key":{"locationHash":"D1D9AD389F027BEF7378EA0C6F901ABFFE3544A7EF858E899170D44A121B1FDE:44","formattedComponentKey":""},"assembly":"Geoconfirmed.Client","typeName":"Geoconfirmed.Client.Routes","parameterDefinitions":"W10=","parameterValues":"W10="}--><style> 258::-webkit-scrollbar {width: 8px;height: 8px;z-index: 1;} 259::-webkit-scrollbar-track {background: transparent;} 260::-webkit-scrollbar-thumb {background: #c4c4c4;border-radius: 1px;} 261::-webkit-scrollbar-thumb:hover {background: #a6a6a6;} 262html, body * {scrollbar-color: #c4c4c4 transparent;scrollbar-width: thin;} 263</style> 264<style> 265 .mud-chart-serie:hover { 266 filter: url(#lighten); 267 } 268 269 .mud-chart-serie-hovered 270 { 271 filter: url(#lighten); 272 } 273</style> 274 275<style class='mud-theme-provider'> 276:root{ 277--mud-palette-black: rgba(39,44,52,1); 278--mud-palette-white: rgba(255,255,255,1); 279--mud-palette-primary: rgba(123,93,201,1); 280--mud-palette-primary-rgb: 123,93,201; 281--mud-palette-primary-text: rgba(255,255,255,1); 282--mud-palette-primary-darken: rgb(30,23,50); 283--mud-palette-primary-lighten: rgb(146,121,210); 284--mud-palette-primary-hover: rgba(123,93,201,0.058823529411764705); 285--mud-palette-secondary: rgba(94,101,112,1); 286--mud-palette-secondary-rgb: 94,101,112; 287--mud-palette-secondary-text: rgba(255,255,255,1); 288--mud-palette-secondary-darken: rgb(74,80,89); 289--mud-palette-secondary-lighten: rgb(111,120,133); 290--mud-palette-secondary-hover: rgba(94,101,112,0.058823529411764705); 291--mud-palette-tertiary: rgba(30,200,165,1); 292--mud-palette-tertiary-rgb: 30,200,165; 293--mud-palette-tertiary-text: rgba(255,255,255,1); 294--mud-palette-tertiary-darken: rgb(25,169,140); 295--mud-palette-tertiary-lighten: rgb(42,223,187); 296--mud-palette-tertiary-hover: rgba(30,200,165,0.058823529411764705); 297--mud-palette-info: rgba(63,142,252,1); 298--mud-palette-info-rgb: 63,142,252; 299--mud-palette-info-text: rgba(255,255,255,1); 300--mud-palette-info-darken: rgb(29,122,252); 301--mud-palette-info-lighten: rgb(104,166,253); 302--mud-palette-info-hover: rgba(63,142,252,0.058823529411764705); 303--mud-palette-success: rgba(53,180,111,1); 304--mud-palette-success-rgb: 53,180,111; 305--mud-palette-success-text: rgba(255,255,255,1); 306--mud-palette-success-darken: rgb(44,150,92); 307--mud-palette-success-lighten: rgb(73,202,131); 308--mud-palette-success-hover: rgba(53,180,111,0.058823529411764705); 309--mud-palette-warning: rgba(246,183,60,1); 310--mud-palette-warning-rgb: 246,183,60; 311--mud-palette-warning-text: rgba(255,255,255,1); 312--mud-palette-warning-darken: rgb(244,170,21); 313--mud-palette-warning-lighten: rgb(248,198,99); 314--mud-palette-warning-hover: rgba(246,183,60,0.058823529411764705); 315--mud-palette-error: rgba(229,83,75,1); 316--mud-palette-error-rgb: 229,83,75; 317--mud-palette-error-text: rgba(255,255,255,1); 318--mud-palette-error-darken: rgb(224,50,41); 319--mud-palette-error-lighten: rgb(235,118,112); 320--mud-palette-error-hover: rgba(229,83,75,0.058823529411764705); 321--mud-palette-dark: rgba(66,66,66,1); 322--mud-palette-dark-rgb: 66,66,66; 323--mud-palette-dark-text: rgba(255,255,255,1); 324--mud-palette-dark-darken: rgb(46,46,46); 325--mud-palette-dark-lighten: rgb(87,87,87);
326--mud-palette-dark-hover: rgba(66,66,66,0.058823529411764705); 327--mud-palette-text-primary: rgba(66,66,66,1); 328--mud-palette-text-primary-rgb: 66,66,66; 329--mud-palette-text-secondary: rgba(0,0,0,0.5372549019607843); 330--mud-palette-text-secondary-rgb: 0,0,0; 331--mud-palette-text-disabled: rgba(0,0,0,0.3764705882352941); 332--mud-palette-text-disabled-rgb: 0,0,0; 333--mud-palette-action-default: rgba(0,0,0,0.5372549019607843); 334--mud-palette-action-default-hover: rgba(0,0,0,0.058823529411764705); 335--mud-palette-action-disabled: rgba(0,0,0,0.25882352941176473); 336--mud-palette-action-disabled-background: rgba(0,0,0,0.11764705882352941); 337--mud-palette-surface: rgba(255,255,255,1); 338--mud-palette-surface-rgb: 255,255,255; 339--mud-palette-background: rgba(255,255,255,1); 340--mud-palette-background-gray: rgba(245,245,245,1); 341--mud-palette-drawer-background: rgba(30,23,50,1); 342--mud-palette-drawer-text: rgba(255,255,255,1); 343--mud-palette-drawer-icon: rgba(97,97,97,1); 344--mud-palette-appbar-background: rgba(30,23,50,1); 345--mud-palette-appbar-text: rgba(255,255,255,1); 346--mud-palette-lines-default: rgba(0,0,0,0.11764705882352941); 347--mud-palette-lines-inputs: rgba(189,189,189,1); 348--mud-palette-table-lines: rgba(224,224,224,1); 349--mud-palette-table-striped: rgba(0,0,0,0.0196078431372549); 350--mud-palette-table-hover: rgba(0,0,0,0.0392156862745098); 351--mud-palette-divider: rgba(224,224,224,1); 352--mud-palette-divider-rgb: 224,224,224; 353--mud-palette-divider-light: rgba(0,0,0,0.8); 354--mud-palette-skeleton: rgba(0,0,0,0.10980392156862745); 355--mud-palette-gray-default: #9E9E9E; 356--mud-palette-gray-light: #BDBDBD; 357--mud-palette-gray-lighter: #E0E0E0; 358--mud-palette-gray-dark: #757575; 359--mud-palette-gray-darker: #616161; 360--mud-palette-overlay-dark: rgba(33,33,33,0.4980392156862745); 361--mud-palette-overlay-light: rgba(255,255,255,0.4980392156862745); 362--mud-palette-border-opacity: 1; 363--mud-ripple-color: var(--mud-palette-text-primary); 364--mud-ripple-opacity: 0.1; 365--mud-ripple-opacity-secondary: 0.2; 366--mud-elevation-0: none; 367--mud-elevation-1: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12); 368--mud-elevation-2: 0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12); 369--mud-elevation-3: 0px 3px 3px -2px rgba(0,0,0,0.2),0px 3px 4px 0px rgba(0,0,0,0.14),0px 1px 8px 0px rgba(0,0,0,0.12); 370--mud-elevation-4: 0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12); 371--mud-elevation-5: 0px 3px 5px -1px rgba(0,0,0,0.2),0px 5px 8px 0px rgba(0,0,0,0.14),0px 1px 14px 0px rgba(0,0,0,0.12); 372--mud-elevation-6: 0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12); 373--mud-elevation-7: 0px 4px 5px -2px rgba(0,0,0,0.2),0px 7px 10px 1px rgba(0,0,0,0.14),0px 2px 16px 1px rgba(0,0,0,0.12); 374--mud-elevation-8: 0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12); 375--mud-elevation-9: 0px 5px 6px -3px rgba(0,0,0,0.2),0px 9px 12px 1px rgba(0,0,0,0.14),0px 3px 16px 2px rgba(0,0,0,0.12); 376--mud-elevation-10: 0px 6px 6px -3px rgba(0,0,0,0.2),0px 10px 14px 1px rgba(0,0,0,0.14),0px 4px 18px 3px rgba(0,0,0,0.12); 377--mud-elevation-11: 0px 6px 7px -4px rgba(0,0,0,0.2),0px 11px 15px 1px rgba(0,0,0,0.14),0px 4px 20px 3px rgba(0,0,0,0.12); 378--mud-elevation-12: 0px 7px 8px -4px rgba(0,0,0,0.2),0px 12px 17px 2px rgba(0,0,0,0.14),0px 5px 22px 4px rgba(0,0,0,0.12); 379--mud-elevation-13: 0px 7px 8px -4px rgba(0,0,0,0.2),0px 13px 19px 2px rgba(0,0,0,0.14),0px 5px 24px 4px rgba(0,0,0,0.12); 380--mud-elevation-14: 0px 7px 9px -4px rgba(0,0,0,0.2),0px 14px 21px 2px rgba(0,0,0,0.14),0px 5px 26px 4px rgba(0,0,0,0.12); 381--mud-elevation-15: 0px 8px 9px -5px rgba(0,0,0,0.2),0px 15px 22px 2px rgba(0,0,0,0.14),0px 6px 28px 5px rgba(0,0,0,0.12); 382--mud-elevation-16: 0px 8px 10px -5px rgba(0,0,0,0.2),0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12); 383--mud-elevation-17: 0px 8px 11px -5px rgba(0,0,0,0.2),0px 17px 26px 2px rgba(0,0,0,0.14),0px 6px 32px 5px rgba(0,0,0,0.12); 384--mud-elevation-18: 0px 9px 11px -5px rgba(0,0,0,0.2),0px 18px 28px 2px rgba(0,0,0,0.14),0px 7px 34px 6px rgba(0,0,0,0.12); 385--mud-elevation-19: 0px 9px 12px -6px rgba(0,0,0,0.2),0px 19px 29px 2px rgba(0,0,0,0.14),0px 7px 36px 6px rgba(0,0,0,0.12); 386--mud-elevation-20: 0px 10px 13px -6px rgba(0,0,0,0.2),0px 20px 31px 3px rgba(0,0,0,0.14),0px 8px 38px 7px rgba(0,0,0,0.12); 387--mud-elevation-21: 0px 10px 13px -6px rgba(0,0,0,0.2),0px 21px 33px 3px rgba(0,0,0,0.14),0px 8px 40px 7px rgba(0,0,0,0.12); 388--mud-elevation-22: 0px 10px 14px -6px rgba(0,0,0,0.2),0px 22px 35px 3px rgba(0,0,0,0.14),0px 8px 42px 7px rgba(0,0,0,0.12); 389--mud-elevation-23: 0px 11px 14px -7px rgba(0,0,0,0.2),0px 23px 36px 3px rgba(0,0,0,0.14),0px 9px 44px 8px rgba(0,0,0,0.12); 390--mud-elevation-24: 0px 11px 15px -7px rgba(0,0,0,0.2),0px 24px 38px 3px rgba(0,0,0,0.14),0px 9px 46px 8px rgba(0,0,0,0.12); 391--mud-elevation-25: 0 5px 5px -3px rgba(0,0,0,.06), 0 8px 10px 1px rgba(0,0,0,.042), 0 3px 14px 2px rgba(0,0,0,.036);
392--mud-default-borderradius: 4px; 393--mud-drawer-width-left: 240px; 394--mud-drawer-width-right: 240px; 395--mud-drawer-width-mini-left: 56px; 396--mud-drawer-width-mini-right: 56px; 397--mud-appbar-height: 64px; 398--mud-typography-default-family: Roboto, Helvetica, Arial, sans-serif; 399--mud-typography-default-size: .875rem; 400--mud-typography-default-weight: 400; 401--mud-typography-default-lineheight: 1.43; 402--mud-typography-default-letterspacing: .01071em; 403--mud-typography-default-text-transform: none; 404--mud-typography-h1-family: Roboto, Helvetica, Arial, sans-serif; 405--mud-typography-h1-size: 6rem; 406--mud-typography-h1-weight: 300; 407--mud-typography-h1-lineheight: 1.167; 408--mud-typography-h1-letterspacing: -.01562em; 409--mud-typography-h1-text-transform: none; 410--mud-typography-h2-family: Roboto, Helvetica, Arial, sans-serif; 411--mud-typography-h2-size: 3.75rem; 412--mud-typography-h2-weight: 300; 413--mud-typography-h2-lineheight: 1.2; 414--mud-typography-h2-letterspacing: -.00833em; 415--mud-typography-h2-text-transform: none; 416--mud-typography-h3-family: Roboto, Helvetica, Arial, sans-serif; 417--mud-typography-h3-size: 3rem; 418--mud-typography-h3-weight: 400; 419--mud-typography-h3-lineheight: 1.167; 420--mud-typography-h3-letterspacing: 0; 421--mud-typography-h3-text-transform: none; 422--mud-typography-h4-family: Roboto, Helvetica, Arial, sans-serif; 423--mud-typography-h4-size: 2.125rem; 424--mud-typography-h4-weight: 400; 425--mud-typography-h4-lineheight: 1.235; 426--mud-typography-h4-letterspacing: .00735em; 427--mud-typography-h4-text-transform: none; 428--mud-typography-h5-family: Roboto, Helvetica, Arial, sans-serif; 429--mud-typography-h5-size: 1.5rem; 430--mud-typography-h5-weight: 400; 431--mud-typography-h5-lineheight: 1.334; 432--mud-typography-h5-letterspacing: 0; 433--mud-typography-h5-text-transform: none; 434--mud-typography-h6-family: Roboto, Helvetica, Arial, sans-serif; 435--mud-typography-h6-size: 1.25rem; 436--mud-typography-h6-weight: 500; 437--mud-typography-h6-lineheight: 1.6; 438--mud-typography-h6-letterspacing: .0075em; 439--mud-typography-h6-text-transform: none; 440--mud-typography-subtitle1-family: Roboto, Helvetica, Arial, sans-serif; 441--mud-typography-subtitle1-size: 1rem; 442--mud-typography-subtitle1-weight: 400; 443--mud-typography-subtitle1-lineheight: 1.75; 444--mud-typography-subtitle1-letterspacing: .00938em; 445--mud-typography-subtitle1-text-transform: none; 446--mud-typography-subtitle2-family: Roboto, Helvetica, Arial, sans-serif; 447--mud-typography-subtitle2-size: .875rem; 448--mud-typography-subtitle2-weight: 500; 449--mud-typography-subtitle2-lineheight: 1.57; 450--mud-typography-subtitle2-letterspacing: .00714em; 451--mud-typography-subtitle2-text-transform: none; 452--mud-typography-body1-family: Roboto, Helvetica, Arial, sans-serif; 453--mud-typography-body1-size: 1rem; 454--mud-typography-body1-weight: 400; 455--mud-typography-body1-lineheight: 1.5; 456--mud-typography-body1-letterspacing: .00938em; 457--mud-typography-body1-text-transform: none; 458--mud-typography-body2-family: Roboto, Helvetica, Arial, sans-serif; 459--mud-typography-body2-size: .875rem; 460--mud-typography-body2-weight: 400; 461--mud-typography-body2-lineheight: 1.43; 462--mud-typography-body2-letterspacing: .01071em; 463--mud-typography-body2-text-transform: none; 464--mud-typography-button-family: Roboto, Helvetica, Arial, sans-serif; 465--mud-typography-button-size: .875rem; 466--mud-typography-button-weight: 500; 467--mud-typography-button-lineheight: 1.75; 468--mud-typography-button-letterspacing: .02857em; 469--mud-typography-button-text-transform: uppercase; 470--mud-typography-caption-family: Roboto, Helvetica, Arial, sans-serif; 471--mud-typography-caption-size: .75rem; 472--mud-typography-caption-weight: 400; 473--mud-typography-caption-lineheight: 1.66; 474--mud-typography-caption-letterspacing: .03333em; 475--mud-typography-caption-text-transform: none; 476--mud-typography-overline-family: Roboto, Helvetica, Arial, sans-serif; 477--mud-typography-overline-size: .75rem; 478--mud-typography-overline-weight: 400; 479--mud-typography-overline-lineheight: 2.66; 480--mud-typography-overline-letterspacing: .08333em; 481--mud-typography-overline-text-transform: none; 482--mud-zindex-drawer: 1100; 483--mud-zindex-appbar: 1300; 484--mud-zindex-dialog: 1400; 485--mud-zindex-popover: 1200; 486--mud-zindex-snackbar: 1500; 487--mud-zindex-tooltip: 1600; 488--mud-native-html-color-scheme: light; 489} 490</style> 491 492<div class="mud-popover-provider"></div> 493 494<div id="mud-snackbar-container" class="mud-snackbar-location-top-right"></div> 495 496<div class="mud-layout mud-drawer-open-responsive-md-left mud-drawer-left-clipped-always" style=""><header class="mud-appbar mud-appbar-fixed-top mud-elevation-0 app-bar"><div role="toolbar" class="mud-toolbar mud-toolbar-gutters mud-toolbar-appbar"><button aria-label="Toggle navigation menu" type="button" class="mud-button-root mud-icon-button mud-inherit-text hover:mud-in
496herit-hover mud-ripple mud-ripple-icon mud-icon-button-edge-start" __internal_stopPropagation_onclick><span class="mud-icon-button-label"><svg class="mud-icon-root mud-svg-icon mud-icon-size-medium" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></span></button> 497 <a href="/" class="mud-typography mud-link mud-inherit-text mud-link-underline-none mud-typography-h6 d-flex align-center ml-3 app-title"><img src="branding/logo-compact.svg" alt width="28" height="28" class="mr-2"> 498 GeoConfirmed 499 </a> 500 <div aria-hidden="true" class="flex-grow-1"></div> 501 <a aria-label="GeoConfirmed on X (Twitter)" type="button" href="https://x.com/GeoConfirmed" target="_blank" rel="noopener" class="mud-button-root mud-icon-button mud-inherit-text hover:mud-inherit-hover mud-ripple mud-ripple-icon mud-icon-button-size-small"><span class="mud-icon-button-label"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg></span></a> 502 <a aria-label="GeoConfirmed on Bluesky" type="button" href="https://bsky.app/profile/geoconfirmed.org" target="_blank" rel="noopener" class="mud-button-root mud-icon-button mud-inherit-text hover:mud-inherit-hover mud-ripple mud-ripple-icon mud-icon-button-size-small"><span class="mud-icon-button-label"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.565.139 1.908 0 3.08 0 3.768c0 .69.378 5.65.624 6.479.785 2.627 3.624 3.501 6.204 3.146-4.379.665-5.655 2.849-3.155 5.038 4.642 4.08 6.727-1.006 7.327-2.943.6 1.937 2.685 7.022 7.327 2.943 2.5-2.19 1.224-4.373-3.155-5.038 2.58.355 5.42-.519 6.204-3.146.246-.828.624-5.79.624-6.479 0-.688-.139-1.86-.902-2.203-.659-.3-1.664-.62-4.3 1.24C14.046 4.747 11.087 8.686 10 10.8h2z"/></svg></span></a> 503 <hr class="mud-divider mud-divider-flexitem mud-divider-vertical mx-1 my-3 appbar-divider" /> 504 <button aria-label="Switch to dark mode" type="button" class="mud-button-root mud-icon-button mud-inherit-text hover:mud-inherit-hover mud-ripple mud-ripple-icon mud-icon-button-size-small" __internal_stopPropagation_onclick><span class="mud-icon-button-label"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><rect fill="none" height="24" width="24"/><path d="M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36c-0.98,1.37-2.58,2.26-4.4,2.26 c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg></span></button> 505 <button type="button" class="mud-button-root mud-button mud-button-text mud-button-text-inherit mud-button-text-size-small mud-ripple d-none d-sm-flex appbar-auth-btn" __internal_stopPropagation_onclick><span class="mud-button-label"><span class="mud-button-icon-start mud-button-icon-size-small"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5-5L11,7z M20,19h-8v2h8c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-8v2h8V19z"/></g></svg></span> 506 Login 507 </span></button> 508 <button aria-label="Log in" type="button" class="mud-button-root mud-icon-button mud-inherit-text hover:mud-inherit-hover mud-ripple mud-ripple-icon d-flex d-sm-none" __internal_stopPropagation_onclick><span class="mud-icon-button-label"><svg class="mud-icon-root mud-svg-icon mud-icon-size-medium" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5-5L11,7z M20,19h-8v2h8c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-8v2h8V19z"/></g></svg></span></button></div></header> 509 510 <aside class="mud-drawer mud-drawer-fixed mud-drawer-pos-left mud-drawer--open mud-drawer--initial mud-drawer-md mud-drawer-clipped-always mud-elevation-0 mud-drawer-responsive app-drawer" style=""><div class="mud-drawer-content"><nav class="mud-navmenu mud-navmenu-default mud-navmenu-margin-dense mud-navmenu-dense"><div class="mud-nav-item"><a href="/" rel="" tabindex="0" class="mud-nav-link mud-ripple"><svg class="mud-icon-root mud-icon-default mud-svg-icon mud-icon-size-medium mud-nav-link-icon mud-nav-link-icon-default" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/></svg><div class="mud-nav-link-text">Home</div></a></div> 511 <nav class="mud-nav-group" aria-label="Publications"><button tabindex="0" class="mud-nav-link mud-ripple mud-expanded" aria-controls="vsflc74rr" aria-expanded="true" aria-label="Toggle Publications"><svg class="mud-icon-root mud-icon-default mud-svg-icon mud-icon-size-medium mud-nav-link-icon mud-nav-link-icon-default" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-1 9H9V9h10v2zm-4 4H9v-2h6v2zm4-8H9V5h10v2z"/></svg><div Class="mud-nav-link-text">Publications</div><svg class="mud-icon-root mud-svg-icon mud-icon-size-medium mud-nav-link-expand-icon mud-transform" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M7 10l5 5 5-5z"/></svg></button> 512 <div aria-hidden="false" class="mud-collapse-container mud-collapse-entering mud-navgroup-collapse" style=""><div class="mud-collapse-wrapper"><div class="mud-collapse-wrapper-inner"><nav id="vsflc74rr" class="mud-navmenu mud-navmenu-default mud-navmenu-margin-none"><div class="mud-nav-item"><a href="/publications" rel="" tabindex="0" class="mud-nav-link mud-ripple active" aria-current="page"><svg class="mud-icon-root mud-icon-default mud-svg-icon mud-icon-size-medium mud-nav-link-icon mud-nav-link-icon-default" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2zM7 17h10V7H7v10zm2-8h6v6H9V9z"/></svg><div class="mud-nav-link-text">All</div></a></div> 513 <div class="mud-nav-item"><a href="/articles" rel="" tabindex="0" class="mud-nav-link mud-ripple"><svg class="mud-icon-root mud-icon-default mud-svg-icon mud-icon-size-medium mud-nav-link-icon mud-nav-link-icon-default" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"/></svg><div class="mud-nav-link-text">Articles</div></a></div> 514 <div class="mud-nav-item"><a href="/press" rel="" tabindex="0" class="mud-nav-link mud-ripple"><svg class="mud-icon-root mud-icon-default mud-svg-icon mud-icon-size-medium mud-nav-link-icon mud-nav-link-icon-default" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg><div class="mud-nav-link-text">Featured Press</div></a></div> 515 <div class="mud-nav-item"><a href="/threads" rel="" tabindex="0" class="mud-nav-link mud-ripple"><svg class="mud-icon-root mud-icon-default mud-svg-icon mud-icon-size-medium mud-nav-link-icon mud-nav-link-icon-default" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M21 6h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1zm-4 6V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1z"/></svg><div class="mud-nav-link-text">Threads</div></a></div></nav></div></div></div></nav><nav class="mud-nav-group" aria-label="Maps"><button tabindex="0" class="mud-nav-link mud-ripple" aria-controls="bc8h6jqv1" aria-expanded="false" aria-label="Toggle Maps"><svg class="mud-icon-root mud-icon-default mud-svg-icon mud-icon-size-medium mud-nav-link-icon mud-nav-link-icon-default" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM15 19l-6-2.11V5l6 2.11V19z"/></svg><div Class="mud-nav-link-text">Maps</div><svg class="mud-icon-root mud-svg-icon mud-icon-size-medium mud-nav-link-expand-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M7 10l5 5 5-5z"/></svg></button>
516 <div aria-hidden="true" class="mud-collapse-container invisible mud-navgroup-collapse" style=""><div class="mud-collapse-wrapper"><div class="mud-collapse-wrapper-inner"><nav id="bc8h6jqv1" class="mud-navmenu mud-navmenu-default mud-navmenu-margin-none"><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text"> 517 All conflicts 518 </div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/world" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">World</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/ukraine" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Ukraine</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/iran" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Iran</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/ven" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Venezuela</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/nagorno_karabakh" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Nagorno - Karabakh</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/africa" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Africa</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/drc" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">DRCongo</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/israel" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Israel/Gaza/Lebanon</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/7oct" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Isr - 7 Oct 23</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/syria" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Syria</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/yemen" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Yemen</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/afghanistan" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Afghanistan & Pakistan</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/indpak" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">India-Pakistan</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/thailandcambodia" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Thailand - Cambodia</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/pac" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Pacific</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/myanmar" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Myanmar</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/cartel" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Cartel Map</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/wwi" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">WWI</div></a></div></div><div class="nav-conflict-item"><div class="mud-nav-item nav-conflict-link"><a href="/map/wwii" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">WWII</div></a></div></div></nav></div></div></div></nav><nav class="mud-nav-group" aria-label="Orbats"><button tabindex="0" class="mud-nav-link mud-ripple" aria-controls="hwhtjt4on" aria-expanded="false" aria-label="Toggle Orbats"><svg class="mud-icon-root mud-icon-default mud-svg-icon mud-icon-size-medium mud-nav-link-icon mud-nav-link-icon-default" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3z"/></svg><div Class="mud-nav-link-text">Orbats</div><svg class="mud-icon-root mud-svg-icon mud-icon-size-medium mud-nav-link-expand-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M7 10l5 5 5-5z"/></svg></button>
519 <div aria-hidden="true" class="mud-collapse-container invisible mud-navgroup-collapse" style=""><div class="mud-collapse-wrapper"><div class="mud-collapse-wrapper-inner"><nav id="hwhtjt4on" class="mud-navmenu mud-navmenu-default mud-navmenu-margin-none"><div class="mud-nav-item"><a href="/orbat/china" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Chinese Communist Party</div></a></div><div class="mud-nav-item"><a href="/orbat/france" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">French Armed Forces</div></a></div><div class="mud-nav-item"><a href="/orbat/iran" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Iran</div></a></div><div class="mud-nav-item"><a href="/orbat/israel" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Israel</div></a></div><div class="mud-nav-item"><a href="/orbat/fama" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Malian Armed Forces (FAMa)</div></a></div><div class="mud-nav-item"><a href="/orbat/myanmar" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Myanmar</div></a></div><div class="mud-nav-item"><a href="/orbat/myanmaro" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Myanmar Opposition</div></a></div><div class="mud-nav-item"><a href="/orbat/middleeasternfactions" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Middle Eastern Factions</div></a></div><div class="mud-nav-item"><a href="/orbat/cambodia" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Royal Cambodian Armed Forces</div></a></div><div class="mud-nav-item"><a href="/orbat/thailand" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Royal Thai Armed Forces</div></a></div><div class="mud-nav-item"><a href="/orbat/russia" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Russia</div></a></div><div class="mud-nav-item"><a href="/orbat/rwanda" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Rwanda</div></a></div><div class="mud-nav-item"><a href="/orbat/sudan" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Sudan</div></a></div><div class="mud-nav-item"><a href="/orbat/sudan-factions" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Sudan Factions</div></a></div><div class="mud-nav-item"><a href="/orbat/syrianew" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Syria (After 24 DEC 2024)</div></a></div><div class="mud-nav-item"><a href="/orbat/ukraine" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Ukraine</div></a></div><div class="mud-nav-item"><a href="/orbat/us" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">United States Armed Forces</div></a></div><div class="mud-nav-item"><a href="/orbat/ven" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">National Bolivarian Armed Forces of Venezuela (BNAF / FANB)</div></a></div><div class="mud-nav-item"><a href="/orbat/yemen" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Yemeni Armed Forces</div></a></div><div class="mud-nav-item"><a href="/orbat/terroristmilitant" rel="" tabindex="-1" class="mud-nav-link mud-ripple"><div class="mud-nav-link-text">Militant/Terrorist factions</div></a></div></nav></div></div></div></nav><div class="mud-nav-item"><a href="/equipment" rel="" tabindex="0" class="mud-nav-link mud-ripple"><svg class="mud-icon-root mud-icon-default mud-svg-icon mud-icon-size-medium mud-nav-link-icon mud-nav-link-icon-default" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><g><rect height="8.48" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -6.8717 17.6255)" width="3" x="16.34" y="12.87"/><path d="M17.5,10c1.93,0,3.5-1.57,3.5-3.5c0-0.58-0.16-1.12-0.41-1.6l-2.7,2.7L16.4,6.11l2.7-2.7C18.62,3.16,18.08,3,17.5,3 C15.57,3,14,4.57,14,6.5c0,0.41,0.08,0.8,0.21,1.16l-1.85,1.85l-1.78-1.78l0.71-0.71L9.88,5.61L12,3.49 c-1.17-1.17-3.07-1.17-4.24,0L4.22,7.03l1.41,1.41H2.81L2.1,9.15l3.54,3.54l0.71-0.71V9.15l1.41,1.41l0.71-0.71l1.78,1.78 l-7.41,7.41l2.12,2.12L16.34,9.79C16.7,9.92,17.09,10,17.5,10z"/></g></g></svg><div class="mud-nav-link-text">Equipment</div></a></div><div class="mud-nav-item"><a href="/changelog" rel="" tabindex="0" class="mud-nav-link mud-ripple"><svg class="mud-icon-root mud-icon-default mud-svg-icon mud-icon-size-medium mud-nav-link-icon mud-nav-link-icon-default" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M18 11v2h4v-2h-4zm-2 6.61c.96.71 2.21 1.65 3.2 2.39.4-.53.8-1.07 1.2-1.6-.99-.74-2.24-1.68-3.2-2.4-.4.54-.8 1.08-1.2 1.61zM20.4 5.6c-.4-.53-.8-1.07-1.2-1.6-.99.74-2.24 1.68-3.2 2.4.4.53.8 1.07 1.2 1.6.96-.72 2.21-1.65 3.2-2.4zM4 9c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h1v4h2v-4h1l5 3V6L8 9H4zm11.5 3c0-1.33-.58-2.53-1.5-3.35v6.69c.92-.81 1.5-2.01 1.5-3.34z"/></svg><div class="mud-nav-link-text">Changelog</div></a></div></nav></div></aside> 520 521 522 <div class="mud-main-content"> 523 524<div class="publications-container" b-daz9gi7v2n><div class="mud-container mud-container-maxwidth-lg mud-container--gutters mt-4"><nav aria-label="Breadcrumb"><ol class="mud-breadcrumbs mud-typography-body1"><li class="mud-breadcrumb-item"><a href="/"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/></svg>Home</a></li><li aria-hidden="true" class="mud-breadcrumb-separator mud-ltr mud-flip-x-rtl"><span>/</span></li><li class="mud-breadcrumb-item mud-disabled"><a href="#">Publications</a></li></ol></nav> 525 526 <div class="publications-header" b-daz9gi7v2n><h4 class="mud-typography mud-typography-h4 publications-title">Publications</h4> 527 528 <div class="publications-header-actions" b-daz9gi7v2n></div></div> 529 530 <div class="mud-input-control mud-input-control-margin-dense mud-input-input-control mud-input-sizing-fixed publications-search"><div class="mud-input-control-input-container"><div class="mud-input mud-input-outlined mud-input-adorned-start mud-input-margin-dense mud-shrink mud-typography-subtitle1 mud-input-sizing-fixed"><div class="mud-input-adornment mud-input-adornment-start"><svg class="mud-icon-root mud-icon-default mud-svg-icon mud-icon-size-medium mud-input-adornment-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img" tabindex="-1"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg></div><input class="mud-input-slot mud-input-root mud-input-root-outlined mud-input-root-adorned-start mud-input-root-margin-dense" id="mudinput22y4wpes" type="text" placeholder="Search publications..." inputmode="text" maxlength="524288" aria-invalid="false" aria-required="false" /><div class="mud-input-slot mud-input-root mud-input-root-outlined mud-input-root-adorned-start mud-input-root-margin-dense" style="display:none" tabindex="-1"></div><fieldset class="mud-input-outlined-border"></fieldset></div></div></div><div class="mud-grid mud-grid-spacing-xs-4 justify-start"><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-lg-3"><div class="publication-card" b-daz9gi7v2n><img src="https://d.techtimes.com/en/full/470913/googles-street-view-manager-divon-lan-speaks.jpg" alt="Google Earth AI Pulled After Fakes of Nuclear Facilities Pass Watermark Check" class="publication-card-image" loading="lazy" b-daz9gi7v2n /><div class="publication-card-chip-overlay" b-daz9gi7v2n><div class="mud-chip-container" id="chip-container-5a0f476d-38dd-46e0-a811-658fc638fbf2"><div tabindex="-1" class="mud-chip mud-chip-filled mud-chip-size-small mud-chip-color-success"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small mud-chip-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg><span class="mud-chip-content">Press</span></div></div></div> 531 532 <div class="publication-card-body" b-daz9gi7v2n><div class="publication-card-title" b-daz9gi7v2n><a href="https://www.techtimes.com/articles/322578/20260801/google-earth-ai-pulled-after-fakes-nuclear-facilities-pass-watermark-check.htm" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-subtitle1">Google Earth AI Pulled After Fakes of Nuclear Facilities Pass Watermark Check 533 <svg class="mud-icon-root mud-svg-icon mud-icon-size-small ml-1" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg></a></div><p class="mud-typography mud-typography-body2 publication-card-summary">Google Earth AI</p><p class="mud-typography mud-typography-body2 publication-card-author">Tech Times</p><div class="publication-card-meta" b-daz9gi7v2n><span b-daz9gi7v2n>Aug 1, 2026</span><span b-daz9gi7v2n>United States</span></div></div> 534 535 </div></div><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-lg-3"><div class="publication-card" b-daz9gi7v2n><img src="https://s.france24.com/media/display/99f8a93a-e6c1-11ee-9116-005056bf30b7/w:1280/p:16x9/img-default-F24.jpg" alt="Google rolls back new satellite image AI tool after backlash" class="publication-card-image" loading="lazy" b-daz9gi7v2n /><div class="publication-card-chip-overlay" b-daz9gi7v2n><div class="mud-chip-container" id="chip-container-31f93dce-c04a-4f98-8285-98762db79e25"><div tabindex="-1" class="mud-chip mud-chip-filled mud-chip-size-small mud-chip-color-success"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small mud-chip-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg><span class="mud-chip-content">Press</span></div></div></div> 536 537 <div class="publication-card-body" b-daz9gi7v2n><div class="publication-card-title" b-daz9gi7v2n><a href="https://www.france24.com/en/live-news/20260731-google-launches-new-satellite-image-ai-tool-alarming-researchers" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-subtitle1">Google rolls back new satellite image AI tool after backlash 538 <svg class="mud-icon-root mud-svg-icon mud-icon-size-small ml-1" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg></a></div><p class="mud-typography mud-typography-body2 publication-card-summary">Google Earth AI</p><p class="mud-typography mud-typography-body2 publication-card-author">France 24</p><div class="publication-card-meta" b-daz9gi7v2n><span b-daz9gi7v2n>Jul 30, 2026</span><span b-daz9gi7v2n>France</span></div></div> 539 540 </div></div><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-lg-3"><div class="publication-card" b-daz9gi7v2n><img src="https://meduza.io/imgly/share/1782188242/en/feature/2026/06/23/for-years-ukrainian-strikes-stalled-within-a-few-kilometers-of-the-front-meduza-mapped-thousands-of-geolocated-attacks-and-fou
540nd-they-now-reach-far-behind-russian-lines" alt="For years, Ukrainian strikes stalled within a few kilometers of the front. Meduza mapped thousands of geolocated attacks and found they now reach far behind Russian lines." class="publication-card-image" loading="lazy" b-daz9gi7v2n /><div class="publication-card-chip-overlay" b-daz9gi7v2n><div class="mud-chip-container" id="chip-container-8e33b05e-a993-415d-8a8e-f2d5b854cc2b"><div tabindex="-1" class="mud-chip mud-chip-filled mud-chip-size-small mud-chip-color-success"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small mud-chip-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg><span class="mud-chip-content">Press</span></div></div></div> 541 542 <div class="publication-card-body" b-daz9gi7v2n><div class="publication-card-title" b-daz9gi7v2n><a href="https://meduza.io/en/feature/2026/06/23/for-years-ukrainian-strikes-stalled-within-a-few-kilometers-of-the-front-meduza-mapped-thousands-of-geolocated-attacks-and-found-they-now-reach-far-behind-russian-lines" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-subtitle1">For years, Ukrainian strikes stalled within a few kilometers of the front. Meduza mapped thousands of geolocated attacks and found they now reach far behind Russian lines. 543 <svg class="mud-icon-root mud-svg-icon mud-icon-size-small ml-1" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg></a></div><p class="mud-typography mud-typography-body2 publication-card-summary">Ukraine Strikes</p><p class="mud-typography mud-typography-body2 publication-card-author">Meduza</p><div class="publication-card-meta" b-daz9gi7v2n><span b-daz9gi7v2n>Jun 22, 2026</span><span b-daz9gi7v2n>Latvia</span></div></div> 544 545 </div></div><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-lg-3"><div class="publication-card" b-daz9gi7v2n><div class="publication-card-placeholder" b-daz9gi7v2n><svg class="mud-icon-root mud-svg-icon mud-icon-size-large" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg></div><div class="publication-card-chip-overlay" b-daz9gi7v2n><div class="mud-chip-container" id="chip-container-0f4618d4-c6b5-4267-8395-1163b0d279ad"><div tabindex="-1" class="mud-chip mud-chip-filled mud-chip-size-small mud-chip-color-success"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small mud-chip-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg><span class="mud-chip-content">Press</span></div></div></div> 546 547 <div class="publication-card-body" b-daz9gi7v2n><div class="publication-card-title" b-daz9gi7v2n><a href="https://edition.cnn.com/2026/06/20/europe/ukraine-mid-range-drones-russia-logistics-intl-cmd" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-subtitle1">No fuel, no weapons: How Ukraine’s new drone strategy is mauling Russian supply lines 548 <svg class="mud-icon-root mud-svg-icon mud-icon-size-small ml-1" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg></a></div><p class="mud-typography mud-typography-body2 publication-card-summary">Ukrainian Logistics Strikes</p><p class="mud-typography mud-typography-body2 publication-card-author">CNN</p><div class="publication-card-meta" b-daz9gi7v2n><span b-daz9gi7v2n>Jun 19, 2026</span><span b-daz9gi7v2n>United States</span></div></div> 549 550 </div></div><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-lg-3"><div class="publication-card" b-daz9gi7v2n><img src="https://ichef.bbci.co.uk/news/1200/branded_russian/3977/live/50b5f000-5d9f-11f1-b199-9da46582c1b0.jpg" alt="Fuel crisis in Crimea. Gasoline began to be sold using coupons" class="publication-card-image" loading="lazy" b-daz9gi7v2n /><div class="publication-card-chip-overlay" b-daz9gi7v2n><div class="mud-chip-container" id="chip-container-6d09325f-43be-4a2d-9d4e-def34498bae0"><div tabindex="-1" class="mud-chip mud-chip-filled mud-chip-size-small mud-chip-color-success"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small mud-chip-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg><span class="mud-chip-content">Press</span></div></div></div> 551 552 <div class="publication-card-body" b-daz9gi7v2n><div class="publication-card-title" b-daz9gi7v2n><a href="https://www.bbc.com/russian/articles/ce9pln22rk5o" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-subtitle1">Fuel crisis in Crimea. Gasoline began to be sold using coupons 553 <svg class="mud-icon-root mud-svg-icon mud-icon-size-small ml-1" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg></a></div><p class="mud-typography mud-typography-body2 publication-card-summary">Fuel Strikes</p><p class="mud-typography mud-typography-body2 publication-card-author">BBC</p><div class="publication-card-meta" b-daz9gi7v2n><span b-daz9gi7v2n>May 31, 2026</span><span b-daz9gi7v2n>
553United Kingdom</span></div></div> 554 555 </div></div><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-lg-3"><div class="publication-card" b-daz9gi7v2n><img src="https://ichef.bbci.co.uk/ace/branded_news/1200/cpsprodpb/1222/live/288ef030-5b7a-11f1-b682-cf91850925ea.png" alt="Ukraine using AI drones to strike vital convoys supplying Russian troops" class="publication-card-image" loading="lazy" b-daz9gi7v2n /><div class="publication-card-chip-overlay" b-daz9gi7v2n><div class="mud-chip-container" id="chip-container-f51b9f98-9fc0-4a85-b76e-f1d10c0b6e7a"><div tabindex="-1" class="mud-chip mud-chip-filled mud-chip-size-small mud-chip-color-success"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small mud-chip-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg><span class="mud-chip-content">Press</span></div></div></div> 556 557 <div class="publication-card-body" b-daz9gi7v2n><div class="publication-card-title" b-daz9gi7v2n><a href="https://www.bbc.co.uk/news/articles/cdjp0n7rn41o" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-subtitle1">Ukraine using AI drones to strike vital convoys supplying Russian troops 558 <svg class="mud-icon-root mud-svg-icon mud-icon-size-small ml-1" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg></a></div><p class="mud-typography mud-typography-body2 publication-card-summary">AI Drone Strikes</p><p class="mud-typography mud-typography-body2 publication-card-author">BBC</p><div class="publication-card-meta" b-daz9gi7v2n><span b-daz9gi7v2n>May 29, 2026</span><span b-daz9gi7v2n>United Kingdom</span></div></div> 559 560 </div></div><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-lg-3"><div class="publication-card" b-daz9gi7v2n><img src="https://s.france24.com/media/display/af0c61ea-52cb-11f1-a298-005056a97e36/w:1280/p:16x9/HIXBQDJWwAAEG62.jpg" alt="‘Aid workers are targeted’: Russian drones strike UN convoy in Ukraine" class="publication-card-image" loading="lazy" b-daz9gi7v2n /><div class="publication-card-chip-overlay" b-daz9gi7v2n><div class="mud-chip-container" id="chip-container-671da0fc-b70d-4b0a-a2ed-cbebd7f0987c"><div tabindex="-1" class="mud-chip mud-chip-filled mud-chip-size-small mud-chip-color-success"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small mud-chip-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg><span class="mud-chip-content">Press</span></div></div></div> 561 562 <div class="publication-card-body" b-daz9gi7v2n><div class="publication-card-title" b-daz9gi7v2n><a href="https://www.france24.com/en/europe/20260519-aid-workers-targeted-russian-drones-strike-un-convoy-ukraine" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-subtitle1">‘Aid workers are targeted’: Russian drones strike UN convoy in Ukraine 563 <svg class="mud-icon-root mud-svg-icon mud-icon-size-small ml-1" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg></a></div><p class="mud-typography mud-typography-body2 publication-card-summary">Ukraine War</p><p class="mud-typography mud-typography-body2 publication-card-author">France 24</p><div class="publication-card-meta" b-daz9gi7v2n><span b-daz9gi7v2n>May 28, 2026</span><span b-daz9gi7v2n>France</span></div></div> 564 565 </div></div><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-lg-3"><div class="publication-card" b-daz9gi7v2n><img src="https://i.cbc.ca/ais/d6bed13e-09a4-48af-bd86-5733cd69b8aa,1779728141650/full/max/0/default.jpg?im=Crop%2Crect%3D%280%2C272%2C5224%2C2938%29%3BResize%3D620" alt="Ukraine's cultural, historical institutions heavily damaged in mass-scale Russian attack" class="publication-card-image" loading="lazy" b-daz9gi7v2n /><div class="publication-card-chip-overlay" b-daz9gi7v2n><div class="mud-chip-container" id="chip-container-9494b3d3-3f83-4849-82ba-8bc4134292ca"><div tabindex="-1" class="mud-chip mud-chip-filled mud-chip-size-small mud-chip-color-success"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small mud-chip-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg><span class="mud-chip-content">Press</span></div></div></div> 566 567 <div class="publication-card-body" b-daz9gi7v2n><div class="publication-card-title" b-daz9gi7v2n><a href="https://www.cbc.ca/news/world/ukraine-museums-cultural-institutions-russia-attacks-9.7210980" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-subtitle1">Ukraine's cultural, historical institutions heavily damaged in mass-scale Russian attack 568 <svg class="mud-icon-root mud-svg-icon mud-icon-size-small ml-1" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg></a></div><p class="mud-typography mud-typography-body2 publication-card-summary">Ukraine Destruction</p><p class="mud-typography mud-typography-body2 publication-card-author">CBC</p><div class="publication-card-meta" b-daz9gi7v2n><span b-daz9gi7v2n>May 25, 2026</span><span b-daz9gi7v2n>
568Canada</span></div></div> 569 570 </div></div><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-lg-3"><div class="publication-card" b-daz9gi7v2n><img src="https://www.bellingcat.com/app/uploads/2026/04/Iran-police-stations-cover.jpeg" alt="“Make Iran Ungovernable” – Tracking Efforts To Destroy Iran’s Police Infrastructure" class="publication-card-image" loading="lazy" b-daz9gi7v2n /><div class="publication-card-chip-overlay" b-daz9gi7v2n><div class="mud-chip-container" id="chip-container-a90f5e76-07ca-4f87-af7e-377fb9297e0e"><div tabindex="-1" class="mud-chip mud-chip-filled mud-chip-size-small mud-chip-color-success"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small mud-chip-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg><span class="mud-chip-content">Press</span></div></div></div> 571 572 <div class="publication-card-body" b-daz9gi7v2n><div class="publication-card-title" b-daz9gi7v2n><a href="https://www.bellingcat.com/news/2026/04/24/make-iran-ungovernable-tracking-efforts-to-destroy-irans-police-infrastructure/" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-subtitle1">“Make Iran Ungovernable” – Tracking Efforts To Destroy Iran’s Police Infrastructure 573 <svg class="mud-icon-root mud-svg-icon mud-icon-size-small ml-1" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg></a></div><p class="mud-typography mud-typography-body2 publication-card-summary">US Iran War</p><p class="mud-typography mud-typography-body2 publication-card-author">Bellingcat</p><div class="publication-card-meta" b-daz9gi7v2n><span b-daz9gi7v2n>Apr 23, 2026</span><span b-daz9gi7v2n>Netherlands</span></div></div> 574 575 </div></div><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-lg-3"><div class="publication-card" b-daz9gi7v2n><img src="https://www.hrw.org/sites/default/files/styles/opengraph/public/media_2026/04/202604mena_iran_south_pars.jpg?h=27de668d&amp;itok=wLm_4Wy8" alt="Israel, Iran: Unlawful March Attacks on Energy Infrastructure" class="publication-card-image" loading="lazy" b-daz9gi7v2n /><div class="publication-card-chip-overlay" b-daz9gi7v2n><div class="mud-chip-container" id="chip-container-2e420d55-0c61-4c8b-a689-772b245e81bc"><div tabindex="-1" class="mud-chip mud-chip-filled mud-chip-size-small mud-chip-color-success"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small mud-chip-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg><span class="mud-chip-content">Press</span></div></div></div> 576 577 <div class="publication-card-body" b-daz9gi7v2n><div class="publication-card-title" b-daz9gi7v2n><a href="https://www.hrw.org/news/2026/04/22/israel-iran-unlawful-march-attacks-on-energy-infrastructure" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-subtitle1">Israel, Iran: Unlawful March Attacks on Energy Infrastructure 578 <svg class="mud-icon-root mud-svg-icon mud-icon-size-small ml-1" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg></a></div><p class="mud-typography mud-typography-body2 publication-card-summary">
578Strikes on Energy Infrastructure </p><p class="mud-typography mud-typography-body2 publication-card-author">Human Rights Watch</p><div class="publication-card-meta" b-daz9gi7v2n><span b-daz9gi7v2n>Apr 22, 2026</span><span b-daz9gi7v2n>United States</span></div></div> 579 580 </div></div><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-lg-3"><div class="publication-card" b-daz9gi7v2n><img src="https://www.hrw.org/sites/default/files/styles/opengraph/public/media_2026/04/202604mena_iran_oildepot.jpg?h=790be497&amp;itok=yNX5I5jJ" alt="Iran: Israel’s Oil Depot Strikes Endanger Environment, Health" class="publication-card-image" loading="lazy" b-daz9gi7v2n /><div class="publication-card-chip-overlay" b-daz9gi7v2n><div class="mud-chip-container" id="chip-container-f12829fc-c271-43f6-b7c2-58e192dabe2f"><div tabindex="-1" class="mud-chip mud-chip-filled mud-chip-size-small mud-chip-color-success"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small mud-chip-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg><span class="mud-chip-content">Press</span></div></div></div> 581 582 <div class="publication-card-body" b-daz9gi7v2n><div class="publication-card-title" b-daz9gi7v2n><a href="https://www.hrw.org/news/2026/04/14/iran-israels-oil-depot-strikes-endanger-environment-health" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-subtitle1">Iran: Israel’s Oil Depot Strikes Endanger Environment, Health 583 <svg class="mud-icon-root mud-svg-icon mud-icon-size-small ml-1" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg></a></div><p class="mud-typography mud-typography-body2 publication-card-summary">Israel Iran War</p><p class="mud-typography mud-typography-body2 publication-card-author">Human Rights Watch</p><div class="publication-card-meta" b-daz9gi7v2n><span b-daz9gi7v2n>Apr 12, 2026</span><span b-daz9gi7v2n>United States</span></div></div> 584 585 </div></div><div class="mud-grid-item mud-grid-item-xs-12 mud-grid-item-sm-6 mud-grid-item-lg-3"><div class="publication-card" b-daz9gi7v2n><img src="https://www.bellingcat.com/app/uploads/2026/04/Screenshot-2026-04-07-at-15.12.42.jpg" alt="When Satellite Imagery Goes Dark: New Tool Shows Damage in Iran and the Gulf" class="publication-card-image" loading="lazy" b-daz9gi7v2n /><div class="publication-card-chip-overlay" b-daz9gi7v2n><div class="mud-chip-container" id="chip-container-ce0d66c6-afef-413d-92f5-64e057ff7009"><div tabindex="-1" class="mud-chip mud-chip-filled mud-chip-size-small mud-chip-color-success"><svg class="mud-icon-root mud-svg-icon mud-icon-size-small mud-chip-icon" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><g><rect fill="none" height="24" width="24"/></g><g><path d="M22,3l-1.67,1.67L18.67,3L17,4.67L15.33,3l-1.66,1.67L12,3l-1.67,1.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3v16 c0,1.1,0.9,2,2,2l16,0c1.1,0,2-0.9,2-2V3z M11,19H4v-6h7V19z M20,19h-7v-2h7V19z M20,15h-7v-2h7V15z M20,11H4V8h16V11z"/></g></svg><span class="mud-chip-content">Press</span></div></div></div> 586 587 <div class="publication-card-body" b-daz9gi7v2n><div class="publication-card-title" b-daz9gi7v2n><a href="https://www.bellingcat.com/resources/2026/04/07/tool-damage-assessment-destruction-sentinel-satellite-imagery-iran-us-gulf/" target="_blank" class="mud-typography mud-link mud-primary-text mud-link-underline-hover mud-typography-subtitle1">When Satellite Imagery Goes Dark: New Tool Shows Damage in Iran and the Gulf 588 <svg class="mud-icon-root mud-svg-icon mud-icon-size-small ml-1" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg></a></div><p class="mud-typography mud-typography-body2 publication-card-summary">Attack on Iran</p><p class="mud-typography mud-typography-body2 publication-card-author">
588Bellingcat</p><div class="publication-card-meta" b-daz9gi7v2n><span b-daz9gi7v2n>Apr 6, 2026</span><span b-daz9gi7v2n>Netherlands</span></div></div> 589 590 </div></div></div><div class="d-flex justify-center mt-4 mb-4" b-daz9gi7v2n><ul class="mud-pagination mud-pagination-outlined mud-pagination-medium"><li class="mud-pagination-item"><button aria-label="First page" type="button" disabled class="mud-button-root mud-icon-button mud-button mud-button-outlined mud-button-outlined-default mud-button-outlined-size-medium mud-ripple" __internal_stopPropagation_onclick><span class="mud-icon-button-label"><svg class="mud-icon-root mud-svg-icon mud-icon-size-medium" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"/><path d="M24 24H0V0h24v24z" fill="none"/></svg></span></button></li><li class="mud-pagination-item"><button aria-label="Previous page" type="button" disabled class="mud-button-root mud-icon-button mud-button mud-button-outlined mud-button-outlined-default mud-button-outlined-size-medium mud-ripple" __internal_stopPropagation_onclick><span class="mud-icon-button-label"><svg class="mud-icon-root mud-svg-icon mud-icon-size-medium" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/></svg></span></button></li><li class="mud-pagination-item mud-pagination-item-selected"><button aria-current="page" aria-label="Current page 1" type="button" class="mud-button-root mud-button mud-button-outlined mud-button-outlined-primary mud-button-outlined-size-medium" __internal_stopPropagation_onclick><span class="mud-button-label">1</span></button></li><li class="mud-pagination-item"><button aria-label="Page 2" type="button" class="mud-button-root mud-button mud-button-outlined mud-button-outlined-default mud-button-outlined-size-medium" __internal_stopPropagation_onclick><span class="mud-button-label">2</span></button></li><li class="mud-pagination-item"><button aria-label="Page 3" type="button" class="mud-button-root mud-button mud-button-outlined mud-button-outlined-default mud-button-outlined-size-medium" __internal_stopPropagation_onclick><span class="mud-button-label">3</span></button></li><li class="mud-pagination-item"><button aria-label="Page 4" type="button" class="mud-button-root mud-button mud-button-outlined mud-button-outlined-default mud-button-outlined-size-medium" __internal_stopPropagation_onclick><span class="mud-button-label">4</span></button></li><li class="mud-pagination-item"><button aria-label="Page 5" type="button" class="mud-button-root mud-button mud-button-outlined mud-button-outlined-default mud-button-outlined-size-medium" __internal_stopPropagation_onclick><span class="mud-button-label">5</span></button></li><li class="mud-pagination-item"><button aria-label="Page 6" type="button" class="mud-button-root mud-button mud-button-outlined mud-button-outlined-default mud-button-outlined-size-medium" __internal_stopPropagation_onclick><span class="mud-button-label">6</span></button></li><li class="mud-pagination-item"><p class="mud-typography mud-typography-body1">...</p></li><li class="mud-pagination-item"><button aria-label="Page 19" type="button" class="mud-button-root mud-button mud-button-outlined mud-button-outlined-default mud-button-outlined-size-medium" __internal_stopPropagation_onclick><span class="mud-button-label">19</span></button></li><li class="mud-pagination-item"><button aria-label="Page 20" type="button" class="mud-button-root mud-button mud-button-outlined mud-button-outlined-default mud-button-outlined-size-medium" __internal_stopPropagation_onclick><span class="mud-button-label">20</span></button></li><li class="mud-pagination-item"><button aria-label="Next page" type="button" class="mud-button-root mud-icon-button mud-button mud-button-outlined mud-button-outlined-default mud-button-outlined-size-medium mud-ripple" __internal_stopPropagation_onclick><span class="mud-icon-button-label"><svg class="mud-icon-root mud-svg-icon mud-icon-size-medium" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0z" fill="none"/><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg></span></button></li><li class="mud-pagination-item"><button aria-label="Last page" type="button" class="mud-button-root mud-icon-button mud-button mud-button-outlined mud-button-outlined-default mud-button-outlined-size-medium mud-ripple" __internal_stopPropagation_onclick><span class="mud-icon-button-label"><svg class="mud-icon-root mud-svg-icon mud-icon-size-medium" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="img"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"/></svg></span></button></li></ul></div><p class="mud-typography mud-typography-body2 mud-secondary-text mud-typography-align-center mb-4">239 items 591 </p></div></div></div></div> 592 593<div id="blazor-error-ui" data-nosnippet> 594 An unhandled error has occurred. 595 <a href="." class="reload">Reload</a>
596 <span class="dismiss">ð</span></div><!--Blazor:{"prerenderId":"c54de9ad17da449d928afccc35028ffd"}--> 597
597<script src="lib/maplibre/maplibre-gl.tm1kcqru8s.js" defer></script>
597 598
598<script src="lib/turf/turf.min.kv09mgep2m.js" defer></script>
598 599
599<script src="_content/MudBlazor/MudBlazor.min.jolev99wdd.js"></script>
599 600
600<script src="_content/Z.Blazor.Diagrams/script.min.8l02e235tj.js"></script>
600 601
601<script src="_framework/blazor.web.9hsif5t8mt.js" autostart="false"></script>
601 602
602<script type="module"> 603 const ring = document.getElementById('blazor-ring'); 604 const pctEl = document.getElementById('blazor-pct'); 605 const check = document.getElementById('blazor-check'); 606 const loader = document.getElementById('blazor-loader'); 607 const circumference = 2 * Math.PI * 54; // ~339.3 608 const showTime = Date.now(); 609 const MIN_DISPLAY_MS = 200; 610 // Time for ring CSS transition (0.3s) + small buffer 611 const RING_TRANSITION_MS = 400; 612 let lastPct = 0; 613 614 const poll = setInterval(() => { 615 const raw = getComputedStyle(document.documentElement) 616 .getPropertyValue('--blazor-load-percentage-text').replace(/["%\s]/g, ''); 617 const p = parseInt(raw) || 0; 618 if (p > lastPct) { 619 lastPct = p; 620 ring.style.strokeDashoffset = circumference - (circumference * p / 100); 621 pctEl.textContent = p < 100 ? `Loading ${p}%` : 'Loading complete'; 622 if (p >= 100) { 623 check.style.strokeDashoffset = '0'; 624 clearInterval(poll); 625 } 626 } 627 }, 50); 628 629 await Blazor.start({ 630 webAssembly: { 631 environment: "" 632 } 633 }); 634 635 clearInterval(poll); 636 637 // Wait until --blazor-load-percentage-text actually reaches 100% 638 await new Promise(resolve => { 639 const check100 = setInterval(() => { 640 const raw = getComputedStyle(document.documentElement) 641 .getPropertyValue('--blazor-load-percentage-text').replace(/["%\s]/g, ''); 642 const p = parseInt(raw) || 0; 643 if (p > lastPct) { 644 lastPct = p; 645 ring.style.strokeDashoffset = circumference - (circumference * p / 100); 646 pctEl.textContent = p < 100 ? `Loading ${p}%` : 'Loading complete'; 647 } 648 if (p >= 100) { 649 clearInterval(check100); 650 check.style.strokeDashoffset = '0'; 651 resolve(); 652 } 653 }, 50); 654 }); 655 656 // Wait for ring transition to finish so the user sees the completion, 657 // plus enforce minimum visible time 658 const elapsed = Date.now() - showTime; 659 const waitMs = Math.max(MIN_DISPLAY_MS - elapsed, RING_TRANSITION_MS); 660 await new Promise(r => setTimeout(r, waitMs)); 661 662 loader.classList.add('loaded'); 663 setTimeout(() => loader.remove(), 600); 664 </script>
664<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"36413589cd7b406a9f57ef0c6b011021","r":1,"spa":2}' crossorigin="anonymous"></script>
664 665</body></html><!--Blazor-Web-Initializers:WwogICJHZW9jb25maXJtZWQuU2VydmVyLm82a3dhenllcDIubGliLm1vZHVsZS5qcyIKXQ==--><!--Blazor-WebAssembly-Component-State:eyJNaWNyb3NvZnQuQXNwTmV0Q29yZS5Db21wb25lbnRzLkluZnJhc3RydWN0dXJlLlBlcnNpc3RlbnRTZXJ2aWNlc1JlZ2lzdHJ5IjoiVzNzaVlYTnpaVzFpYkhraU9pSkhaVzlqYjI1bWFYSnRaV1F1UTJ4cFpXNTBJaXdpWm5Wc2JGUjVjR1ZPWVcxbElqb2lSMlZ2WTI5dVptbHliV1ZrTGtOc2FXVnVkQzVUWlhKMmFXTmxjeTVEYjI1bWJHbGpkRk4wYjNKbEluMHNleUpoYzNObGJXSnNlU0k2SWtkbGIyTnZibVpwY20xbFpDNURiR2xsYm5RaUxDSm1kV3hzVkhsd1pVNWhiV1VpT2lKSFpXOWpiMjVtYVhKdFpXUXVRMnhwWlc1MExsTmxjblpwWTJWekxraHZiV1ZUZEdGMGMxTjBiM0psSW4wc2V5SmhjM05sYldKc2VTSTZJa2RsYjJOdmJtWnBjbTFsWkM1RGJHbGxiblFpTENKbWRXeHNWSGx3WlU1aGJXVWlPaUpIWlc5amIyNW1hWEp0WldRdVEyeHBaVzUwTGxObGNuWnBZMlZ6TGxCc1lXTmxiV0Z5YTFOMGIzSmxJbjBzZXlKaGMzTmxiV0pzZVNJNklrZGxiMk52Ym1acGNtMWxaQzVEYkdsbGJuUWlMQ0ptZFd4c1ZIbHdaVTVoYldVaU9pSkhaVzlqYjI1bWFYSnRaV1F1UTJ4cFpXNTBMbE5sY25acFkyVnpMbFJ2YjJ4cmFYUlRkRzl5WlNKOUxIc2lZWE56WlcxaWJIa2lPaUpOYVdOeWIzTnZablF1UVhOd1RtVjBRMjl5WlM1RGIyMXdiMjVsYm5SekxrVnVaSEJ2YVc1MGN5SXNJbVoxYkd4VWVYQmxUbUZ0WlNJNklrMXBZM0p2YzI5bWRDNUJjM0JPWlhSRGIzSmxMa052YlhCdmJtVnVkSE11VW1WemIzVnlZMlZEYjJ4c1pXTjBhVzl1VUhKdmRtbGtaWElpZlN4N0ltRnpjMlZ0WW14NUlqb2lUV2xqY205emIyWjBMa0Z6Y0U1bGRFTnZjbVV1UTI5dGNHOXVaVzUwY3k1WFpXSWlMQ0ptZFd4c1ZIbHdaVTVoYldVaU9pSk5hV055YjNOdlpuUXVRWE53VG1WMFEyOXlaUzVEYjIxd2IyNWxiblJ6TGtadmNtMXpMa0Z1ZEdsbWIzSm5aWEo1VTNSaGRHVlFjbTkyYVdSbGNpSjlYUT09IiwiS1N6dFQ4NGdBaVYwSU8vVUJSUnBPbThLNGpxRWZcdTAwMkIxSnp2Vk9DTUJsc2lVPSI6ImV5SjJZV3gxWlNJNklrTm1SRW80UW5aMGVXWnNVM05KVGxCeVNISXRUMUZHUVhWcFNGOTJUakV0U1ZJelVIQlFPWGhKV2xWdGFtTjFja0ZvV2tOeU9IaFlZV0l6TWxsaVRuY3RjM1J5YVVWb2NHZFBVbVUzWlZKcFpIaHFjekZNVm5vdFpWaERPV295UjNjeE9WQkdTbTFZWWkxWkxWUlZUMjR5VWpBdFNGaDJWR3B6WW5Cd2JsRndPVVZyUm14NFltSkpXbWc1ZEhBNExYQjFkVmRSYkRsM2QzVmpJaXdpWm05eWJVWnBaV3hrVG1GdFpTSTZJbDlmVW1WeGRXVnpkRlpsY21sbWFXTmhkR2x2YmxSdmEyVnVJbjA9IiwiSzlUZTNMRGJcdTAwMkI2eGZKQy8wUlQwQkdMUU92cFhpUDRLSVNnQWtPekRuc2tBPSI6IklpNHZYMlp5WVcxbGQyOXlheTl5WlhOdmRYSmpaUzFqYjJ4c1pXTjBhVzl1TG1sMGRsOXFMbXB6SWc9PSIsInVkOWNuOHMvNWNQOE1Sakl5Mk1ocmJrSHVLcXE5VTBcdTAwMkJiZlFxdXQ0Y2JFOD0iOiJXMTA9IiwiWHpVMmlQTVppcS9zXHUwMDJCQjhpdlpNWWthSXpZdGcvb3YxQXd3ektyM0NOSDJRPSI6IlptRnNjMlU9IiwiWXVmZkV3TFEyMDMxOERLNThaMXYwd1hzMjBVS2Qwc0g4a2NRb3pwRnVJQT0iOiJXMTA9IiwiREFUdktob1pYTGtXblp6MHZKT3RZc3dYZmd3ZWdnamE0aDN4Yy9zaTk1OD0iOiJXMTA9IiwiRjB4VndBQXFybWszd21tV2V4bThcdTAwMkJjL3k2VE03UmlmNEpNaWttV1NKdFRBPSI6IlptRnNjMlU9IiwiVGhERmxaTkJDT1lOTDBEVzJzbEdjZEYyZDJ1Nmw3SnVuSm5DYXVDbUdTRT0iOiJXMTA9IiwiSjFVTlRJbnZpbTBISy9ocDl5LzU5Z2RaejhCTUpHMDlzd3dhNEJxb0xcdTAwMkJNPSI6IlptRnNjMlU9IiwiWURKOVc5VXpIVmRXS04vek1LMjQxUVNFMTJOMkd3Z2k0SnZ2RnlWTEV6RT0iOiJabUZzYzJVPSIsImtqaHg3Wk9zdG90bGNrWlJDQmlTcm5XcHlRU05DRzl5a0ZrWkd5Unp2SE09IjoiWm1Gc2MyVT0iLCJIa2t1djlqUWZCWGZCSkNSUjlIRFhOSnRJeVpEWS9pVlU5OXhZbGRqNXFrPSI6Ilczc2liM0prWlhJaU9qQXNJbTVoYldVaU9pSlhiM0pzWkNJc0luTm9iM0owVG1GdFpTSTZJbGR2Y214a0lpd2lZMjlrWlNJNklsZHZjbXhrSWl3aWRYSnNJam9pZDI5eWJHUWlMQ0p6ZEdGeWRFUmhkR1VpT2lJeU1ESXpMVEF4TFRBeFZEQXdPakF3T2pBd0lpd2laVzVrUkdGMFpTSTZiblZzYkN3aWFYTlFjbWwyWVhSbElqcG1ZV3h6WlN3aWMyaHZkMGx1VFdWdWRHbHZibk1pT25SeWRXVXNJbk5vYjNkVWFXMWxiR2x1WlNJNmRISjFaU3dpYkdGMGFYUjFaR1VpT2pBc0lteHZibWRwZEhWa1pTSTZNQ3dpYUdGelJuSnZiblJzYVc1bElqcG1ZV3h6Wlgwc2V5SnZjbVJsY2lJNk1Td2libUZ0WlNJNklsVnJjbUZwYm1VaUxDSnphRzl5ZEU1aGJXVWlPaUpWYTNKaGFXNWxJaXdpWTI5a1pTSTZJbFZMVWlJc0luVnliQ0k2SW5WcmNtRnBibVVpTENKemRHRnlkRVJoZEdVaU9pSXlNREV6TFRBeExUQXhWREF3T2pBd09qQXdJaXdpWlc1a1JHRjBaU0k2Ym5Wc2JDd2lhWE5RY21sMllYUmxJanBtWVd4elpTd2ljMmh2ZDBsdVRXVnVkR2x2Ym5NaU9uUnlkV1VzSW5Ob2IzZFVhVzFsYkdsdVpTSTZkSEoxWlN3aWJHRjBhWFIxWkdVaU9qUTRMak0zT1RRc0lteHZibWRwZEhWa1pTSTZNekV1TVRZMU5pd2lhR0Z6Um5KdmJuUnNhVzVsSWpwMGNuVmxmU3g3SW05eVpHVnlJam95TENKdVlXMWxJam9pU1hKaGJpSXNJbk5vYjNKMFRtRnRaU0k2SWtseVlXNGlMQ0pqYjJSbElqb2lTWEpoYmlJc0luVnliQ0k2SW1seVlXNGlMQ0p6ZEdGeWRFUmhkR1VpT2lJeU1ESTFMVEF4TFRFeFZEQXdPakF3T2pBd0lpd2laVzVrUkdGMFpTSTZiblZzYkN3aWFYTlFjbWwyWVhSbElqcG1ZV3h6WlN3aWMyaHZkMGx1VFdWdWRHbHZibk1pT25SeWRXVXNJbk5vYjNkVWFXMWxiR2x1WlNJNmRISjFaU3dpYkdGMGFYUjFaR1VpT2pNeUxqVXhOemcwT1N3aWJHOXVaMmwwZFdSbElqbzFOQzR5TmpBNE16SXNJbWhoYzBaeWIyNTBiR2x1WlNJNlptRnNjMlY5TEhzaWIzSmtaWElpT2pNc0ltNWhiV1VpT2lKV1pXNWxlblZsYkdFaUxDSnphRzl5ZEU1aGJXVWlPaUpXUlU0aUxDSmpiMlJsSWpvaVZrVk9JaXdpZFhKc0lqb2lkbVZ1SWl3aWMzUmhjblJFWVhSbElqb2lNakF5TlMweE1DMHdNVlF3TURvd01Eb3dNQ0lzSW1WdVpFUmhkR1VpT201MWJHd3NJbWx6VUhKcGRtRjBaU0k2Wm1G
665c2MyVXNJbk5vYjNkSmJrMWxiblJwYjI1eklqcDBjblZsTENKemFHOTNWR2x0Wld4cGJtVWlPblJ5ZFdVc0lteGhkR2wwZFdSbElqbzNMak14TlRjNE5Dd2liRzl1WjJsMGRXUmxJam90TmpVdU5EZzFPVGN5TENKb1lYTkdjbTl1ZEd4cGJtVWlPbVpoYkhObGZTeDdJbTl5WkdWeUlqbzBMQ0p1WVcxbElqb2lUbUZuYjNKdWJ5QXRJRXRoY21GaVlXdG9JaXdpYzJodmNuUk9ZVzFsSWpvaVRtRm5iM0p1YjB0aGNtRmlZV3RvSWl3aVkyOWtaU0k2SWs1QlJ5SXNJblZ5YkNJNkltNWhaMjl5Ym05ZmEyRnlZV0poYTJnaUxDSnpkR0Z5ZEVSaGRHVWlPaUl5TURJekxUQXhMVEF4VkRBd09qQXdPakF3SWl3aVpXNWtSR0YwWlNJNmJuVnNiQ3dpYVhOUWNtbDJZWFJsSWpwbVlXeHpaU3dpYzJodmQwbHVUV1Z1ZEdsdmJuTWlPblJ5ZFdVc0luTm9iM2RVYVcxbGJHbHVaU0k2ZEhKMVpTd2liR0YwYVhSMVpHVWlPak01TGprNE5qSTVPRFlzSW14dmJtZHBkSFZrWlNJNk5EWXVNVFl4TVRNNU1Td2lhR0Z6Um5KdmJuUnNhVzVsSWpwbVlXeHpaWDBzZXlKdmNtUmxjaUk2TlN3aWJtRnRaU0k2SWtGbWNtbGpZU0lzSW5Ob2IzSjBUbUZ0WlNJNklsTmhhR1ZzSWl3aVkyOWtaU0k2SWtGbWNtbGpZU0lzSW5WeWJDSTZJbUZtY21sallTSXNJbk4wWVhKMFJHRjBaU0k2SWpJd01qTXRNREV0TURGVU1EQTZNREE2TURBaUxDSmxibVJFWVhSbElqcHVkV3hzTENKcGMxQnlhWFpoZEdVaU9tWmhiSE5sTENKemFHOTNTVzVOWlc1MGFXOXVjeUk2ZEhKMVpTd2ljMmh2ZDFScGJXVnNhVzVsSWpwMGNuVmxMQ0pzWVhScGRIVmtaU0k2TVRVdU5USTBNVEl4TlN3aWJHOXVaMmwwZFdSbElqb3hNaTQzTXpZek1UY3pMQ0pvWVhOR2NtOXVkR3hwYm1VaU9tWmhiSE5sZlN4N0ltOXlaR1Z5SWpvMkxDSnVZVzFsSWpvaVJGSkRiMjVuYnlJc0luTm9iM0owVG1GdFpTSTZJa1JTUXlJc0ltTnZaR1VpT2lKRVVrTWlMQ0oxY213aU9pSmtjbU1pTENKemRHRnlkRVJoZEdVaU9pSXlNREkwTFRBeExUSTRWREF3T2pBd09qQXdJaXdpWlc1a1JHRjBaU0k2Ym5Wc2JDd2lhWE5RY21sMllYUmxJanBtWVd4elpTd2ljMmh2ZDBsdVRXVnVkR2x2Ym5NaU9uUnlkV1VzSW5Ob2IzZFVhVzFsYkdsdVpTSTZkSEoxWlN3aWJHRjBhWFIxWkdVaU9pMHpMakk1TXpjeE9Td2liRzl1WjJsMGRXUmxJam95TXk0M01UTTROREVzSW1oaGMwWnliMjUwYkdsdVpTSTZabUZzYzJWOUxIc2liM0prWlhJaU9qY3NJbTVoYldVaU9pSkpjM0poWld3dlIyRjZZUzlNWldKaGJtOXVJaXdpYzJodmNuUk9ZVzFsSWpvaVNYTnlZV1ZzSWl3aVkyOWtaU0k2SWtsVFVpSXNJblZ5YkNJNkltbHpjbUZsYkNJc0luTjBZWEowUkdGMFpTSTZJakl3TWpNdE1UQXRNRGRVTURBNk1EQTZNREFpTENKbGJtUkVZWFJsSWpwdWRXeHNMQ0pwYzFCeWFYWmhkR1VpT21aaGJITmxMQ0p6YUc5M1NXNU5aVzUwYVc5dWN5STZkSEoxWlN3aWMyaHZkMVJwYldWc2FXNWxJanAwY25WbExDSnNZWFJwZEhWa1pTSTZNekV1TnpZME1ERXdNaXdpYkc5dVoybDBkV1JsSWpvek5TNHlNVFV5T1RRMExDSm9ZWE5HY205dWRHeHBibVVpT25SeWRXVjlMSHNpYjNKa1pYSWlPamdzSW01aGJXVWlPaUpKYzNJZ0xTQTNJRTlqZENBeU15SXNJbk5vYjNKMFRtRnRaU0k2SWpkUFExUXlNeUlzSW1OdlpHVWlPaUkzVDBOVU1qTWlMQ0oxY213aU9pSTNiMk4wSWl3aWMzUmhjblJFWVhSbElqb2lNakF5TXkweE1DMHdObFF3TURvd01Eb3dNQ0lzSW1WdVpFUmhkR1VpT2lJeU1ESXpMVEV3TFRFd1ZEQXdPakF3T2pBd0lpd2lhWE5RY21sMllYUmxJanBtWVd4elpTd2ljMmh2ZDBsdVRXVnVkR2x2Ym5NaU9uUnlkV1VzSW5Ob2IzZFVhVzFsYkdsdVpTSTZabUZzYzJVc0lteGhkR2wwZFdSbElqb3pNUzQwTVRJME5qa3NJbXh2Ym1kcGRIVmtaU0k2TXpRdU5EazFOalkwTENKb1lYTkdjbTl1ZEd4cGJtVWlPbVpoYkhObGZTeDdJbTl5WkdWeUlqbzVMQ0p1WVcxbElqb2lVM2x5YVdFaUxDSnphRzl5ZEU1aGJXVWlPaUpUZVhKcFlTSXNJbU52WkdVaU9pSlRXVklpTENKMWNtd2lPaUp6ZVhKcFlTSXNJbk4wWVhKMFJHRjBaU0k2SWpJd01qTXRNREV0TURGVU1EQTZNREE2TURBaUxDSmxibVJFWVhSbElqcHVkV3hzTENKcGMxQnlhWFpoZEdVaU9tWmhiSE5sTENKemFHOTNTVzVOWlc1MGFXOXVjeUk2ZEhKMVpTd2ljMmh2ZDFScGJXVnNhVzVsSWpwMGNuVmxMQ0pzWVhScGRIVmtaU0k2TXpRdU56STVNRFkwTENKc2IyNW5hWFIxWkdVaU9qTTJMall6TWpFNU5qZ3NJbWhoYzBaeWIyNTBiR2x1WlNJNlptRnNjMlY5TEhzaWIzSmtaWElpT2pFd0xDSnVZVzFsSWpvaVdXVnRaVzRpTENKemFHOXlkRTVoYldVaU9pSlpaVzFsYmlJc0ltTnZaR1VpT2lKWlJVMGlMQ0oxY213aU9pSjVaVzFsYmlJc0luTjBZWEowUkdGMFpTSTZJakl3TWpNdE1ERXRNREZVTURBNk1EQTZNREFpTENKbGJtUkVZWFJsSWpwdWRXeHNMQ0pwYzFCeWFYWmhkR1VpT21aaGJITmxMQ0p6YUc5M1NXNU5aVzUwYVc5dWN5STZkSEoxWlN3aWMyaHZkMVJwYldWc2FXNWxJanAwY25WbExDSnNZWFJwZEhWa1pTSTZNVFV1TXpNMU9UZzNNaXdpYkc5dVoybDBkV1JsSWpvME1pNDNPVFUzT0RJMUxDSm9ZWE5HY205dWRHeHBibVVpT21aaGJITmxmU3g3SW05eVpHVnlJam94TVN3aWJtRnRaU0k2SWtGbVoyaGhibWx6ZEdGdUlGeDFNREF5TmlCUVlXdHBjM1JoYmlJc0luTm9iM0owVG1GdFpTSTZJa0ZtWjJnaUxDSmpiMlJsSWpvaVFXWm5hQ0lzSW5WeWJDSTZJbUZtWjJoaGJtbHpkR0Z1SWl3aWMzUmhjblJFWVhSbElqb2lNakF5TlMwd01TMHdNVlF3TURvd01Eb3dNQ0lzSW1WdVpFUmhkR1VpT201MWJHd3NJbWx6VUhKcGRtRjBaU0k2Wm1Gc2MyVXNJbk5vYjNkSmJrMWxiblJwYjI1eklqcDBjblZsTENKemFHOTNWR2x0Wld4cGJtVWlPblJ5ZFdVc0lteGhkR2wwZFdSbElqb3pNeTQ1TmpVeE5ERXNJbXh2Ym1kcGRIVmtaU0k2TmpVdU1EWTRNekl6TENKb1lYTkdjbTl1ZEd4cGJtVWlPbVpoYkhObGZTeDdJbTl5WkdWeUlqb3hNaXdpYm1GdFpTSTZJa2x1WkdsaExWQmhhMmx6ZEdGdUlpd2ljMmh2Y25ST1lXMWxJam9pU1U1RVVFRkxJaXdpWTI5a1pTSTZJa2xPUkMxUVFVc2lMQ0oxY213aU9pSnBibVJ3WVdzaUxDSnpkR0Z5ZEVSaGRHVWlPaUl5TURJMUxUQXhMVEF4VkRBd09qQXdPakF3SWl3aVpXNWtSR0YwWlNJNmJuVnNiQ3dpYVhOUWNtbDJZWFJsSWpwbVlXeHpaU3dpYzJodmQwbHVUV1Z1ZEdsdmJuTWlPblJ5ZFdVc0luTm9iM2RVYVcxbGJHbHVaU0k2ZEhKMVpTd2liR0YwYVhSMVpHVWlPak16TGpVNE9EVXhOU3dpYkc5dVoybDBkV1JsSWpvM015NDRPREEwTVRnc0ltaGhjMFp5YjI1MGJHbHVaU0k2Wm1G
665c2MyVjlMSHNpYjNKa1pYSWlPakV6TENKdVlXMWxJam9pVkdoaGFXeGhibVFnTFNCRFlXMWliMlJwWVNJc0luTm9iM0owVG1GdFpTSTZJbFJJUVV0SVRTSXNJbU52WkdVaU9pSlVTRUZMU0UwaUxDSjFjbXdpT2lKMGFHRnBiR0Z1WkdOaGJXSnZaR2xoSWl3aWMzUmhjblJFWVhSbElqb2lNakF5TlMwd01TMHdNVlF3TURvd01Eb3dNQ0lzSW1WdVpFUmhkR1VpT201MWJHd3NJbWx6VUhKcGRtRjBaU0k2Wm1Gc2MyVXNJbk5vYjNkSmJrMWxiblJwYjI1eklqcDBjblZsTENKemFHOTNWR2x0Wld4cGJtVWlPblJ5ZFdVc0lteGhkR2wwZFdSbElqb3hOQzR5TURNMk1qWXNJbXh2Ym1kcGRIVmtaU0k2TVRBeUxqazBPREl6TENKb1lYTkdjbTl1ZEd4cGJtVWlPbVpoYkhObGZTeDdJbTl5WkdWeUlqb3hOQ3dpYm1GdFpTSTZJbEJoWTJsbWFXTWlMQ0p6YUc5eWRFNWhiV1VpT2lKVVlXbDNZVzRpTENKamIyUmxJam9pVUVGRElpd2lkWEpzSWpvaWNHRmpJaXdpYzNSaGNuUkVZWFJsSWpvaU1qQXlNaTB3TVMwd01WUXdNRG93TURvd01DSXNJbVZ1WkVSaGRHVWlPbTUxYkd3c0ltbHpVSEpwZG1GMFpTSTZabUZzYzJVc0luTm9iM2RKYmsxbGJuUnBiMjV6SWpwMGNuVmxMQ0p6YUc5M1ZHbHRaV3hwYm1VaU9uUnlkV1VzSW14aGRHbDBkV1JsSWpveU15NDJPVGM0TENKc2IyNW5hWFIxWkdVaU9qRXlNQzQ1TmpBMUxDSm9ZWE5HY205dWRHeHBibVVpT21aaGJITmxmU3g3SW05eVpHVnlJam94TlN3aWJtRnRaU0k2SWsxNVlXNXRZWElpTENKemFHOXlkRTVoYldVaU9pSk5lV0Z1YldGeUlpd2lZMjlrWlNJNklrMU5VaUlzSW5WeWJDSTZJbTE1WVc1dFlYSWlMQ0p6ZEdGeWRFUmhkR1VpT2lJeU1ESXhMVEF5TFRBeFZEQXdPakF3T2pBd0lpd2laVzVrUkdGMFpTSTZiblZzYkN3aWFYTlFjbWwyWVhSbElqcG1ZV3h6WlN3aWMyaHZkMGx1VFdWdWRHbHZibk1pT25SeWRXVXNJbk5vYjNkVWFXMWxiR2x1WlNJNmRISjFaU3dpYkdGMGFYUjFaR1VpT2pJeExqazBNRFE1T0RZc0lteHZibWRwZEhWa1pTSTZPVFV1T1Rrek5ESXpNaXdpYUdGelJuSnZiblJzYVc1bElqcG1ZV3h6Wlgwc2V5SnZjbVJsY2lJNk1UWXNJbTVoYldVaU9pSkRZWEowWld3Z1RXRndJaXdpYzJodmNuUk9ZVzFsSWpvaVEyRnlkR1ZzSWl3aVkyOWtaU0k2SWtOaGNuUmxiSE1pTENKMWNtd2lPaUpqWVhKMFpXd2lMQ0p6ZEdGeWRFUmhkR1VpT2lJeU1ESTBMVEEyTFRBeFZEQXdPakF3T2pBd0lpd2laVzVrUkdGMFpTSTZiblZzYkN3aWFYTlFjbWwyWVhSbElqcG1ZV3h6WlN3aWMyaHZkMGx1VFdWdWRHbHZibk1pT25SeWRXVXNJbk5vYjNkVWFXMWxiR2x1WlNJNmRISjFaU3dpYkdGMGFYUjFaR1VpT2pJekxqRTNNREExT0Rrc0lteHZibWRwZEhWa1pTSTZMVEV3TWk0d09EUXdNVGcwTENKb1lYTkdjbTl1ZEd4cGJtVWlPbVpoYkhObGZTeDdJbTl5WkdWeUlqb3hOeXdpYm1GdFpTSTZJbGRYU1NJc0luTm9iM0owVG1GdFpTSTZJbGRYU1NJc0ltTnZaR1VpT2lKWFYwa2lMQ0oxY213aU9pSjNkMmtpTENKemRHRnlkRVJoZEdVaU9pSXhPVEUwTFRBeExUQXhWREF3T2pBd09qQXdJaXdpWlc1a1JHRjBaU0k2SWpFNU1UZ3RNVEl0TXpCVU1EQTZNREE2TURBaUxDSnBjMUJ5YVhaaGRHVWlPbVpoYkhObExDSnphRzkzU1c1TlpXNTBhVzl1Y3lJNmRISjFaU3dpYzJodmQxUnBiV1ZzYVc1bElqcDBjblZsTENKc1lYUnBkSFZrWlNJNk5USXVOVFF6TmpNNExDSnNiMjVuYVhSMVpHVWlPakV6TGpNM016WTJOU3dpYUdGelJuSnZiblJzYVc1bElqcG1ZV3h6Wlgwc2V5SnZjbVJsY2lJNk1UZ3NJbTVoYldVaU9pSlhWMGxKSWl3aWMyaHZjblJPWVcxbElqb2lWMWRKU1NJc0ltTnZaR1VpT2lKWFYwbEpJaXdpZFhKc0lqb2lkM2RwYVNJc0luTjBZWEowUkdGMFpTSTZJakU1TXpjdE1ERXRNVEZVTURBNk1EQTZNREFpTENKbGJtUkVZWFJsSWpvaU1UazBOaTB4TWkwek1WUXdNRG93TURvd01DSXNJbWx6VUhKcGRtRjBaU0k2Wm1Gc2MyVXNJbk5vYjNkSmJrMWxiblJwYjI1eklqcDBjblZsTENKemFHOTNWR2x0Wld4cGJtVWlPblJ5ZFdVc0lteGhkR2wwZFdSbElqbzFNaTQxTkRNMk16Z3NJbXh2Ym1kcGRIVmtaU0k2TVRNdU16Y3pOalkxTENKb1lYTkdjbTl1ZEd4cGJtVWlPbVpoYkhObGZWMD0iLCJGbDhYR3p3enJhZm0ycExRdmpuU0lLMVpcdTAwMkJzMmVjeEhwMndlVTZ3Mkc2VmM9IjoiZEhKMVpRPT0ifQ==-->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.