PageSourceSearch

https://highearthorbit.com/articles/announcing-ai-assistants-for-arcgis/

html highearthorbit.com collected 2026-10-03 19:29:49 UTC 70,756 bytes, 608 lines download raw bytes

1<!doctype html>
2<html dir="ltr" lang="en-US" prefix="og: https://ogp.me/ns#">
3<head>
4	<meta charset="UTF-8">
5	<meta name="viewport" content="width=device-width, initial-scale=1">
6	<link rel="profile" href="https://gmpg.org/xfn/11">
7
8	<title>Announcing AI Assistants for ArcGIS - High Earth Orbit</title>
9
10		<!-- All in One SEO 5.0.0.1 - aioseo.com -->
11	<meta name="description" content="Last week, I shared our work at Esri adding generative AI to ArcGIS. Over the past year, I&#039;ve been leading a new ArcGIS Hub AI Assistant in close collaboration with the city of Washington, DC to support easy access and understanding of open data about the city. This work builds from my talk at the" />
12	<meta name="robots" content="max-image-preview:large" />
13	<meta name="author" content="Andrew"/>
14	<link rel="canonical" href="https://highearthorbit.com/articles/announcing-ai-assistants-for-arcgis/" />
15	<meta name="generator" content="All in One SEO (AIOSEO) 5.0.0.1" />
16		<meta property="og:locale" content="en_US" />
17		<meta property="og:site_name" content="High Earth Orbit - Personal website of Andrew Turner. Writings on geospatial collaboration, software engineering, Washington D.C., and other individual musings." />
18		<meta property="og:type" content="article" />
19		<meta property="og:title" content="Announcing AI Assistants for ArcGIS - High Earth Orbit" />
20		<meta property="og:description" content="Last week, I shared our work at Esri adding generative AI to ArcGIS. Over the past year, I&#039;ve been leading a new ArcGIS Hub AI Assistant in close collaboration with the city of Washington, DC to support easy access and understanding of open data about the city. This work builds from my talk at the" />
21		<meta property="og:url" content="https://highearthorbit.com/articles/announcing-ai-assistants-for-arcgis/" />
22		<meta property="og:image" content="https://highearthorbit.com/wp-content/uploads/2024/02/image-2.png" />
23		<meta property="og:image:secure_url" content="https://highearthorbit.com/wp-content/uploads/2024/02/image-2.png" />
24		<meta property="og:image:width" content="3090" />
25		<meta property="og:image:height" content="2518" />
26		<meta property="article:published_time" content="2024-02-19T13:47:58+00:00" />
27		<meta property="article:modified_time" content="2024-03-01T21:12:22+00:00" />
28		<meta name="twitter:card" content="summary_large_image" />
29		<meta name="twitter:site" content="@ajturner" />
30		<meta name="twitter:title" content="Announcing AI Assistants for ArcGIS - High Earth Orbit" />
31		<meta name="twitter:description" content="Last week, I shared our work at Esri adding generative AI to ArcGIS. Over the past year, I&#039;ve been leading a new ArcGIS Hub AI Assistant in close collaboration with the city of Washington, DC to support easy access and understanding of open data about the city. This work builds from my talk at the" />
32		<meta name="twitter:creator" content="@ajturner" />
33		<meta name="twitter:image" content="https://highearthorbit.com/wp-content/uploads/2024/02/image-2.png" />
34		<meta name="twitter:label1" content="Written by" />
35		<meta name="twitter:data1" content="Andrew" />
36		<meta name="twitter:label2" content="Est. reading time" />
37		<meta name="twitter:data2" content="5 minutes" />
38		
38<script type="application/ld+json" class="aioseo-schema">
39			{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/highearthorbit.com\/articles\/announcing-ai-assistants-for-arcgis\/#blogposting","name":"Announcing AI Assistants for ArcGIS - High Earth Orbit","headline":"Announcing AI Assistants for ArcGIS","author":{"@id":"https:\/\/highearthorbit.com\/articles\/author\/neogeography_jnguc1\/#author"},"publisher":{"@id":"https:\/\/highearthorbit.com\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/i0.wp.com\/highearthorbit.com\/wp-content\/uploads\/2024\/02\/image-2.png?fit=3090%2C2518&ssl=1","width":3090,"height":2518},"datePublished":"2024-02-19T13:47:58+00:00","dateModified":"2024-03-01T21:12:22+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/highearthorbit.com\/articles\/announcing-ai-assistants-for-arcgis\/#webpage"},"isPartOf":{"@id":"https:\/\/highearthorbit.com\/articles\/announcing-ai-assistants-for-arcgis\/#webpage"},"articleSection":"Geo, Technology, ArcGIS, ArcGIS Hub, augmented reality, civic, conference"},{"@type":"BreadcrumbList","@id":"https:\/\/highearthorbit.com\/articles\/announcing-ai-assistants-for-arcgis\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/highearthorbit.com#listItem","position":1,"name":"Home","item":"https:\/\/highearthorbit.com","nextItem":{"@type":"ListItem","@id":"https:\/\/highearthorbit.com\/articles\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/highearthorbit.com\/articles\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/highearthorbit.com\/articles\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/highearthorbit.com\/articles\/announcing-ai-assistants-for-arcgis\/#listItem","name":"Announcing AI Assistants for ArcGIS"},"previousItem":{"@type":"ListItem","@id":"https:\/\/highearthorbit.com#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/highearthorbit.com\/articles\/announcing-ai-assistants-for-arcgis\/#listItem","position":3,"name":"Announcing AI Assistants for ArcGIS","previousItem":{"@type":"ListItem","@id":"https:\/\/highearthorbit.com\/articles\/category\/technology\/#listItem","name":"Technology"}}]},{"@type":"Organization","@id":"https:\/\/highearthorbit.com\/#organization","name":"High Earth Orbit","description":"Personal website of Andrew Turner. Writings on geospatial collaboration, software engineering, Washington D.C., and other individual musings.","url":"https:\/\/highearthorbit.com\/","sameAs":["https:\/\/twitter.com\/ajturner","https:\/\/www.linkedin.com\/in\/ajturner"]},{"@type":"Person","@id":"https:\/\/highearthorbit.com\/articles\/author\/neogeography_jnguc1\/#author","url":"https:\/\/highearthorbit.com\/articles\/author\/neogeography_jnguc1\/","name":"Andrew","image":{"@type":"ImageObject","@id":"https:\/\/highearthorbit.com\/articles\/announcing-ai-assistants-for-arcgis\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/8d1daf902912291ced2874ee1f92a153d230ac19612e5622c7684fa67225d7d1?s=96&d=mm&r=g","width":96,"height":96,"caption":"Andrew"}},{"@type":"WebPage","@id":"https:\/\/highearthorbit.com\/articles\/announcing-ai-assistants-for-arcgis\/#webpage","url":"https:\/\/highearthorbit.com\/articles\/announcing-ai-assistants-for-arcgis\/","name":"Announcing AI Assistants for ArcGIS - High Earth Orbit","description":"Last week, I shared our work at Esri adding generative AI to ArcGIS. Over the past year, I've been leading a new ArcGIS Hub AI Assistant in close collaboration with the city of Washington, DC to support easy access and understanding of open data about the city. This work builds from my talk at the","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/highearthorbit.com\/#website"},"breadcrumb":{"@id":"https:\/\/highearthorbit.com\/articles\/announcing-ai-assistants-for-arcgis\/#breadcrumblist"},"author":{"@id":"https:\/\/highearthorbit.com\/articles\/author\/neogeography_jnguc1\/#author"},"creator":{"@id":"https:\/\/highearthorbit.com\/articles\/author\/neogeography_jnguc1\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/i0.wp.com\/highearthorbit.com\/wp-content\/uploads\/2024\/02\/image-2.png?fit=3090%2
39C2518&ssl=1","@id":"https:\/\/highearthorbit.com\/articles\/announcing-ai-assistants-for-arcgis\/#mainImage","width":3090,"height":2518},"primaryImageOfPage":{"@id":"https:\/\/highearthorbit.com\/articles\/announcing-ai-assistants-for-arcgis\/#mainImage"},"datePublished":"2024-02-19T13:47:58+00:00","dateModified":"2024-03-01T21:12:22+00:00"},{"@type":"WebSite","@id":"https:\/\/highearthorbit.com\/#website","url":"https:\/\/highearthorbit.com\/","name":"High Earth Orbit","description":"Personal website of Andrew Turner. Writings on geospatial collaboration, software engineering, Washington D.C., and other individual musings.","inLanguage":"en-US","publisher":{"@id":"https:\/\/highearthorbit.com\/#organization"}}]}
40		</script>
40
41		<!-- All in One SEO -->
42
43<link rel='dns-prefetch' href='//fonts.googleapis.com' />
44<link rel='preconnect' href='//c0.wp.com' />
45<link rel='preconnect' href='//i0.wp.com' />
46<link rel="alternate" type="application/rss+xml" title="High Earth Orbit &raquo; Feed" href="https://highearthorbit.com/feed/" />
47<link rel="alternate" type="application/rss+xml" title="High Earth Orbit &raquo; Comments Feed" href="https://highearthorbit.com/comments/feed/" />
48<link rel="alternate" type="application/rss+xml" title="High Earth Orbit &raquo; Announcing AI Assistants for ArcGIS Comments Feed" href="https://highearthorbit.com/articles/announcing-ai-assistants-for-arcgis/feed/" />
49<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://highearthorbit.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fhighearthorbit.com%2Farticles%2Fannouncing-ai-assistants-for-arcgis%2F" />
50<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://highearthorbit.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fhighearthorbit.com%2Farticles%2Fannouncing-ai-assistants-for-arcgis%2F&#038;format=xml" />
51		<!-- This site uses the Google Analytics by MonsterInsights plugin v11.3.0 - Using Analytics tracking - https://www.monsterinsights.com/ -->
vendor: 59 bytes, lines 51-52
51
52							<script src="//www.googletagmanager.com/gtag/js?id=
52G-YX5LTBGNT0
vendor: 68 bytes, lines 52-53
52"  data-cfasync="false" data-wpfc-render="false" async></script>
53			
53<script data-cfasync="false" data-wpfc-render="false">
54				var mi_version = '11.3.0';
55				var mi_track_user = true;
56				var mi_no_track_reason = '';
57								var MonsterInsightsDefaultLocations = {"page_location":"https:\/\/highearthorbit.com\/articles\/announcing-ai-assistants-for-arcgis\/"};
58								if ( typeof MonsterInsightsPrivacyGuardFilter === 'function' ) {
59					var MonsterInsightsLocations = (typeof MonsterInsightsExcludeQuery === 'object') ? MonsterInsightsPrivacyGuardFilter( MonsterInsightsExcludeQuery ) : MonsterInsightsPrivacyGuardFilter( MonsterInsightsDefaultLocations );
60				} else {
61					var MonsterInsightsLocations = (typeof MonsterInsightsExcludeQuery === 'object') ? MonsterInsightsExcludeQuery : MonsterInsightsDefaultLocations;
62				}
63
64								var disableStrs = [
65										'ga-disable-G-YX5LTBGNT0',
66									];
67
68				/* Function to detect opted out users */
69				function __gtagTrackerIsOptedOut() {
70					for (var index = 0; index < disableStrs.length; index++) {
71						if (document.cookie.indexOf(disableStrs[index] + '=true') > -1) {
72							return true;
73						}
74					}
75
76					return false;
77				}
78
79				/* Disable tracking if the opt-out cookie exists. */
80				if (__gtagTrackerIsOptedOut()) {
81					for (var index = 0; index < disableStrs.length; index++) {
82						window[disableStrs[index]] = true;
83					}
84				}
85
86				/* Opt-out function */
87				function __gtagTrackerOptout() {
88					for (var index = 0; index < disableStrs.length; index++) {
89						document.cookie = disableStrs[index] + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
90						window[disableStrs[index]] = true;
91					}
92				}
93
94				if ('undefined' === typeof gaOptout) {
95					function gaOptout() {
96						__gtagTrackerOptout();
97					}
98				}
99								window.dataLayer = window.dataLayer || [];
100
101				window.MonsterInsightsDualTracker = {
102					helpers: {},
103					trackers: {},
104				};
105				if (mi_track_user) {
106					function __gtagDataLayer() {
107						dataLayer.push(arguments);
108					}
109
110					function __gtagTracker(type, name, parameters) {
111						if (!parameters) {
112							parameters = {};
113						}
114
115						if (parameters.send_to) {
116							__gtagDataLayer.apply(null, arguments);
117							return;
118						}
119
120						if (type === 'event') {
121														parameters.send_to = monsterinsights_frontend.v4_id;
122							var hookName = name;
123							if (typeof parameters['event_category'] !== 'undefined') {
124								hookName = parameters['event_category'] + ':' + name;
125							}
126
127							if (typeof MonsterInsightsDualTracker.trackers[hookName] !== 'undefined') {
128								MonsterInsightsDualTracker.trackers[hookName](parameters);
129							} else {
130								__gtagDataLayer('event', name, parameters);
131							}
132							
133						} else {
134							__gtagDataLayer.apply(null, arguments);
135						}
136					}
137
138					__gtagTracker('js', new Date());
139					__gtagTracker('set', {
140						'developer_id.dZGIzZG': true,
141											});
142					if ( MonsterInsightsLocations.page_location ) {
143						__gtagTracker('set', MonsterInsightsLocations);
144					}
145										__gtagTracker('config', 'G-YX5LTBGNT0', {"forceSSL":"true","link_attribution":"true"} );
146										window.gtag = __gtagTracker;										(function () {
147						/* https://developers.google.com/analytics/devguides/collection/analyticsjs/ */
148						/* ga and __gaTracker compatibility shim. */
149						var noopfn = function () {
150							return null;
151						};
152						var newtracker = function () {
153							return new Tracker();
154						};
155						var Tracker = function () {
156							return null;
157						};
158						var p = Tracker.prototype;
159						p.get = noopfn;
160						p.set = noopfn;
161						p.send = function () {
162							var args = Array.prototype.slice.call(arguments);
163							args.unshift('send');
164							__gaTracker.apply(null, args);
165						};
166						var __gaTracker = function () {
167							var len = arguments.length;
168							if (len === 0) {
169								return;
170							}
171							var f = arguments[len - 1];
172							if (typeof f !== 'object' || f === null || typeof f.hitCallback !== 'function') {
173								if ('send' === arguments[0]) {
174									var hitConverted, hitObject = false, action;
175									if ('event' === arguments[1]) {
176										if ('undefined' !== typeof arguments[3]) {
177											hitObject = {
178												'eventAction': arguments[3],
179												'eventCategory': arguments[2],
180												'eventLabel': arguments[4],
181												'value': arguments[5] ? arguments[5] : 1,
182											}
183										}
184									}
185									if ('pageview' === arguments[1]) {
186										if ('undefined' !== typeof arguments[2]) {
187											hitObject = {
188												'eventAction': 'page_view',
189												'page_path': arguments[2],
190											}
191										}
192									}
193									if (typeof arguments[2] === 'object') {
194										hitObject = arguments[2];
195									}
196									if (typeof arguments[5] === 'object') {
197										Object.assign(hitObject, arguments[5]);
198									}
199									if ('undefined' !== typeof arguments[1].hitType) {
200										hitObject = arguments[1];
201										if ('pageview' === hitObject.hitType) {
202											hitObject.eventAction = 'page_view';
203										}
204									}
205									if (hitObject) {
206										action = 'timing' === arguments[1].hitType ? 'timing_complete' : hitObject.eventAction;
207										hitConverted = mapArgs(hitObject);
208										__gtagTracker('event', action, hitConverted);
209									}
210								}
211								return;
212							}
213
214							function mapArgs(args) {
215								var arg, hit = {};
216								var gaMap = {
217									'eventCategory': 'event_category',
218									'eventAction': 'event_action',
219									'eventLabel': 'event_label',
220									'eventValue': 'event_value',
221									'nonInteraction': 'non_interaction',
222									'timingCategory': 'event_category',
223									'timingVar': 'name',
224									'timingValue': 'value',
225									'timingLabel': 'event_label',
226									'page': 'page_path',
227									'location': 'page_location',
228									'title': 'page_title',
229									'referrer' : 'page_referrer',
230								};
231								for (arg in args) {
232																		if (!(!args.hasOwnProperty(arg) || !gaMap.hasOwnProperty(arg))) {
233										hit[gaMap[arg]] = args[arg];
234									} else {
235										hit[arg] = args[arg];
236									}
237								}
238								return hit;
239							}
240
241							try {
242								f.hitCallback();
243							} catch (ex) {
244							}
245						};
246						__gaTracker.create = newtracker;
247						__gaTracker.getByName = newtracker;
248						__gaTracker.getAll = function () {
249							return [];
250						};
251						__gaTracker.remove = noopfn;
252						__gaTracker.loaded = true;
253						window['__gaTracker'] = __gaTracker;
254					})();
255									} else {
256										console.log("");
257					(function () {
258						function __gtagTracker() {
259							return null;
260						}
261
262						window['__gtagTracker'] = __gtagTracker;
263						window['gtag'] = __gtagTracker;
264					})();
265									}
266			</script>
266
267							<!-- / Google Analytics by MonsterInsights -->
268		<style id="wp-img-auto-sizes-contain-inline-css">
269img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
270/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
271</style>
272<style id="wp-emoji-styles-inline-css">
273
274	img.wp-smiley, img.emoji {
275		display: inline !important;
276		border: none !important;
277		box-shadow: none !important;
278		height: 1em !important;
279		width: 1em !important;
280		margin: 0 0.07em !important;
281		vertical-align: -0.1em !important;
282		background: none !important;
283		padding: 0 !important;
284	}
285/*# sourceURL=wp-emoji-styles-inline-css */
286</style>
287<style id="wp-block-library-inline-css">
288:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
288--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
289
290/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
291</style>
292<style id="wp-block-heading-inline-css">
293h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}
294/*# sourceURL=https://c0.wp.com/c/7.1.2/wp-includes/blocks/heading/style.min.css */
295</style>
296<style id="wp-block-image-inline-css">
297.wp-block-image>a,.wp-block-image>figure>a{display:inline-block}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}@media not (prefers-reduced-motion){.wp-block-image img.hide{visibility:hidden}.wp-block-image img.show{animation:show-content-image .4s}}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull>a,.wp-block-image.alignwide>a{width:100%}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-image.is-style-circle-mask img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img){border-radius:9999px}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;width:20px;z-index:100}@media not (prefers-reduced-motion){.wp-lightbox-container button{transition:opacity .2s ease}}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;
297cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .wp-lightbox-close-button{align-items:center;cursor:pointer;display:flex;font-family:inherit;gap:8px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 4px;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .wp-lightbox-close-button:focus,.wp-lightbox-overlay .wp-lightbox-close-button:hover,.wp-lightbox-overlay .wp-lightbox-close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-text:not([hidden])) .wp-lightbox-close-icon svg{height:1em;width:1em}.wp-lightbox-overlay .wp-lightbox-close-icon svg{display:block}.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{align-items:center;bottom:16px;cursor:pointer;display:flex;font-family:inherit;gap:4px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 8px;position:absolute;z-index:2000002}.wp-lightbox-overlay .wp-lightbox-navigation-button-next[hidden],.wp-lightbox-overlay .wp-lightbox-navigation-button-prev[hidden]{display:none}@media (min-width:960px){.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{bottom:50%;transform:translateY(-50%)}}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:not(:hover):not(:active):not(.has-background),.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:not(:hover):not(:active):not(.has-background){background:none;border:none;padding:0 8px}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg{display:block;height:1.5em;width:1.5em}.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{left:calc(env(safe-area-inset-left) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-button-next{right:calc(env(safe-area-inset-right) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-icon svg{vertical-align:middle}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:2000001}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{visibility:visible}@media not (prefers-reduced-motion){.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active) img{animation:turn-off-visibility .25s both}.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active){animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}
297@keyframes show-content-image{0%{visibility:hidden}99%{visibility:hidden}to{visibility:visible}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}
298/*# sourceURL=https://c0.wp.com/c/7.1.2/wp-includes/blocks/image/style.min.css */
299</style>
300<style id="wp-block-paragraph-inline-css">
301.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}
302/*# sourceURL=https://c0.wp.com/c/7.1.2/wp-includes/blocks/paragraph/style.min.css */
303</style>
304
305<style id="classic-theme-styles-inline-css">
306/*! This file is auto-generated */
307.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
308/*# sourceURL=/wp-includes/css/classic-themes.min.css */
309</style>
310
311<style id="global-styles-inline-css">
312:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
312--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
312.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
313/*# sourceURL=global-styles-inline-css */
314</style>
315
316<link rel='stylesheet' id='storybook-fonts-css' href='//fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&#038;display=swap&#038;ver=1.0.4' media='all' />
317<link rel='stylesheet' id='storybook-style-css' href='https://highearthorbit.com/wp-content/themes/storybook/style.css?ver=1.0.4' media='all' />
318<style id="storybook-style-inline-css">
319.byline, .comments-link { clip: rect(1px, 1px, 1px, 1px); height: 1px; position: absolute; overflow: hidden; width: 1px; }
320/*# sourceURL=storybook-style-inline-css */
321</style>
322<script async data-wp-strategy="async" id="monsterinsights-frontend-script-js" src="https://highearthorbit.com/wp-content/plugins/google-analytics-for-wordpress/assets/js/frontend-gtag.min.js?ver=11.3.0"></script>
vendor: 1 bytes, line 322
322
323<script data-cfasync="false" data-wpfc-render="false" id='monsterinsights-frontend-script-js-extra'>var monsterinsights_frontend = {"js_events_tracking":"true","download_extensions":"doc,pdf,ppt,zip,xls,docx,pptx,xlsx","inbound_paths":"[{\"path\":\"\\\/go\\\/\",\"label\":\"affiliate\"},{\"path\":\"\\\/recommend\\\/\",\"label\":\"affiliate\"}]","home_url":"https:\/\/highearthorbit.com","hash_tracking":"false","v4_id":"G-YX5LTBGNT0"};</script>
323
324<link rel="https://api.w.org/" href="https://highearthorbit.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://highearthorbit.com/wp-json/wp/v2/posts/379" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://highearthorbit.com/xmlrpc.php?rsd" />
325<meta name="generator" content="WordPress 7.1.2" />
326<link rel='shortlink' href='https://highearthorbit.com/?p=379' />
327
328		<!-- GA Google Analytics @ https://m0n.co/ga -->
329		
329<script async src="https://www.googletagmanager.com/gtag/js?id=331466528"></script>
329
330		
330<script>
331			window.dataLayer = window.dataLayer || [];
332			function gtag(){dataLayer.push(arguments);}
333			gtag('js', new Date());
334			gtag('config', '331466528');
335		</script>
335
336
337		<style>img#wpstats{display:none}</style>
338		<link rel="pingback" href="https://highearthorbit.com/xmlrpc.php"><link rel="icon" href="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2021/05/cropped-Heo_logo.jpg?fit=32%2C32&#038;ssl=1" sizes="32x32" />
339<link rel="icon" href="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2021/05/cropped-Heo_logo.jpg?fit=192%2C192&#038;ssl=1" sizes="192x192" />
340<link rel="apple-touch-icon" href="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2021/05/cropped-Heo_logo.jpg?fit=180%2C180&#038;ssl=1" />
341<meta name="msapplication-TileImage" content="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2021/05/cropped-Heo_logo.jpg?fit=270%2C270&#038;ssl=1" />
342</head>
343
344<body class="wp-singular post-template-default single single-post postid-379 single-format-standard wp-embed-responsive wp-theme-storybook author-hidden comment-hidden">
345
346
347<div id="page" class="site">
348	<a class="skip-link screen-reader-text" href="#primary">Skip to content</a>
349
350	
351	<header id="masthead" class="site-header sb-site-header">
352		<div class="2xl:container mx-auto px-4 py-8">
353			<div class="flex space-x-4 items-center">
354				<div class="site-branding lg:text-center flex-grow">
355											<p class="site-title font-bold text-3xl tracking-tight"><a href="https://highearthorbit.com/" rel="home">High Earth Orbit</a></p>
356												<p class="site-description">Personal website of Andrew Turner. Writings on geospatial collaboration, software engineering, Washington D.C., and other individual musings. </p>
357									</div><!-- .site-branding -->
358				<button class="menu-toggle block lg:hidden" id="sb-mobile-menu-btn" aria-controls="primary-menu" aria-expanded="false">
359					<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg>
360				</button>
361			</div>
362		</div>
363
364		
365				
366		<nav id="site-navigation" class="main-navigation border-t">
367			<div class="2xl:container mx-auto px-4">
368				<div class="hidden lg:flex justify-center">
369					<div class="menu-primary-container"><ul id="primary-menu" class="menu"><li id="menu-item-21" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-21"><a href="https://highearthorbit.com/">Home</a></li>
370<li id="menu-item-22" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22"><a href="https://highearthorbit.com/about/">Hi, I’m Andrew</a></li>
371<li id="menu-item-88" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-88"><a href="https://highearthorbit.com/articles/">Articles</a></li>
372</ul></div>				</div>
373			</div>
374		</nav><!-- #site-navigation -->
375
376		<aside class="sb-mobile-navigation hidden relative z-50" id="sb-mobile-navigation">
377			<div class="fixed inset-0 bg-gray-800 opacity-25" id="sb-menu-backdrop"></div>
378			<div class="sb-mobile-menu fixed bg-white p-6 left-0 top-0 w-5/6 h-full overflow-scroll">
379				<nav>
380					<div class="menu-primary-container"><ul id="primary-menu" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-21"><a href="https://highearthorbit.com/">Home</a></li>
381<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22"><a href="https://highearthorbit.com/about/">Hi, I’m Andrew</a></li>
382<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-88"><a href="https://highearthorbit.com/articles/">Articles</a></li>
383</ul></div>				</nav>
384				<button type="button" class="text-gray-600 absolute right-4 top-4" id="sb-close-menu-btn">
385					<svg
386						class="w-5 h-5"
387						fill="none"
388						stroke="currentColor"
389						viewBox="0 0 24 24"
390						xmlns="http://www.w3.org/2000/svg"
391					>
392						<path
393							stroke-linecap="round"
394							stroke-linejoin="round"
395							stroke-width="2"
396							d="M6 18L18 6M6 6l12 12"
397						></path>
398					</svg>
399				</button>
400			</div>
401		</aside>
402	</header><!-- #masthead -->
403
404	
405	<main id="primary" class="site-main">
406		<div class="2xl:container mx-auto px-4">
407
408			            <div class="py-8 lg:py-12 sb-content-layout-1 sb-allow-wide">
409                
410<article id="post-379" class="sb-content prose lg:prose-lg prose-indigo mx-auto post-379 post type-post status-publish format-standard hentry category-geo category-technology tag-arcgis tag-arcgis-hub tag-augmented-reality tag-civic tag-conference">
411
412				<div class="entry-meta entry-categories">
413				<span class="cat-links flex space-x-4 items-center text-xs mb-2"><a href="https://highearthorbit.com/articles/category/geo/" rel="category tag">Geo</a>&nbsp;<a href="https://highearthorbit.com/articles/category/technology/" rel="category tag">Technology</a></span>			</div>
414			
415	<header class="entry-header">
416		<h1 class="entry-title">Announcing AI Assistants for ArcGIS</h1>			<div class="entry-meta space-x-4">
417				<span class="posted-on text-xs"><a href="https://highearthorbit.com/articles/announcing-ai-assistants-for-arcgis/" rel="bookmark"><time class="entry-date published" datetime="2024-02-19T13:47:58+00:00">February 19, 2024</time><time class="updated" datetime="2024-03-01T21:12:22+00:00">March 1, 2024</time></a></span>			</div><!-- .entry-meta -->
418			</header><!-- .entry-header -->
419
420	
421	<div class="entry-content">
422		
423<p class="wp-block-paragraph">Last week, I shared our work at Esri adding generative AI to ArcGIS. Over the past year, I&#8217;ve been leading a new ArcGIS Hub AI Assistant in close collaboration with the city of Washington, DC to support easy access and understanding of <a href="https://opendata.dc.gov/" target="_blank" rel="noopener" title="">open data about the city.</a> This work builds from <a href="https://highearthorbit.com/articles/geoai-and-the-future-of-mapping/" title="">my talk at the National Academies</a> on the future of GeoAI and the potential for improved access to information. </p>
424
425
426
427<p class="wp-block-paragraph">The future is exciting, and these AI assistants will be progressively released throughout 2024. They are just a few examples of the many generative AI related projects across Esri. </p>
428
429
430
431<iframe id="kmsembed-1_opret32t" width="608" height="402" src="https://mediaspace.esri.com/embed/secure/iframe/entryId/1_opret32t/uiConfId/49806163/pbc/334881262/st/0" class="kmsembed" allowfullscreen webkitallowfullscreen mozAllowFullScreen allow="autoplay *; fullscreen *; encrypted-media *" referrerPolicy="no-referrer-when-downgrade" sandbox="allow-downloads allow-forms allow-same-origin allow-scripts allow-top-navigation allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-popups-to-escape-sandbox allow-presentation allow-top-navigation-by-user-activation" frameborder="0" title="ArcGIS and Generative AI Assistants"></iframe>
432
433
434
435<p class="wp-block-paragraph">My colleague, Adam Pfister, and I presented at the Esri FedGIS 2024 conference. You can watch the <a href="https://mediaspace.esri.com/media/t/1_opret32t" target="_blank" rel="noopener" title="">video recording here</a> or read the transcript below which may be easier to read and understand what we&#8217;re doing.</p>
436
437
438
439<h2 class="wp-block-heading">ArcGIS and Generative AI Assistants</h2>
440
441
442
443<p class="wp-block-paragraph">Over the past several years, Esri has been adding machine learning and <a href="https://www.esri.com/en-us/capabilities/geoai/overview" title="">GeoAI</a> to ArcGIS to provide you with advanced spatial analysis capabilities.</p>
444
445
446
447<p class="wp-block-paragraph">Last year, there was a revolutionary shift with the development of Large Language Models, or LLMs, used in Generative AI. These advancements have opened new avenues for interactive, accessible experiences. You might have heard of <a href="https://copilot.microsoft.com/" title="">Microsoft’s CoPilot</a> and <a href="https://openai.com/" title="">OpenAI’s ChatGPT</a>. These capabilities change how people work by providing creative reasoning and natural language interfaces.</p>
448
449
450
451<p class="wp-block-paragraph">Across Esri, we’ve been exploring new capabilities that use generative AI to automate and accelerate workflows.</p>
452
453
454
455<p class="wp-block-paragraph">It starts by following the WebGIS pattern. Publish your data as services, including high-quality metadata. Use these data services as layers in a map, and use in Applications.</p>
456
457
458<div class="wp-block-image">
459<figure class="aligncenter size-large is-resized"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="840" height="625" src="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image.png?resize=840%2C625&#038;ssl=1" alt="" class="wp-image-381" style="width:442px;height:auto" srcset="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image.png?resize=1024%2C762&amp;ssl=1 1024w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image.png?resize=300%2C223&amp;ssl=1 300w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image.png?resize=768%2C572&amp;ssl=1 768w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image.png?w=1376&amp;ssl=1 1376w" sizes="(max-width: 840px) 100vw, 840px" /></figure>
460</div>
461
462
463<p class="wp-block-paragraph">We are developing new “AI Assistants” that extend these Apps which use Agents with specialized training, prompt engineering, and LLM to provide particular skills. These use our Tools to access the live data and services – which is important to ensure that answers are accurate and trustworthy.</p>
464
465
466
467<p class="wp-block-paragraph">We envision generative AI being available across ArcGIS. I’m going to show you a few examples of our research developing AI Assistants into ArcGIS Hub, Survey123, and integrates ArcGIS System.</p>
468
469
470
471<h2 class="wp-block-heading">Open Data DC</h2>
472
473
474
475<p class="wp-block-paragraph">The city of Washington, DC uses <a href="https://opendata.dc.gov/" title="">hub to share their data, documents, and apps through a focused catalog</a> that supports constituents, partners, and developers to use in their own decision making. The data can be explored, downloaded, access via APIs, and integrated into configurable apps.</p>
476
477
478
479<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="840" height="1000" src="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-1.png?resize=840%2C1000&#038;ssl=1" alt="" class="wp-image-382" srcset="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-1.png?resize=860%2C1024&amp;ssl=1 860w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-1.png?resize=252%2C300&amp;ssl=1 252w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-1.png?resize=768%2C915&amp;ssl=1 768w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-1.png?resize=1290%2C1536&amp;ssl=1 1290w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-1.png?w=1604&amp;
479ssl=1 1604w" sizes="(max-width: 840px) 100vw, 840px" /></figure>
480
481
482
483<p class="wp-block-paragraph">Our research indicated that generative AI could help people more quickly &amp; easily get answers to common questions. We are developing a new Hub AI Assistant that will be integrated into ArcGIS Hub and configurable for your organizations’ sites.</p>
484
485
486
487<p class="wp-block-paragraph">We connected the Hub AI Assistant to DC’s Open Data site so that all responses are using their authoritative, up-to-date data and information. When I moved into the city, my first question was “<strong>when is trash day</strong>”</p>
488
489
490
491<p class="wp-block-paragraph">Now, people can ask this common question to discover relevant information to explore. They can then find the days specific to their address – let’s see at “<strong>check at 800 east capitol st ne</strong>”</p>
492
493
494
495<p class="wp-block-paragraph">With generative AI it’s important to ensure the source data are accurate, so the AI Assistant provides links to the data source as well as a map and the geocoded location so the person can verify the information is correct.</p>
496
497
498
499<p class="wp-block-paragraph">You can also ask broader questions like “<strong>How many trees are in the city?</strong>” The DC Urban Forestry team publishes datasets with each tree, species, size, and health. You can then ask it to create a map of trees nearby our location. And because the AI Assistant is using the live services – when the forestry team plants a new tree, the next time someone asks the question they will see the newest trees.</p>
500
501
502
503<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="840" height="684" src="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-2.png?resize=840%2C684&#038;ssl=1" alt="" class="wp-image-383" srcset="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-2.png?resize=1024%2C834&amp;ssl=1 1024w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-2.png?resize=300%2C244&amp;ssl=1 300w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-2.png?resize=768%2C626&amp;ssl=1 768w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-2.png?resize=1536%2C1252&amp;ssl=1 1536w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-2.png?resize=2048%2C1669&amp;ssl=1 2048w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-2.png?w=1680&amp;ssl=1 1680w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-2.png?w=2520&amp;ssl=1 2520w" sizes="auto, (max-width: 840px) 100vw, 840px" /><figcaption class="wp-element-caption">The Hub AI Assistant can query data and summarize documents and policies.</figcaption></figure>
504
505
506
507<p class="wp-block-paragraph">The Hub AI Assistant answers general questions using the documents, and apps in the city’s Hub. I’m wondering “<strong>who can help me plant a tree</strong>”. There is a simple response and link to the hub page with more information. This helps people understand policies and procedures alongside data exploration.</p>
508
509
510
511<p class="wp-block-paragraph">This is an exciting future and you’ve probably already done the hard work by publishing your data as services and adding terrific metadata that the AI Assistants will include in their reasoning. It’s important to realize that the use of your data in generative AI is happening already and accelerating. We are mitigating the risks by limiting inputs to your curated data and configurable guardrails. There is a lot of work to do here, and we’re being careful about how to respond to conversations outside the scope of the assistant.</p>
512
513
514
515<p class="wp-block-paragraph">For example, someone may say “<strong>my house is on fire</strong>”. The AI Assistant limits its reasoning and information to the curated data and clearly states when a question is outside of its scope. In this case &#8211; call emergency services using 911.</p>
516
517
518
519<p class="wp-block-paragraph">The AI Assistant also helps ensure everyone has easy access to the data using their native language. Parents w
519ant to know where their child should attend school, “<strong>¿Cuáles son las escuelas cerca del círculo DuPont?</strong>” The AI Assistant translates questions to query the data and find the best answer. Then it responds in the language the person asked.</p>
520
521
522
523<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="840" height="684" src="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-3.png?resize=840%2C684&#038;ssl=1" alt="" class="wp-image-384" srcset="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-3.png?resize=1024%2C834&amp;ssl=1 1024w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-3.png?resize=300%2C244&amp;ssl=1 300w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-3.png?resize=768%2C626&amp;ssl=1 768w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-3.png?resize=1536%2C1252&amp;ssl=1 1536w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-3.png?resize=2048%2C1669&amp;ssl=1 2048w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-3.png?w=1680&amp;ssl=1 1680w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-3.png?w=2520&amp;ssl=1 2520w" sizes="auto, (max-width: 840px) 100vw, 840px" /><figcaption class="wp-element-caption">The Hub AI Assistant supports any language for requests and information.</figcaption></figure>
524
525
526
527<h2 class="wp-block-heading">Survey123 Assistant</h2>
528
529
530
531<p class="wp-block-paragraph">Survey123 is a powerful capability for creating dynamic forms to gather information. However, researching and formulating questions and answers can take significant time. Then we need to configure the form with all the details.</p>
532
533
534
535<p class="wp-block-paragraph">The upcoming Survey123 Assistant accelerates your work. We can request it to “<strong>create a survey for reporting damage assessments due to flooding</strong>”. The Survey123 Assistant creates a draft survey based on training using domain knowledge relevant to the request and prompt engineering for best practices. Within a few seconds we have a suggested set of questions and answers.</p>
536
537
538
539<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="840" height="665" src="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-4.png?resize=840%2C665&#038;ssl=1" alt="" class="wp-image-385" srcset="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-4.png?resize=1024%2C811&amp;ssl=1 1024w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-4.png?resize=300%2C238&amp;ssl=1 300w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-4.png?resize=768%2C608&amp;ssl=1 768w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-4.png?resize=1536%2C1217&amp;ssl=1 1536w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-4.png?resize=2048%2C1622&amp;ssl=1 2048w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-4.png?resize=150%2C120&amp;ssl=1 150w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-4.png?w=1680&amp;ssl=1 1680w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-4.png?w=2520&amp;ssl=1 2520w" sizes="auto, (max-width: 840px) 100vw, 840px" /></figure>
540
541
542
543<p class="wp-block-paragraph">We can modify this to “<strong>add a map for marking the location</strong>”. The assistant will consider my request, update the questions and answers, then provide a complete draft for me to review.</p>
544
545
546
547<p class="wp-block-paragraph">When we’re satisfied with this draft the Survey123 Assistant can Generate the form automatically. Now we can continue working in the form editor to make changes, share with colleagues and publish when we’re confident.</p>
548
549
550
551<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="840" height="665" src="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-5.png?resize=840%2C665&#038;ssl=1" alt="" class="wp-image-386" srcset="https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-5.png?resize=1024%2C811&amp;ssl=1 1024w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-5.png?resize=300%2C238&amp;ssl=1 300w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-5.png?resize=768%2C608&amp;ssl=1 768w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-5.png?resize=1536%2C1217&amp;ssl=1 1536w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-5.png?resize=2048%2C1622&amp;ssl=1 2048w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-5.png?resize=150%2C120&amp;ssl=1 150w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-5.png?w=1680&amp;ssl=1 1680w, https://i0.wp.com/highearthorbit.com/wp-content/uploads/2024/02/image-5.png?w=2520&amp;
551ssl=1 2520w" sizes="auto, (max-width: 840px) 100vw, 840px" /></figure>
552
553
554
555<p class="wp-block-paragraph">These are just two examples of our research and development efforts integrating generative AI into new AI Assistants.</p>
556
557
558
559<p class="wp-block-paragraph">We are testing these AI Assistants for ArcGIS with different users and organizations to progressively improve their quality, utility, and accessibility. </p>
560	</div><!-- .entry-content -->
561
562	<footer class="entry-footer clear-both">
563		<span class="tags-links items-center text-xs text-gray-500"><a href="https://highearthorbit.com/articles/tag/arcgis/" rel="tag">ArcGIS</a>,&nbsp;<a href="https://highearthorbit.com/articles/tag/arcgis-hub/" rel="tag">ArcGIS Hub</a>,&nbsp;<a href="https://highearthorbit.com/articles/tag/augmented-reality/" rel="tag">augmented reality</a>,&nbsp;<a href="https://highearthorbit.com/articles/tag/civic/" rel="tag">civic</a>,&nbsp;<a href="https://highearthorbit.com/articles/tag/conference/" rel="tag">conference</a></span>	</footer><!-- .entry-footer -->
564</article><!-- #post-379 -->
565<div class="clear-both"></div>
566<div class="">
567                <ul class="sb-post-navigation flex justify-between items-center py-10 font-medium">
568                <li class="sb-nav-previous"><a href="https://highearthorbit.com/articles/back-to-baltimore-for-foss4g/" rel="prev"><span class="meta-nav">&larr; Previous</span></a></li>
569                <li class="sb-nav-next"></li>
570            </ul>
571            </div>
572            </div>
573            
574		</div>
575	</main><!-- #main -->
576
577
578	<footer id="colophon" class="site-footer bg-gray-900 text-gray-300 py-8">
579		<div class="site-info text-center text-sm">
580			<a href="https://wordpress.org/">
581				Proudly powered by WordPress			</a>
582			<span class="sep"> | </span>
583				Theme: storybook by <a href="https://odiethemes.com/">OdieThemes</a>.		</div><!-- .site-info -->
584	</footer><!-- #colophon -->
585</div><!-- #page -->
586
587<script type="speculationrules">
588{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/storybook/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
589</script>
vendor: 1 bytes, line 589
589
590<script id="storybook-scripts-js" src="https://highearthorbit.com/wp-content/themes/storybook/js/theme.js?ver=1.0.4"></script>
vendor: 1 bytes, line 590
590
591<script id="jetpack-stats-js-before">
592_stq = window._stq || [];
593_stq.push([ "view", {"v":"ext","blog":"193138242","post":"379","tz":"0","srv":"highearthorbit.com","j":"1:16.1.3"} ]);
594_stq.push([ "clickTrackerInit", "193138242", "379" ]);
595//# sourceURL=jetpack-stats-js-before
596</script>
vendor: 1 bytes, line 596
596
597<script data-wp-strategy="defer" defer fetchpriority="low" id="jetpack-stats-js" src="https://stats.wp.com/e-202640.js"></script>
vendor: 1 bytes, line 597
597
598<script id="wp-emoji-settings" type="application/json">
599{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://highearthorbit.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}}
600</script>
vendor: 1 bytes, line 600
600
601<script type="module">
602/*! This file is auto-generated */
603var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
604//# sourceURL=https://highearthorbit.com/wp-includes/js/wp-emoji-loader.min.js
605</script>
605
606
607</body>
608</html>

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.