PageSourceSearch

https://freegistutorial.com/arcgis-pro-python-script-drillhole-traces-csv/

html freegistutorial.com collected 2026-10-06 17:21:24 UTC 107,515 bytes, 745 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US">
3    <head>
4        <meta charset="UTF-8">
5        <meta name="viewport" content="width=device-width, initial-scale=1">
6        <link rel="profile" href="http://gmpg.org/xfn/11">
7        <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
8
9	<!-- This site is optimized with the Yoast SEO plugin v28.6 - https://yoast.com/product/yoast-seo-wordpress/ -->
10	<title>ArcGIS Pro Python Script: Generate Drillhole Traces from CSV</title>
11	<meta name="description" content="Automate drillhole trace creation in ArcGIS Pro with a Python arcpy script that reads collar coordinates, azimuth, dip, and depth from a CSV file." />
12	<link rel="canonical" href="https://freegistutorial.com/arcgis-pro-python-script-drillhole-traces-csv/" />
13	<meta property="og:locale" content="en_US" />
14	<meta property="og:type" content="article" />
15	<meta property="og:title" content="ArcGIS Pro Python Script: Generate Drillhole Traces from CSV" />
16	<meta property="og:description" content="Automate drillhole trace creation in ArcGIS Pro with a Python arcpy script that reads collar coordinates, azimuth, dip, and depth from a CSV file." />
17	<meta property="og:url" content="https://freegistutorial.com/arcgis-pro-python-script-drillhole-traces-csv/" />
18	<meta property="og:site_name" content="Free GIS Tutorial" />
19	<meta property="article:published_time" content="2026-08-23T10:01:30+00:00" />
20	<meta property="og:image" content="https://i0.wp.com/freegistutorial.com/wp-content/uploads/2026/08/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?fit=1080%2C1080&ssl=1" />
21	<meta property="og:image:width" content="1080" />
22	<meta property="og:image:height" content="1080" />
23	<meta property="og:image:type" content="image/jpeg" />
24	<meta name="author" content="admin" />
25	<meta name="twitter:card" content="summary_large_image" />
26	<meta name="twitter:label1" content="Written by" />
27	<meta name="twitter:data1" content="admin" />
28	<meta name="twitter:label2" content="Est. reading time" />
29	<meta name="twitter:data2" content="5 minutes" />
30	
30<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/freegistutorial.com\/arcgis-pro-python-script-drillhole-traces-csv\/#article","isPartOf":{"@id":"https:\/\/freegistutorial.com\/arcgis-pro-python-script-drillhole-traces-csv\/"},"author":{"name":"admin","@id":"https:\/\/freegistutorial.com\/#\/schema\/person\/73f7020adfd04e23ef3bca62f4c9479e"},"headline":"How to Create an ArcGIS Pro Python Script to Generate Drillhole Traces from CSV","datePublished":"2026-08-23T10:01:30+00:00","mainEntityOfPage":{"@id":"https:\/\/freegistutorial.com\/arcgis-pro-python-script-drillhole-traces-csv\/"},"wordCount":706,"commentCount":0,"publisher":{"@id":"https:\/\/freegistutorial.com\/#\/schema\/person\/73f7020adfd04e23ef3bca62f4c9479e"},"image":{"@id":"https:\/\/freegistutorial.com\/arcgis-pro-python-script-drillhole-traces-csv\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/freegistutorial.com\/wp-content\/uploads\/2026\/08\/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?fit=1080%2C1080&ssl=1","keywords":["arcgis pro","arcgis pro tutorial","csv","drillhole","geodatabase","python"],"articleSection":["ArcGIS","Programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/freegistutorial.com\/arcgis-pro-python-script-drillhole-traces-csv\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/freegistutorial.com\/arcgis-pro-python-script-drillhole-traces-csv\/","url":"https:\/\/freegistutorial.com\/arcgis-pro-python-script-drillhole-traces-csv\/","name":"ArcGIS Pro Python Script: Generate Drillhole Traces from CSV","isPartOf":{"@id":"https:\/\/freegistutorial.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/freegistutorial.com\/arcgis-pro-python-script-drillhole-traces-csv\/#primaryimage"},"image":{"@id":"https:\/\/freegistutorial.com\/arcgis-pro-python-script-drillhole-traces-csv\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/freegistutorial.com\/wp-content\/uploads\/2026\/08\/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?fit=1080%2C1080&ssl=1","datePublished":"2026-08-23T10:01:30+00:00","description":"Automate drillhole trace creation in ArcGIS Pro with a Python arcpy script that reads collar coordinates, azimuth, dip, and depth from a CSV file.","breadcrumb":{"@id":"https:\/\/freegistutorial.com\/arcgis-pro-python-script-drillhole-traces-csv\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/freegistutorial.com\/arcgis-pro-python-script-drillhole-traces-csv\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/freegistutorial.com\/arcgis-pro-python-script-drillhole-traces-csv\/#primaryimage","url":"https:\/\/i0.wp.com\/freegistutorial.com\/wp-content\/uploads\/2026\/08\/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?fit=1080%2C1080&ssl=1","contentUrl":"https:\/\/i0.wp.com\/freegistutorial.com\/wp-content\/uploads\/2026\/08\/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?fit=1080%2C1080&ssl=1","width":1080,"height":1080,"caption":"Photo by Curioso Photography on Unsplash"},{"@type":"BreadcrumbList","@id":"https:\/\/freegistutorial.com\/arcgis-pro-python-script-drillhole-traces-csv\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/freegistutorial.com\/"},{"@type":"ListItem","position":2,"name":"How to Create an ArcGIS Pro Python Script to Generate Drillhole Traces from CSV"}]},{"@type":"WebSite","@id":"https:\/\/freegistutorial.com\/#website","url":"https:\/\/freegistutorial.com\/","name":"Free GIS Tutorial","description":"A Place to Learn GIS Software for Free","publisher":{"@id":"https:\/\/freegistutorial.com\/#\/schema\/person\/73f7020adfd04e23ef3bca62f4c9479e"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/freegistutorial.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/freegistutorial.com\/#\/schema\/person\/73f7020adfd04e23ef3bca62f4c9479e","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ffeae820024b88b4f7ba9c03bfea9b21df90a7bb2957219adef99653b369703c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ffeae820024b88b4f7ba9c03bfea9b21df90a7bb2957219adef99653b369703c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ffeae820024b88b4f7ba9c03bfea9b21df90a7bb2957219adef99653b369703c?s=96&d=mm&r=g","caption":"admin"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/ffeae820024b88b4f7ba9c03bfea9b21df90a7bb2957219adef99653b369703c?s=96&d=mm&r=g"},"sameAs":["http:\/\/freegistutorial.com"]}]}</script>
30
31	<!-- / Yoast SEO plugin. -->
32
33
34<link rel='dns-prefetch' href='//secure.gravatar.com' />
35<link rel='dns-prefetch' href='//www.googletagmanager.com' />
36<link rel='dns-prefetch' href='//fonts.googleapis.com' />
37<link rel='dns-prefetch' href='//v0.wordpress.com' />
38<link rel='dns-prefetch' href='//fundingchoicesmessages.google.com' />
39<link href='https://fonts.gstatic.com' crossorigin rel='preconnect' />
40<link rel='preconnect' href='//i0.wp.com' />
41<link rel='preconnect' href='//c0.wp.com' />
42<style id="wp-img-auto-sizes-contain-inline-css">
43img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
44/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
45</style>
46
47<style id="wp-emoji-styles-inline-css">
48
49	img.wp-smiley, img.emoji {
50		display: inline !important;
51		border: none !important;
52		box-shadow: none !important;
53		height: 1em !important;
54		width: 1em !important;
55		margin: 0 0.07em !important;
56		vertical-align: -0.1em !important;
57		background: none !important;
58		padding: 0 !important;
59	}
60/*# sourceURL=wp-emoji-styles-inline-css */
61</style>
62<style id="wp-block-library-inline-css">
63: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;
63--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}}
64
65/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
66</style>
67<style id="wp-block-categories-inline-css">
68.wp-block-categories{box-sizing:border-box}.wp-block-categories.alignleft{margin-right:2em}.wp-block-categories.alignright{margin-left:2em}.wp-block-categories.wp-block-categories-dropdown.aligncenter{text-align:center}.wp-block-categories .wp-block-categories__label:not(.screen-reader-text){display:block;width:100%}
69/*# sourceURL=https://c0.wp.com/c/7.1.2/wp-includes/blocks/categories/style.min.css */
70</style>
71<style id="wp-block-heading-inline-css">
72h1: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}
73/*# sourceURL=https://c0.wp.com/c/7.1.2/wp-includes/blocks/heading/style.min.css */
74</style>
75
76<style id="classic-theme-styles-inline-css">
77/*! This file is auto-generated */
78.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;
78padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
79/*# sourceURL=/wp-includes/css/classic-themes.min.css */
80</style>
81
82<style id="global-styles-inline-css">
83: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%);
83--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;}
83.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;}
84/*# sourceURL=global-styles-inline-css */
85</style>
86
87<link rel='stylesheet' id='contact-form-7-css' href='https://freegistutorial.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.1.7' media='all' />
88<link rel='stylesheet' id='envo-extra-css' href='https://freegistutorial.com/wp-content/plugins/envo-extra/css/style.css?ver=1.9.22' media='all' />
89<link rel='stylesheet' id='jetpack-instant-search-css' href='https://freegistutorial.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-search/build/instant-search/jp-search.chunk-main-payload.css?minify=false&#038;ver=25d86678d0b48f702f8f' media='all' />
90<style id="jetpack-stats-inline-css">
91img#wpstats{display:none}
92/*# sourceURL=jetpack-stats-inline-css */
93</style>
94<link rel='stylesheet' id='envo-royal-fonts-css' href='https://fonts.googleapis.com/css?family=Montserrat%3A300%2C400%2C500%2C600%2C700%2C800&#038;subset=cyrillic%2Ccyrillic-ext%2Cgreek%2Cgreek-ext%2Clatin-ext%2Cvietnamese' media='all' />
95<link rel='stylesheet' id='bootstrap-css' href='https://freegistutorial.com/wp-content/themes/envo-royal/assets/css/bootstrap.css?ver=3.3.7' media='all' />
96<link rel='stylesheet' id='hc-offcanvas-nav-css' href='https://freegistutorial.com/wp-content/themes/envo-royal/assets/css/hc-offcanvas-nav.min.css?ver=1.0.14' media='all' />
97<link rel='stylesheet' id='envo-royal-stylesheet-css' href='https://freegistutorial.com/wp-content/themes/envo-royal/style.css?ver=1.0.14' media='all' />
98<link rel='stylesheet' id='line-awesome-css' href='https://freegistutorial.com/wp-content/themes/envo-royal/assets/css/line-awesome.min.css?ver=1.3.0' media='all' />
99<script id="jquery-core-js" src="https://c0.wp.com/c/7.1.2/wp-includes/js/jquery/jquery.min.js"></script>
vendor: 1 bytes, line 99
99
100<script id="jquery-migrate-js" src="https://c0.wp.com/c/7.1.2/wp-includes/js/jquery/jquery-migrate.min.js"></script>
100
101
102<!-- Google tag (gtag.js) snippet added by Site Kit -->
103<!-- Google Analytics snippet added by Site Kit -->
vendor: 80 bytes, lines 103-104
103
104<script id="google_gtagjs-js" src="https://www.googletagmanager.com/gtag/js?id=
104GT-KFG95KN7
vendor: 18 bytes, line 104
104" async></script>
105<script id="google_gtagjs-js-after">
106window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}
107gtag("set","linker",{"domains":["freegistutorial.com"]});
108gtag("js", new Date());
109gtag("set", "developer_id.dZTNiMT", true);
110gtag("config", "GT-KFG95KN7");
111 window._googlesitekit = window._googlesitekit || {}; window._googlesitekit.throttledEvents = []; window._googlesitekit.gtagEvent = (name, data) => { var key = JSON.stringify( { name, data } ); if ( !! window._googlesitekit.throttledEvents[ key ] ) { return; } window._googlesitekit.throttledEvents[ key ] = true; setTimeout( () => { delete window._googlesitekit.throttledEvents[ key ]; }, 5 ); gtag( "event", name, { ...data, event_source: "site-kit" } ); }; 
112//# sourceURL=google_gtagjs-js-after
113</script>
113
114<meta name="generator" content="Redux 4.5.15" /><meta name="generator" content="Site Kit by Google 1.188.0" /><link rel="pingback" href="https://freegistutorial.com/xmlrpc.php">
115
116<!-- Google AdSense meta tags added by Site Kit -->
117<meta name="google-adsense-platform-account" content="ca-host-pub-2644536267352236">
118<meta name="google-adsense-platform-domain" content="sitekit.withgoogle.com">
119<!-- End Google AdSense meta tags added by Site Kit -->
120            <style type="text/css" id="envo-royal-header-css">
121            	
122            </style>
123            
124<!-- Google AdSense Ad Blocking Recovery snippet added by Site Kit -->
125<script async src="https://fundingchoicesmessages.google.com/i/pub-3642255147113369?ers=1"></script>
125<script>(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();</script>
125
126<!-- End Google AdSense Ad Blocking Recovery snippet added by Site Kit -->
127
128<!-- Google AdSense Ad Blocking Recovery Error Protection snippet added by Site Kit -->
vendor: 19,178 bytes, lines 129-167
129<script>(function(){'use strict';function aa(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}}var ba=typeof Object.defineProperties=="function"?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};
130function ca(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");}var da=ca(this);function l(a,b){if(b)a:{var c=da;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))break a;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&b!=null&&ba(c,a,{configurable:!0,writable:!0,value:b})}}
131function ea(a){return a.raw=a}function n(a){var b=typeof Symbol!="undefined"&&Symbol.iterator&&a[Symbol.iterator];if(b)return b.call(a);if(typeof a.length=="number")return{next:aa(a)};throw Error(String(a)+" is not an iterable or ArrayLike");}function fa(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c}var ha=typeof Object.create=="function"?Object.create:function(a){function b(){}b.prototype=a;return new b},p;
132if(typeof Object.setPrototypeOf=="function")p=Object.setPrototypeOf;else{var q;a:{var ja={a:!0},ka={};try{ka.__proto__=ja;q=ka.a;break a}catch(a){}q=!1}p=q?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var la=p;
133function t(a,b){a.prototype=ha(b.prototype);a.prototype.constructor=a;if(la)la(a,b);else for(var c in b)if(c!="prototype")if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.A=b.prototype}function ma(){for(var a=Number(this),b=[],c=a;c<arguments.length;c++)b[c-a]=arguments[c];return b}l("Object.is",function(a){return a?a:function(b,c){return b===c?b!==0||1/b===1/c:b!==b&&c!==c}});
134l("Array.prototype.includes",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(c<0&&(c=Math.max(c+e,0));c<e;c++){var f=d[c];if(f===b||Object.is(f,b))return!0}return!1}});
135l("String.prototype.includes",function(a){return a?a:function(b,c){if(this==null)throw new TypeError("The 'this' value for String.prototype.includes must not be null or undefined");if(b instanceof RegExp)throw new TypeError("First argument to String.prototype.includes must not be a regular expression");return this.indexOf(b,c||0)!==-1}});l("Number.MAX_SAFE_INTEGER",function(){return 9007199254740991});
136l("Number.isFinite",function(a){return a?a:function(b){return typeof b!=="number"?!1:!isNaN(b)&&b!==Infinity&&b!==-Infinity}});l("Number.isInteger",function(a){return a?a:function(b){return Number.isFinite(b)?b===Math.floor(b):!1}});l("Number.isSafeInteger",function(a){return a?a:function(b){return Number.isInteger(b)&&Math.abs(b)<=Number.MAX_SAFE_INTEGER}});
137l("Math.trunc",function(a){return a?a:function(b){b=Number(b);if(isNaN(b)||b===Infinity||b===-Infinity||b===0)return b;var c=Math.floor(Math.abs(b));return b<0?-c:c}});/*
138
139 Copyright The Closure Library Authors.
140 SPDX-License-Identifier: Apache-2.0
141*/
142var u=this||self;function v(a,b){a:{var c=["CLOSURE_FLAGS"];for(var d=u,e=0;e<c.length;e++)if(d=d[c[e]],d==null){c=null;break a}c=d}a=c&&c[a];return a!=null?a:b}function w(a){return a};function na(a){u.setTimeout(function(){throw a;},0)};var oa=v(610401301,!1),pa=v(188588736,!0),qa=v(645172343,v(1,!0));var x,ra=u.navigator;x=ra?ra.userAgentData||null:null;function z(a){return oa?x?x.brands.some(function(b){return(b=b.brand)&&b.indexOf(a)!=-1}):!1:!1}function A(a){var b;a:{if(b=u.navigator)if(b=b.userAgent)break a;b=""}return b.indexOf(a)!=-1};function B(){return oa?!!x&&x.brands.length>0:!1}function C(){return B()?z("Chromium"):(A("Chrome")||A("CriOS"))&&!(B()?0:A("Edge"))||A("Silk")};var sa=B()?!1:A("Trident")||A("MSIE");!A("Android")||C();C();A("Safari")&&(C()||(B()?0:A("Coast"))||(B()?0:A("Opera"))||(B()?0:A("Edge"))||(B()?z("Microsoft Edge"):A("Edg/"))||B()&&z("Opera"));var ta={},D=null;var ua=typeof Uint8Array!=="undefined",va=!sa&&typeof btoa==="function";var wa;function E(){return typeof BigInt==="function"};var F=typeof Symbol==="function"&&typeof Symbol()==="symbol";function xa(a){return typeof Symbol==="function"&&typeof Symbol()==="symbol"?Symbol():a}var G=xa(),ya=xa("2ex");var za=F?function(a,b){a[G]|=b}:function(a,b){a.g!==void 0?a.g|=b:Object.defineProperties(a,{g:{value:b,configurable:!0,writable:!0,enumerable:!1}})},H=F?function(a){return a[G]|0}:function(a){return a.g|0},I=F?function(a){return a[G]}:function(a){return a.g},J=F?function(a,b){a[G]=b}:function(a,b){a.g!==void 0?a.g=b:Object.defineProperties(a,{g:{value:b,configurable:!0,writable:!0,enumerable:!1}})};function Aa(a,b){J(b,(a|0)&-14591)}function Ba(a,b){J(b,(a|34)&-14557)};var K={},Ca={};function Da(a){return!(!a||typeof a!=="object"||a.g!==Ca)}function Ea(a){return a!==null&&typeof a==="object"&&!Array.isArray(a)&&a.constructor===Object}function L(a,b,c){if(!Array.isArray(a)||a.length)return!1;var d=H(a);if(d&1)return!0;if(!(b&&(Array.isArray(b)?b.includes(c):b.has(c))))return!1;J(a,d|1);return!0};var M=0,N=0;function Fa(a){var b=a>>>0;M=b;N=(a-b)/4294967296>>>0}function Ga(a){if(a<0){Fa(-a);var b=n(Ha(M,N));a=b.next().value;b=b.next().value;M=a>>>0;N=b>>>0}else Fa(a)}function Ia(a,b){b>>>=0;a>>>=0;if(b<=2097151)var c=""+(4294967296*b+a);else E()?c=""+(BigInt(b)<<BigInt(32)|BigInt(a)):(c=(a>>>24|b<<8)&16777215,b=b>>16&65535,a=(a&16777215)+c*6777216+b*6710656,c+=b*8147497,b*=2,a>=1E7&&(c+=a/1E7>>>0,a%=1E7),c>=1E7&&(b+=c/1E7>>>0,c%=1E7),c=b+Ja(c)+Ja(a));return c}
143function Ja(a){a=String(a);return"0000000".slice(a.length)+a}function Ha(a,b){b=~b;a?a=~a+1:b+=1;return[a,b]};var Ka=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;var O;function La(a,b){O=b;a=new a(b);O=void 0;return a}
144function P(a,b,c){a==null&&(a=O);O=void 0;if(a==null){var d=96;c?(a=[c],d|=512):a=[];b&&(d=d&-16760833|(b&1023)<<14)}else{if(!Array.isArray(a))throw Error("narr");d=H(a);if(d&2048)throw Error("farr");if(d&64)return a;d|=64;if(c&&(d|=512,c!==a[0]))throw Error("mid");a:{c=a;var e=c.length;if(e){var f=e-1;if(Ea(c[f])){d|=256;b=f-(+!!(d&512)-1);if(b>=1024)throw Error("pvtlmt");d=d&-16760833|(b&1023)<<14;break a}}if(b){b=Math.max(b,e-(+!!(d&512)-1));if(b>1024)throw Error("spvt");d=d&-16760833|(b&1023)<<
14514}}}J(a,d);return a};function Ma(a){switch(typeof a){case "number":return isFinite(a)?a:String(a);case "boolean":return a?1:0;case "object":if(a)if(Array.isArray(a)){if(L(a,void 0,0))return}else if(ua&&a!=null&&a instanceof Uint8Array){if(va){for(var b="",c=0,d=a.length-10240;c<d;)b+=String.fromCharCode.apply(null,a.subarray(c,c+=10240));b+=String.fromCharCode.apply(null,c?a.subarray(c):a);a=btoa(b)}else{b===void 0&&(b=0);if(!D){D={};c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split("");d=["+/=",
146"+/","-_=","-_.","-_"];for(var e=0;e<5;e++){var f=c.concat(d[e].split(""));ta[e]=f;for(var g=0;g<f.length;g++){var h=f[g];D[h]===void 0&&(D[h]=g)}}}b=ta[b];c=Array(Math.floor(a.length/3));d=b[64]||"";for(e=f=0;f<a.length-2;f+=3){var k=a[f],m=a[f+1];h=a[f+2];g=b[k>>2];k=b[(k&3)<<4|m>>4];m=b[(m&15)<<2|h>>6];h=b[h&63];c[e++]=g+k+m+h}g=0;h=d;switch(a.length-f){case 2:g=a[f+1],h=b[(g&15)<<2]||d;case 1:a=a[f],c[e]=b[a>>2]+b[(a&3)<<4|g>>4]+h+d}a=c.join("")}return a}}return a};function Na(a,b,c){a=Array.prototype.slice.call(a);var d=a.length,e=b&256?a[d-1]:void 0;d+=e?-1:0;for(b=b&512?1:0;b<d;b++)a[b]=c(a[b]);if(e){b=a[b]={};for(var f in e)Object.prototype.hasOwnProperty.call(e,f)&&(b[f]=c(e[f]))}return a}function Oa(a,b,c,d,e){if(a!=null){if(Array.isArray(a))a=L(a,void 0,0)?void 0:e&&H(a)&2?a:Pa(a,b,c,d!==void 0,e);else if(Ea(a)){var f={},g;for(g in a)Object.prototype.hasOwnProperty.call(a,g)&&(f[g]=Oa(a[g],b,c,d,e));a=f}else a=b(a,d);return a}}
147function Pa(a,b,c,d,e){var f=d||c?H(a):0;d=d?!!(f&32):void 0;a=Array.prototype.slice.call(a);for(var g=0;g<a.length;g++)a[g]=Oa(a[g],b,c,d,e);c&&c(f,a);return a}function Qa(a){return a.s===K?a.toJSON():Ma(a)};function Ra(a,b,c){c=c===void 0?Ba:c;if(a!=null){if(ua&&a instanceof Uint8Array)return b?a:new Uint8Array(a);if(Array.isArray(a)){var d=H(a);if(d&2)return a;b&&(b=d===0||!!(d&32)&&!(d&64||!(d&16)));return b?(J(a,(d|34)&-12293),a):Pa(a,Ra,d&4?Ba:c,!0,!0)}a.s===K&&(c=a.h,d=I(c),a=d&2?a:La(a.constructor,Sa(c,d,!0)));return a}}function Sa(a,b,c){var d=c||b&2?Ba:Aa,e=!!(b&32);a=Na(a,b,function(f){return Ra(f,e,d)});za(a,32|(c?2:0));return a};function Ta(a,b){a=a.h;return Ua(a,I(a),b)}function Va(a,b,c,d){b=d+(+!!(b&512)-1);if(!(b<0||b>=a.length||b>=c))return a[b]}
148function Ua(a,b,c,d){if(c===-1)return null;var e=b>>14&1023||536870912;if(c>=e){if(b&256)return a[a.length-1][c]}else{var f=a.length;if(d&&b&256&&(d=a[f-1][c],d!=null)){if(Va(a,b,e,c)&&ya!=null){var g;a=(g=wa)!=null?g:wa={};g=a[ya]||0;g>=4||(a[ya]=g+1,g=Error(),g.__closure__error__context__984382||(g.__closure__error__context__984382={}),g.__closure__error__context__984382.severity="incident",na(g))}return d}return Va(a,b,e,c)}}
149function Wa(a,b,c,d,e){var f=b>>14&1023||536870912;if(c>=f||e&&!qa){var g=b;if(b&256)e=a[a.length-1];else{if(d==null)return;e=a[f+(+!!(b&512)-1)]={};g|=256}e[c]=d;c<f&&(a[c+(+!!(b&512)-1)]=void 0);g!==b&&J(a,g)}else a[c+(+!!(b&512)-1)]=d,b&256&&(a=a[a.length-1],c in a&&delete a[c])}
150function Xa(a,b){var c=Ya;var d=d===void 0?!1:d;var e=a.h;var f=I(e),g=Ua(e,f,b,d);if(g!=null&&typeof g==="object"&&g.s===K)c=g;else if(Array.isArray(g)){var h=H(g),k=h;k===0&&(k|=f&32);k|=f&2;k!==h&&J(g,k);c=new c(g)}else c=void 0;c!==g&&c!=null&&Wa(e,f,b,c,d);e=c;if(e==null)return e;a=a.h;f=I(a);f&2||(g=e,c=g.h,h=I(c),g=h&2?La(g.constructor,Sa(c,h,!1)):g,g!==e&&(e=g,Wa(a,f,b,e,d)));return e}function Za(a,b){a=Ta(a,b);return a==null||typeof a==="string"?a:void 0}
151function $a(a,b){var c=c===void 0?0:c;a=Ta(a,b);if(a!=null)if(b=typeof a,b==="number"?Number.isFinite(a):b!=="string"?0:Ka.test(a))if(typeof a==="number"){if(a=Math.trunc(a),!Number.isSafeInteger(a)){Ga(a);b=M;var d=N;if(a=d&2147483648)b=~b+1>>>0,d=~d>>>0,b==0&&(d=d+1>>>0);b=d*4294967296+(b>>>0);a=a?-b:b}}else if(b=Math.trunc(Number(a)),Number.isSafeInteger(b))a=String(b);else{if(b=a.indexOf("."),b!==-1&&(a=a.substring(0,b)),!(a[0]==="-"?a.length<20||a.length===20&&Number(a.substring(0,7))>-922337:
152a.length<19||a.length===19&&Number(a.substring(0,6))<922337)){if(a.length<16)Ga(Number(a));else if(E())a=BigInt(a),M=Number(a&BigInt(4294967295))>>>0,N=Number(a>>BigInt(32)&BigInt(4294967295));else{b=+(a[0]==="-");N=M=0;d=a.length;for(var e=b,f=(d-b)%6+b;f<=d;e=f,f+=6)e=Number(a.slice(e,f)),N*=1E6,M=M*1E6+e,M>=4294967296&&(N+=Math.trunc(M/4294967296),N>>>=0,M>>>=0);b&&(b=n(Ha(M,N)),a=b.next().value,b=b.next().value,M=a,N=b)}a=M;b=N;b&2147483648?E()?a=""+(BigInt(b|0)<<BigInt(32)|BigInt(a>>>0)):(b=
153n(Ha(a,b)),a=b.next().value,b=b.next().value,a="-"+Ia(a,b)):a=Ia(a,b)}}else a=void 0;return a!=null?a:c}function R(a,b){var c=c===void 0?"":c;a=Za(a,b);return a!=null?a:c};var S;function T(a,b,c){this.h=P(a,b,c)}T.prototype.toJSON=function(){return ab(this)};T.prototype.s=K;T.prototype.toString=function(){try{return S=!0,ab(this).toString()}finally{S=!1}};
154function ab(a){var b=S?a.h:Pa(a.h,Qa,void 0,void 0,!1);var c=!S;var d=pa?void 0:a.constructor.v;var e=I(c?a.h:b);if(a=b.length){var f=b[a-1],g=Ea(f);g?a--:f=void 0;e=+!!(e&512)-1;var h=b;if(g){b:{var k=f;var m={};g=!1;if(k)for(var r in k)if(Object.prototype.hasOwnProperty.call(k,r))if(isNaN(+r))m[r]=k[r];else{var y=k[r];Array.isArray(y)&&(L(y,d,+r)||Da(y)&&y.size===0)&&(y=null);y==null&&(g=!0);y!=null&&(m[r]=y)}if(g){for(var Q in m)break b;m=null}else m=k}k=m==null?f!=null:m!==f}for(var ia;a>0;a--){Q=
155a-1;r=h[Q];Q-=e;if(!(r==null||L(r,d,Q)||Da(r)&&r.size===0))break;ia=!0}if(h!==b||k||ia){if(!c)h=Array.prototype.slice.call(h,0,a);else if(ia||k||m)h.length=a;m&&h.push(m)}b=h}return b};function bb(a){return function(b){if(b==null||b=="")b=new a;else{b=JSON.parse(b);if(!Array.isArray(b))throw Error("dnarr");za(b,32);b=La(a,b)}return b}};function cb(a){this.h=P(a)}t(cb,T);var db=bb(cb);var U;function V(a){this.g=a}V.prototype.toString=function(){return this.g+""};var eb={};function fb(a){if(U===void 0){var b=null;var c=u.trustedTypes;if(c&&c.createPolicy){try{b=c.createPolicy("goog#html",{createHTML:w,createScript:w,createScriptURL:w})}catch(d){u.console&&u.console.error(d.message)}U=b}else U=b}a=(b=U)?b.createScriptURL(a):a;return new V(a,eb)};/*
156
157 SPDX-License-Identifier: Apache-2.0
158*/
159function gb(a){var b=ma.apply(1,arguments);if(b.length===0)return fb(a[0]);for(var c=a[0],d=0;d<b.length;d++)c+=encodeURIComponent(b[d])+a[d+1];return fb(c)};function hb(a,b){a.src=b instanceof V&&b.constructor===V?b.g:"type_error:TrustedResourceUrl";var c,d;(c=(b=(d=(c=(a.ownerDocument&&a.ownerDocument.defaultView||window).document).querySelector)==null?void 0:d.call(c,"script[nonce]"))?b.nonce||b.getAttribute("nonce")||"":"")&&a.setAttribute("nonce",c)};function ib(){return Math.floor(Math.random()*2147483648).toString(36)+Math.abs(Math.floor(Math.random()*2147483648)^Date.now()).toString(36)};function jb(a,b){b=String(b);a.contentType==="application/xhtml+xml"&&(b=b.toLowerCase());return a.createElement(b)}function kb(a){this.g=a||u.document||document};function lb(a){a=a===void 0?document:a;return a.createElement("script")};function mb(a,b,c,d,e,f){try{var g=a.g,h=lb(g);h.async=!0;hb(h,b);g.head.appendChild(h);h.addEventListener("load",function(){e();d&&g.head.removeChild(h)});h.addEventListener("error",function(){c>0?mb(a,b,c-1,d,e,f):(d&&g.head.removeChild(h),f())})}catch(k){f()}};var nb=u.atob("aHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC93YXJuaW5nX2FtYmVyXzI0ZHAucG5n"),ob=u.atob("WW91IGFyZSBzZWVpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2UgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlIGlzIGludGVyZmVyaW5nIHdpdGggdGhpcyBwYWdlLg=="),pb=u.atob("RGlzYWJsZSBhbnkgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlLCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Uu");function qb(a,b,c){this.i=a;this.u=b;this.o=c;this.g=null;this.j=[];this.m=!1;this.l=new kb(this.i)}
160function rb(a){if(a.i.body&&!a.m){var b=function(){sb(a);u.setTimeout(function(){tb(a,3)},50)};mb(a.l,a.u,2,!0,function(){u[a.o]||b()},b);a.m=!0}}
161function sb(a){for(var b=W(1,5),c=0;c<b;c++){var d=X(a);a.i.body.appendChild(d);a.j.push(d)}b=X(a);b.style.bottom="0";b.style.left="0";b.style.position="fixed";b.style.width=W(100,110).toString()+"%";b.style.zIndex=W(2147483544,2147483644).toString();b.style.backgroundColor=ub(249,259,242,252,219,229);b.style.boxShadow="0 0 12px #888";b.style.color=ub(0,10,0,10,0,10);b.style.display="flex";b.style.justifyContent="center";b.style.fontFamily="Roboto, Arial";c=X(a);c.style.width=W(80,85).toString()+
162"%";c.style.maxWidth=W(750,775).toString()+"px";c.style.margin="24px";c.style.display="flex";c.style.alignItems="flex-start";c.style.justifyContent="center";d=jb(a.l.g,"IMG");d.className=ib();d.src=nb;d.alt="Warning icon";d.style.height="24px";d.style.width="24px";d.style.paddingRight="16px";var e=X(a),f=X(a);f.style.fontWeight="bold";f.textContent=ob;var g=X(a);g.textContent=pb;Y(a,e,f);Y(a,e,g);Y(a,c,d);Y(a,c,e);Y(a,b,c);a.g=b;a.i.body.appendChild(a.g);b=W(1,5);for(c=0;c<b;c++)d=X(a),a.i.body.appendChild(d),
163a.j.push(d)}function Y(a,b,c){for(var d=W(1,5),e=0;e<d;e++){var f=X(a);b.appendChild(f)}b.appendChild(c);c=W(1,5);for(d=0;d<c;d++)e=X(a),b.appendChild(e)}function W(a,b){return Math.floor(a+Math.random()*(b-a))}function ub(a,b,c,d,e,f){return"rgb("+W(Math.max(a,0),Math.min(b,255)).toString()+","+W(Math.max(c,0),Math.min(d,255)).toString()+","+W(Math.max(e,0),Math.min(f,255)).toString()+")"}function X(a){a=jb(a.l.g,"DIV");a.className=ib();return a}
164function tb(a,b){b<=0||a.g!=null&&a.g.offsetHeight!==0&&a.g.offsetWidth!==0||(vb(a),sb(a),u.setTimeout(function(){tb(a,b-1)},50))}function vb(a){for(var b=n(a.j),c=b.next();!c.done;c=b.next())(c=c.value)&&c.parentNode&&c.parentNode.removeChild(c);a.j=[];(b=a.g)&&b.parentNode&&b.parentNode.removeChild(b);a.g=null};function wb(a,b,c,d,e){function f(k){document.body?g(document.body):k>0?u.setTimeout(function(){f(k-1)},e):b()}function g(k){k.appendChild(h);u.setTimeout(function(){h?(h.offsetHeight!==0&&h.offsetWidth!==0?b():a(),h.parentNode&&h.parentNode.removeChild(h)):a()},d)}var h=xb(c);f(3)}function xb(a){var b=document.createElement("div");b.className=a;b.style.width="1px";b.style.height="1px";b.style.position="absolute";b.style.left="-10000px";b.style.top="-10000px";b.style.zIndex="-10000";return b};function Ya(a){this.h=P(a)}t(Ya,T);function yb(a){this.h=P(a)}t(yb,T);var zb=bb(yb);function Ab(a){if(!a)return null;a=Za(a,4);var b;a===null||a===void 0?b=null:b=fb(a);return b};var Bb=ea([""]),Cb=ea([""]);function Db(a,b){this.m=a;this.o=new kb(a.document);this.g=b;this.j=R(this.g,1);this.u=Ab(Xa(this.g,2))||gb(Bb);this.i=!1;b=Ab(Xa(this.g,13))||gb(Cb);this.l=new qb(a.document,b,R(this.g,12))}Db.prototype.start=function(){Eb(this)};
165function Eb(a){Fb(a);mb(a.o,a.u,3,!1,function(){a:{var b=a.j;var c=u.btoa(b);if(c=u[c]){try{var d=db(u.atob(c))}catch(e){b=!1;break a}b=b===Za(d,1)}else b=!1}b?Z(a,R(a.g,14)):(Z(a,R(a.g,8)),rb(a.l))},function(){wb(function(){Z(a,R(a.g,7));rb(a.l)},function(){return Z(a,R(a.g,6))},R(a.g,9),$a(a.g,10),$a(a.g,11))})}function Z(a,b){a.i||(a.i=!0,a=new a.m.XMLHttpRequest,a.open("GET",b,!0),a.send())}function Fb(a){var b=u.btoa(a.j);a.m[b]&&Z(a,R(a.g,5))};(function(a,b){u[a]=function(){var c=ma.apply(0,arguments);u[a]=function(){};b.call.apply(b,[null].concat(c instanceof Array?c:fa(n(c))))}})("__h82AlnkH6D91__",function(a){typeof window.atob==="function"&&(new Db(window,zb(window.atob(a)))).start()});}).call(this);
166
167window.__h82AlnkH6D91__("WyJwdWItMzY0MjI1NTE0NzExMzM2OSIsW251bGwsbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9iL3B1Yi0zNjQyMjU1MTQ3MTEzMzY5Il0sbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9lbC9BR1NLV3hXdXRHbWFLS0loS0IwTzk5SHhfMnNhQml5c1hkRFpYZ3d0YlJ1Qm4tRy1FRWdGUExidWx2YjFBU2lORVlkWVVRbVE3TW9fVlM1ZVBzMUNyRWdxSXN5djVBXHUwMDNkXHUwMDNkP3RlXHUwMDNkVE9LRU5fRVhQT1NFRCIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFhSOU9mUjlLYWJZV2ZXNGkyMG4wUkxiU0pEOWotbEllSGlYa2ZRUWdvam9tTEQ0Rml5aUVnNHFIVEU0TUdhbXA2RHpaRjhNaXhEU09PTjE1SThJSzZnQXdcdTAwM2RcdTAwM2Q/YWJcdTAwM2QxXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFZBbXpVTnJpRl9zMUh3ZnpVTllmTHFnczdsVVhzZzJtc2oxRVZIYzlpaXNENmtVTkZLUTFvc0MxazlfaVpvYzM3TG82QzdDVndqc0pmWjAwQVJZd0d6cGdcdTAwM2RcdTAwM2Q/YWJcdTAwM2QyXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFV5T29XTzlmX0RnQjZFM0luVlBnY0E3RDBkTWktal9mRFpkSjd6TlgzMTd3c1JTdkxZcGRjdVdRdHo4UDR1aTdsbHZHczhNZExuSVF5dnVwV3BPaDZQTGdcdTAwM2RcdTAwM2Q/c2JmXHUwMDNkMiIsImRpdi1ncHQtYWQiLDIwLDEwMCwiY0hWaUxUTTJOREl5TlRVeE5EY3hNVE16TmprXHUwMDNkIixbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tLzBlbW4vZi9wL3B1Yi0zNjQyMjU1MTQ3MTEzMzY5LmpzP3VzcXBcdTAwM2RDQTAiXSwiaHR0cHM6Ly9mdW5kaW5nY2hvaWNlc21lc3NhZ2VzLmdvb2dsZS5jb20vZWwvQUdTS1d4VUlHc0lCNjBoWVEtVDFTMDJSaklrTzFUVkx5VGs5SlBXZlc3TGllZU1yWWFidEZSeTlfY3lwTUU4Z2lFTGNDaXd4VEdEZ0k1OGh4Q3FnUVIwZ1dCMFI3d1x1MDAzZFx1MDAzZCJd");</script>
167
168<!-- End Google AdSense Ad Blocking Recovery Error Protection snippet added by Site Kit -->
169<link rel="icon" href="https://i0.wp.com/freegistutorial.com/wp-content/uploads/2017/12/freegistutorial-logo.png?fit=32%2C9&#038;ssl=1" sizes="32x32" />
170<link rel="icon" href="https://i0.wp.com/freegistutorial.com/wp-content/uploads/2017/12/freegistutorial-logo.png?fit=192%2C54&#038;ssl=1" sizes="192x192" />
171<link rel="apple-touch-icon" href="https://i0.wp.com/freegistutorial.com/wp-content/uploads/2017/12/freegistutorial-logo.png?fit=180%2C51&#038;ssl=1" />
172<meta name="msapplication-TileImage" content="https://i0.wp.com/freegistutorial.com/wp-content/uploads/2017/12/freegistutorial-logo.png?fit=270%2C76&#038;ssl=1" />
173<style id="wp-custom-css">
174/* Hide redundant duplicate site title text inside the homepage hero banner.
175   The site name is already shown in the header logo (h1.site-title) above it;
176   repeating it in the hero (.site-branding-text) wasted the first screen,
177   especially on mobile. Does not affect single-post hero titles, which use
178   a different markup (.single-head/.single-title). */
179.header-title .site-branding-text {
180	display: none;
181}
182</style>
183<style id="kirki-inline-styles">.top-bar-section{font-size:12px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.5;text-transform:none;text-decoration:none;padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;}.site-branding-text h1.site-title a:hover, .site-branding-text .site-title a:hover, .site-branding-text h1.site-title, .site-branding-text .site-title, .site-branding-text h1.site-title a, .site-branding-text .site-title a{font-weight:800;letter-spacing:0px;word-spacing:0px;text-transform:uppercase;text-decoration:none;margin-top:0px;margin-bottom:0px;}#site-navigation, #site-navigation .navbar-nav > li > a, #site-navigation .dropdown-menu > li > a{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;text-transform:uppercase;text-decoration:none;}.navbar-nav li:hover .dropdown-menu{border-style:solid;border-top-width:1px;border-bottom-width:1px;border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-left-radius:0px;border-bottom-right-radius:0px;border-color:#f6f6f6;}.envo-categories-menu, .navbar-nav > li > a.envo-categories-menu-first, .envo-categories-menu > li > a, .envo-categories-menu .dropdown-menu > li > a{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;text-transform:uppercase;text-decoration:none;}#theme-menu-second .navbar-nav > li > a{font-size:14px;font-weight:400;letter-spacing:0px;word-spacing:0px;text-transform:none;text-decoration:none;}.footer-credits-text{font-weight:400;letter-spacing:0px;word-spacing:0px;text-align:none;text-transform:none;padding-top:20px;padding-right:0px;padding-bottom:20px;padding-left:0px;}#content-footer-section .widget{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.6;text-align:none;text-transform:none;border-style:none;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}#content-footer-section .widget-title h3{font-size:18px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.6;text-align:none;text-transform:none;}#content-footer-section{border-style:none;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}body, nav.navigation.post-navigation a, .nav-subtitle{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.6;}.singular-heading .single-image, .singular-heading .bg-single-image{display:block;}h1.single-title{letter-spacing:0px;text-align:none;text-transform:none;}.single article .post, .page article .page, .single article .posted-date, .single .cat-links span, .single .tags-links span{letter-spacing:0px;word-spacing:0px;text-align:none;text-transform:none;}.single-post-content{border-style:none;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.home-heading .single-image, .home-heading .bg-single-image{display:block;}.archive-item h2.entry-title a, .archive-item h2.entry-title{letter-spacing:0px;word-spacing:0px;text-transform:none;}.archive-item .article-meta, .archive-item .posted-date, .archive-item .author-meta, .archive-item .comments-meta{letter-spacing:0px;word-spacing:0px;text-align:none;text-transform:none;}.archive-item .post-excerpt{letter-spacing:0px;word-spacing:0px;text-align:none;text-transform:none;}.archive-item{border-style:none;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}#sidebar .widget-title h3, #sidebar h2.wp-block-heading{font-size:15px;font-weight:700;letter-spacing:0px;word-spacing:0px;line-height:1.6;text-align:none;text-transform:uppercase;}#sidebar .widget{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.6;text-align:none;text-transform:uppercase;border-style:none;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}#sidebar{border-style:none;padding-top:0px;padding-right:15px;padding-bottom:0px;padding-left:15px;}#return-to-top{right:2%;bottom:4%;}.rtl #return-to-top{left:2%;}@media (min-width: 768px) and (max-width: 991px){.top-bar-section{font-size:12px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.5;text-transform:none;text-decoration:none;padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;}.site-branding-text h1.site-title a:hover, .site-branding-text .site-title a:hover, .site-branding-text h1.site-title, .site-branding-text .site-title, .site-branding-text h1.site-title a, .site-branding-text .site-title a{font-weight:800;letter-spacing:0px;word-spacing:0px;text-transform:uppercase;text-decoration:none;margin-top:0px;margin-bottom:0px;}#site-navigation, #site-navigation .navbar-nav > li > a, #site-navigation .dropdown-menu > li > a{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;text-transform:uppercase;text-decoration:none;}.envo-categories-menu, .navbar-nav > li > a.envo-categories-menu-first, .envo-categories-menu > li > a, .envo-categories-menu .dropdown-menu > li > a{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;text-transform:uppercase;text-decoration:none;}
183#theme-menu-second .navbar-nav > li > a{font-size:14px;font-weight:400;letter-spacing:0px;word-spacing:0px;text-transform:none;text-decoration:none;}.footer-credits-text{font-weight:400;letter-spacing:0px;word-spacing:0px;text-align:none;text-transform:none;padding-top:20px;padding-right:0px;padding-bottom:20px;padding-left:0px;}#content-footer-section .widget{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.6;text-align:none;text-transform:none;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}#content-footer-section .widget-title h3{font-size:18px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.6;text-align:none;text-transform:none;}#content-footer-section{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}body, nav.navigation.post-navigation a, .nav-subtitle{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.6;}h1.single-title{letter-spacing:0px;text-align:none;text-transform:none;}.single article .post, .page article .page, .single article .posted-date, .single .cat-links span, .single .tags-links span{letter-spacing:0px;word-spacing:0px;text-align:none;text-transform:none;}.single-post-content{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.archive-item h2.entry-title a, .archive-item h2.entry-title{letter-spacing:0px;word-spacing:0px;text-transform:none;}.archive-item .article-meta, .archive-item .posted-date, .archive-item .author-meta, .archive-item .comments-meta{letter-spacing:0px;word-spacing:0px;text-align:none;text-transform:none;}.archive-item .post-excerpt{letter-spacing:0px;word-spacing:0px;text-align:none;text-transform:none;}.archive-item{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}#sidebar .widget-title h3, #sidebar h2.wp-block-heading{font-size:15px;font-weight:700;letter-spacing:0px;word-spacing:0px;line-height:1.6;text-align:none;text-transform:uppercase;}#sidebar .widget{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.6;text-align:none;text-transform:uppercase;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}#sidebar{padding-top:0px;padding-right:15px;padding-bottom:0px;padding-left:15px;}#return-to-top{right:2%;bottom:4%;}.rtl #return-to-top{left:2%;}}@media (max-width: 767px){.top-bar-section{font-size:12px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.5;text-transform:none;text-decoration:none;padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;}.site-branding-text h1.site-title a:hover, .site-branding-text .site-title a:hover, .site-branding-text h1.site-title, .site-branding-text .site-title, .site-branding-text h1.site-title a, .site-branding-text .site-title a{font-weight:800;letter-spacing:0px;word-spacing:0px;text-transform:uppercase;text-decoration:none;margin-top:0px;margin-bottom:0px;}#site-navigation, #site-navigation .navbar-nav > li > a, #site-navigation .dropdown-menu > li > a{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;text-transform:uppercase;text-decoration:none;}.envo-categories-menu, .navbar-nav > li > a.envo-categories-menu-first, .envo-categories-menu > li > a, .envo-categories-menu .dropdown-menu > li > a{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;text-transform:uppercase;text-decoration:none;}#theme-menu-second .navbar-nav > li > a{font-size:14px;font-weight:400;letter-spacing:0px;word-spacing:0px;text-transform:none;text-decoration:none;}.footer-credits-text{font-weight:400;letter-spacing:0px;word-spacing:0px;text-align:none;text-transform:none;padding-top:20px;padding-right:0px;padding-bottom:20px;padding-left:0px;}#content-footer-section .widget{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.6;text-align:none;text-transform:none;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}#content-footer-section .widget-title h3{font-size:18px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.6;text-align:none;text-transform:none;}#content-footer-section{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}body, nav.navigation.post-navigation a, .nav-subtitle{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.6;}h1.single-title{letter-spacing:0px;text-align:none;text-transform:none;}.single article .post, .page article .page, .single article .posted-date, .single .cat-links span, .single .tags-links span{letter-spacing:0px;word-spacing:0px;text-align:none;text-transform:none;}.single-post-content{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.archive-item h2.entry-title a, .archive-item h2.entry-title{letter-spacing:0px;word-spacing:0px;text-transform:none;}.archive-item .article-meta, .archive-item .posted-date, .archive-item .author-meta, .archive-item .comments-meta{letter-spacing:0px;word-spacing:0px;text-align:none;text-transform:none;}.archive-item .post-excerpt{letter-spacing:0px;word-spacing:0px;text-align:none;text-transform:none;}.archive-item{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}#sidebar .widget-title h3, #sidebar h2.wp-block-heading{font-size:15px;font-weight:700;letter-spacing:0px;word-spacing:0px;line-height:1.6;text-align:none;text-transform:uppercase;}#sidebar .widget{font-size:15px;font-weight:400;letter-spacing:0px;word-spacing:0px;line-height:1.6;text-align:none;text-transform:uppercase;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}#sidebar{padding-top:0px;padding-right:15px;padding-bottom:0px;padding-left:15px;}#return-to-top{right:2%;bottom:4%;}.rtl #return-to-top{left:2%;}}
183@media (min-width: 992px){#content-footer-section .widget.col-md-3{width:23%;}}</style>
183<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
vendor: 1 bytes, line 183
183
184<script>
185     (adsbygoogle = window.adsbygoogle || []).push({
186          google_ad_client: "ca-pub-3642255147113369",
187          enable_page_level_ads: true
188     });
189</script>
189
190    </head>
191    <body id="blog" class="wp-singular post-template-default single single-post postid-4778 single-format-standard wp-theme-envo-royal header-busnav  jps-theme-envo-royal">
192        <a class="skip-link screen-reader-text" href="#site-content">Skip to the content</a>
192<script id='jetpack-search-theme-token-sampler'>(function(){try{var c=getComputedStyle(document.body),r=document.documentElement,ink=c.color,bg=c.backgroundColor;if(ink){r.style.setProperty('--jp-search-page-ink',ink);}if(bg&&bg!==ink&&bg!=='rgba(0, 0, 0, 0)'&&bg!=='transparent'){r.style.setProperty('--jp-search-page-surface',bg);}}catch(e){}})();</script>
192        <div class="page-wrap">
193            			<div class="site-header container-fluid business-heading">
194				<div class="container" >
195					<div class="heading-row row" >
196						        <div class="site-heading" >    
197            <div class="site-branding-logo">
198                            </div>
199            <div class="site-branding-text">
200                                    <p class="site-title"><a href="https://freegistutorial.com/" rel="home">Free GIS Tutorial</a></p>
201                            </div><!-- .site-branding-text -->
202        </div>
203		<div class="header-heading-shrink"></div>
204                            <div class="menu-heading">
205            <nav id="site-navigation" class="navbar navbar-default">
206                <div id="theme-menu" class="menu-container"><ul id="menu-menu" class="nav navbar-nav navbar-right"><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-314" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-314 nav-item"><a title="Home" href="http://freegistutorial.com/home" class="nav-link">Home</a></li>
207<li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-350" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-350 nav-item"><a title="About" href="https://freegistutorial.com/about/" class="nav-link">About</a></li>
208<li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-351" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-351 nav-item"><a title="Contact" href="https://freegistutorial.com/contact/" class="nav-link">Contact</a></li>
209</ul></div>            </nav>
210        </div>
211        <div class="header-right" >        <div class="menu-button visible-xs" >
212            <div class="navbar-header">
213                                    <a href="#" id="main-menu-panel" class="toggle menu-panel" data-panel="main-menu-panel">
214					<span></span>
215				</a>
216                            </div>
217        </div>
218        </div>					</div>
219				</div>
220			</div>
221								<div class="top-header singular-heading text-center">
222									<div class="single-image">
223						<div class="bg-single-image" style="background-image: url('https://i0.wp.com/freegistutorial.com/wp-content/uploads/2026/08/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?fit=1080%2C1080&#038;ssl=1')"></div>
224						<img width="1080" height="1080" src="https://i0.wp.com/freegistutorial.com/wp-content/uploads/2026/08/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?fit=1080%2C1080&amp;ssl=1" class="attachment-full size-full wp-post-image" alt="Bird&#039;s eye view of a mining exploration area with drill pads" decoding="async" fetchpriority="high" srcset="https://i0.wp.com/freegistutorial.com/wp-content/uploads/2026/08/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?w=1080&amp;ssl=1 1080w, https://i0.wp.com/freegistutorial.com/wp-content/uploads/2026/08/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/freegistutorial.com/wp-content/uploads/2026/08/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?resize=1024%2C1024&amp;ssl=1 1024w, https://i0.wp.com/freegistutorial.com/wp-content/uploads/2026/08/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/freegistutorial.com/wp-content/uploads/2026/08/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?resize=768%2C768&amp;ssl=1 768w" sizes="(max-width: 1080px) 100vw, 1080px" />					</div>
225								<header class="header-title container">
226					        <div class="single-head">
227            <h1 class="single-title">How to Create an ArcGIS Pro Python Script to Generate Drillhole Traces from CSV</h1> 
228            <time class="posted-on published" datetime="2026-08-23"></time>
229        </div>
230                <div class="article-meta">
231                <span class="posted-date">
232			<i class="las la-calendar"></i>
233            August 23, 2026        </span>
234                <span class="author-meta">
235			<i class="las la-user"></i>
236            <span class="author-meta-by">By</span>
237            <a href="https://freegistutorial.com/author/dhaniekonugroho/">
238                admin            </a>
239        </span>
240                <span class="comments-meta">
241			<i class="la la-comments-o"></i>
242                            <a href="https://freegistutorial.com/arcgis-pro-python-script-drillhole-traces-csv/#comments" rel="nofollow" title="Comment on How to Create an ArcGIS Pro Python Script to Generate Drillhole Traces from CSV">
243                0                </a>
244                    </span>
245                </div>
246                <div id="header-image-arrow">
247			<a href="#entry-content"><span></span></a>
248		</div>
249						</header>
250			</div>
251        			<div id="site-content" class="container main-container" role="main">
252                <div id="entry-content" class="page-area">
253		         
254
255<!-- start content container -->
256<div class="row single-post">      
257    <article class="col-md-9">
258		                         
259				<div class="single-post-content post-4778 post type-post status-publish format-standard has-post-thumbnail hentry category-arcgis category-programming tag-arcgis-pro tag-arcgis-pro-tutorial tag-csv tag-drillhole tag-geodatabase tag-python">
260					        <div id="entry-content" class="single-content">
261            <div class="single-entry-summary">
262                 
263                <div class='code-block code-block-1' style='margin: 8px auto; text-align: center; display: block; clear: both;'>
264<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
264
265<!-- gamblisfx-336 -->
266<ins class="adsbygoogle"
267     style="display:block"
268     data-ad-client="ca-pub-3642255147113369"
269     data-ad-slot="7872241862"
270     data-ad-format="auto"
271     data-full-width-responsive="true"></ins>
272<script>
273     (adsbygoogle = window.adsbygoogle || []).push({});
274</script>
274</div>
275<p>If you work in mineral exploration or geotechnical mapping, you already know how tedious it is to manually digitize drillhole traces in ArcGIS Pro one by one. The good news is that ArcGIS Pro&#8217;s built-in <code>arcpy</code> module lets you automate the entire process: read collar coordinates and survey data (azimuth, dip, and depth) straight from a CSV file, then generate 3D polyline features representing each drillhole trace in a single script run.</p>
276<p>In this tutorial, we&#8217;ll build a simple Python script that reads a CSV file containing drillhole collar location, azimuth, dip, and depth, then calculates the end point of each hole using basic trigonometry and writes the resulting 3D polylines into a feature class.</p>
277<figure class="wp-caption">
278<a href="https://i0.wp.com/freegistutorial.com/wp-content/uploads/2026/08/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?ssl=1"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/freegistutorial.com/wp-content/uploads/2026/08/bird-s-eye-view-of-a-mining-exploration-area-with-drill-pads.jpeg?w=847&#038;ssl=1" alt="Bird's eye view of a mining exploration area with drill pads" style="width:100%;height:auto;" /></a><figcaption>Photo by <a href="https://unsplash.com/@curioso?utm_source=WP+Agent&#038;utm_medium=referral">Curioso Photography</a> on <a href="https://unsplash.com/?utm_source=WP+Agent&#038;utm_medium=referral">Unsplash</a></figcaption></figure>
279<h2>Expected CSV Structure</h2>
280<p>Your CSV file should have at minimum the following columns:</p><div class='code-block code-block-3' style='margin: 8px 0; clear: both;'>
281<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
281
282<!-- responsive -->
283<ins class="adsbygoogle"
284     style="display: block;"
285     data-ad-client="ca-pub-3642255147113369"
286     data-ad-slot="3720141064"
287     data-ad-format="auto"></ins>
288<script>
289(adsbygoogle = window.adsbygoogle || []).push({});
290</script>
290
291</div>
292
293<table>
294<thead>
295<tr>
296<th>Column</th>
297<th>Description</th>
298<th>Example</th>
299</tr>
300</thead>
301<tbody>
302<tr>
303<td>HoleID</td>
304<td>Unique identifier for the drillhole</td>
305<td>DH-001</td>
306</tr>
307<tr>
308<td>X, Y, Z</td>
309<td>Collar coordinates (easting, northing, elevation)</td>
310<td>456123.5, 7890456.2, 512.3</td>
311</tr>
312<tr>
313<td>Azimuth</td>
314<td>Hole direction in degrees (0–360, from north)</td>
315<td>135</td>
316</tr>
317<tr>
318<td>Dip</td>
319<td>Hole inclination in degrees (negative for downward holes)</td>
320<td>-60</td>
321</tr>
322<tr>
323<td>Depth</td>
324<td>Total hole length</td>
325<td>250</td>
326</tr>
327</tbody>
328</table>
329<p>If you&#8217;re new to reading tabular data into Python, our <a href="https://freegistutorial.com/my-phyton-journey-01-read-csv-file-from-python-using-pandas/">guide to reading CSV files with pandas</a> is a good primer before working with <code>csv.DictReader</code> here.</p>
330<h2>Trace Geometry Diagram</h2>
331<p>Before diving into the code, here&#8217;s a diagram of how the trace endpoint is derived from the collar point, azimuth, and dip (this is a schematic to explain the geometry, not a screenshot of the ArcGIS Pro interface):</p><div class='code-block code-block-4' style='margin: 8px 0; clear: both;'>
332<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
332
333<!-- link_responsive -->
334<ins class="adsbygoogle"
335     style="display:block"
336     data-ad-client="ca-pub-3642255147113369"
337     data-ad-slot="9875918812"
338     data-ad-format="link"></ins>
339<script>
340(adsbygoogle = window.adsbygoogle || []).push({});
341</script>
341</div>
342
343<p><svg viewBox="0 0 600 320" xmlns="http://www.w3.org/2000/svg" style="width:100%;max-width:600px;height:auto;display:block;margin:0 auto;background:#f7f7f7;border-radius:8px;">
344  <line x1="20" y1="60" x2="580" y2="60" stroke="#999" stroke-width="1" stroke-dasharray="4 4" />
345  <text x="30" y="50" font-family="sans-serif" font-size="12" fill="#666">Surface</text>
346  <circle cx="120" cy="60" r="5" fill="#2b6cb0" />
347  <text x="100" y="42" font-family="sans-serif" font-size="12" fill="#2b6cb0" font-weight="bold">Collar (X, Y, Z)</text>
348  <line x1="120" y1="60" x2="420" y2="260" stroke="#dd6b20" stroke-width="3" />
349  <circle cx="420" cy="260" r="5" fill="#dd6b20" />
350  <text x="430" y="270" font-family="sans-serif" font-size="12" fill="#dd6b20" font-weight="bold">Toe (end of hole)</text>
351  <path d="M 160 60 A 40 40 0 0 1 150 95" fill="none" stroke="#555" stroke-width="1.5" />
352  <text x="165" y="90" font-family="sans-serif" font-size="12" fill="#555">Dip</text>
353  <line x1="120" y1="60" x2="120" y2="140" stroke="#999" stroke-width="1" stroke-dasharray="3 3" />
354  <text x="60" y="150" font-family="sans-serif" font-size="11" fill="#888">Vertical reference</text>
355  <text x="230" y="175" font-family="sans-serif" font-size="12" fill="#333">Depth (along azimuth/dip)</text>
356</svg></p>
357<h2>The Python Script</h2>
358<pre><code class="language-python">import arcpy
359import csv
360import math
361import os
362
363# ---- Configuration ----
364csv_path = r"C:\Data\drillholes.csv"
365output_gdb = r"C:\Data\DrillholeTraces.gdb"
366output_fc_name = "DrillholeTraces"
367output_fc = os.path.join(output_gdb, output_fc_name)
368
369# Set this to match your project's coordinate system
370sr = arcpy.SpatialReference(32750)  # example: WGS 1984 UTM Zone 50S
371
372# ---- Create output feature class ----
373if not arcpy.Exists(output_gdb):
374    arcpy.management.CreateFileGDB(os.path.dirname(output_gdb), os.path.basename(output_gdb))
375
376if arcpy.Exists(output_fc):
377    arcpy.management.Delete(output_fc)
378
379arcpy.management.CreateFeatureclass(
380    output_gdb, output_fc_name, "POLYLINE",
381    spatial_reference=sr, has_z="ENABLED"
382)
383arcpy.management.AddField(output_fc, "HoleID", "TEXT", field_length=50)
384
385# ---- Read CSV and build traces ----
386with arcpy.da.InsertCursor(output_fc, ["SHAPE@", "HoleID"]) as cursor:
387    with open(csv_path, "r", newline="") as f:
388        reader = csv.DictReader(f)
389        for row in reader:
390            hole_id = row["HoleID"]
391            x, y, z = float(row["X"]), float(row["Y"]), float(row["Z"])
392            azimuth = math.radians(float(row["Azimuth"]))
393            dip = math.radians(float(row["Dip"]))
394            depth = float(row["Depth"])
395
396            # Convert azimuth/dip/depth into a 3D displacement vector
397            dx = depth * math.sin(azimuth) * math.cos(dip)
398            dy = depth * math.cos(azimuth) * math.cos(dip)
399            dz = depth * math.sin(dip)  # dip is negative for downward holes
400
401            end_x, end_y, end_z = x + dx, y + dy, z + dz
402
403            array = arcpy.Array([
404                arcpy.Point(x, y, z),
405                arcpy.Point(end_x, end_y, end_z)
406            ])
407            polyline = arcpy.Polyline(array, sr, True)
408            cursor.insertRow([polyline, hole_id])
409
410print(f"Drillhole traces written to {output_fc}")
411</code></pre>
412<h2>How It Works</h2>
413<p>The script converts each hole&#8217;s azimuth and dip into a 3D unit vector using trigonometry, scales it by the hole&#8217;s total depth, and adds it to the collar coordinate to find the toe (end point) of the hole. Each hole becomes a two-vertex 3D polyline — enough to represent a straight trace. If you have downhole survey stations instead of a single azimuth/dip/depth per hole, you can extend the script to loop through multiple survey rows per HoleID and build a multi-vertex polyline for a more accurate, curved trace.</p>
414<h2>Running the Script</h2>
415<h3>From the Python Window</h3>
416<p>Save the script as a <code>.py</code> file and run it from the ArcGIS Pro Python window for a quick one-off run. This is the fastest way to test it against a small sample CSV before scaling up.</p>
417<h3>As a Reusable Script Tool</h3>
418<p>For repeated use, set it up as a Script Tool in a custom toolbox so it can be reused with different input parameters (CSV path, output geodatabase, coordinate system) without editing the code each time — the same pattern used in our <a href="https://freegistutorial.com/how-to-create-regular-grid-points-on-arcgis-pro/">
418regular grid points arcpy tutorial</a>. Once it finishes, add the output feature class to your ArcGIS Pro scene to visualize the traces in 3D.</p>
419<p>This approach scales well — whether you have 10 holes or 10,000, the script processes the entire CSV in seconds, saving hours of manual digitizing.</p>
420<h2>Related ArcGIS Pro Tutorials</h2>
421<ul>
422<li><a href="https://freegistutorial.com/how-to-create-regular-grid-points-on-arcgis-pro/">How to Create Regular Grid Points on ArcGIS Pro</a> — another arcpy geometry-generation script, useful if you also need sample or grid points around your drillholes.</li>
423<li><a href="https://freegistutorial.com/how-to-export-layer-to-gpx-in-arcgis-pro/">How to Export Layer to GPX in ArcGIS Pro</a> — handy once your drillhole traces are created and you need to bring collar locations into a GPS device.</li>
424</ul>
425<h2>FAQ</h2>
426<p><strong>Can this script handle deviated (curved) drillholes?</strong><br />
427Not as written — this version draws a straight trace from a single azimuth, dip, and depth per hole. For deviated holes, extend the script to loop through multiple downhole survey stations per HoleID and build a multi-vertex polyline.</p>
428<p><strong>Do I need an ArcGIS Pro license to run this script?</strong><br />
429Yes — <code>arcpy</code> ships with ArcGIS Pro and requires a valid license to import and run, whether from the Python window, a notebook, or a standalone script.</p>
430<p><strong>What coordinate system should I use?</strong><br />
431Match the <code>arcpy.SpatialReference()</code> code to your project&#8217;s actual coordinate system (a projected CRS, not geographic) so depth and displacement calculations are in real-world linear units like meters.</p>
432<h2>Further Reading</h2>
433<ul>
434<li><a href="https://pro.arcgis.com/en/pro-app/latest/arcpy/classes/polyline.htm" target="_blank" rel="noopener">Esri: arcpy Polyline class reference</a></li>
435<li><a href="https://pro.arcgis.com/en/pro-app/latest/arcpy/data-access/insertcursor-class.htm" target="_blank" rel="noopener">Esri: arcpy.da.InsertCursor class reference</a></li>
436<li><a href="https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/create-feature-class.htm" target="_blank" rel="noopener">Esri: Create Feature Class (Data Management) tool reference</a></li>
437<li><a href="https://pro.arcgis.com/en/pro-app/latest/arcpy/get-started/setting-up-a-python-editor.htm" target="_blank" rel="noopener">Esri: Setting up a Python editor for ArcGIS Pro</a></li>
438</ul>
439<div class='code-block code-block-2' style='margin: 8px 0; clear: both;'>
440<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
440
441<!-- responsive -->
442<ins class="adsbygoogle"
443     style="display: block;"
444     data-ad-client="ca-pub-3642255147113369"
445     data-ad-slot="3720141064"
446     data-ad-format="auto"></ins>
447<script>
448(adsbygoogle = window.adsbygoogle || []).push({});
449</script>
449</div>
450<!-- CONTENT END 1 -->
451                 
452            </div><!-- .single-entry-summary -->
453                    </div>
454        <div class="entry-footer"><div class="cat-links"><i class="las la-link"></i><span class="space-right">Category</span><a href="https://freegistutorial.com/category/arcgis/">ArcGIS</a> <a href="https://freegistutorial.com/category/programming/">Programming</a></div><div class="tags-links"><i class="las la-tags"></i><span class="space-right">Tags</span><a href="https://freegistutorial.com/tag/arcgis-pro/">arcgis pro</a> <a href="https://freegistutorial.com/tag/arcgis-pro-tutorial/">arcgis pro tutorial</a> <a href="https://freegistutorial.com/tag/csv/">csv</a> <a href="https://freegistutorial.com/tag/drillhole/">drillhole</a> <a href="https://freegistutorial.com/tag/geodatabase/">geodatabase</a> <a href="https://freegistutorial.com/tag/python/">python</a></div></div>
455	<nav class="navigation post-navigation" aria-label="Posts">
456		<h2 class="screen-reader-text">Post navigation</h2>
457		<div class="nav-links"><div class="nav-previous"><a href="https://freegistutorial.com/how-to-install-oracle-database-23ai-on-windows-server-2025/" rel="prev"><span class="screen-reader-text">Previous Post</span><span aria-hidden="true" class="nav-subtitle">Previous</span> <span class="nav-title"><span class="nav-title-icon-wrapper"><i class="la la-angle-double-left" aria-hidden="true"></i></span>How to Install Oracle Database 23ai on Windows Server 2025</span></a></div></div>
458	</nav>            <div class="single-footer">
459                	<div id="comments" class="comments-template">
460			<div id="respond" class="comment-respond">
461		<h3 id="reply-title" class="comment-reply-title">Leave a Reply <small><a rel="nofollow" id="cancel-comment-reply-link" href="/arcgis-pro-python-script-drillhole-traces-csv/#respond" style="display:none;">Cancel reply</a></small></h3><form action="https://freegistutorial.com/wp-comments-post.php" method="post" id="commentform" class="comment-form"><p class="comment-notes"><span id="email-notes">Your email address will not be published.</span> <span class="required-field-message">Required fields are marked <span class="required">*</span></span></p><p class="comment-form-comment"><label for="comment">Comment <span class="required">*</span></label> <textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required="required"></textarea></p><p class="comment-form-author"><label for="author">Name <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245" autocomplete="name" required="required" /></p>
462<p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input id="email" name="email" type="text" value="" size="30" maxlength="100" aria-describedby="email-notes" autocomplete="email" required="required" /></p>
463<p class="comment-form-url"><label for="url">Website</label> <input id="url" name="url" type="text" value="" size="30" maxlength="200" autocomplete="url" /></p>
464<p class="comment-subscription-form"><input type="checkbox" name="subscribe_comments" id="subscribe_comments" value="subscribe" style="width: auto; -moz-appearance: checkbox; -webkit-appearance: checkbox;" /> <label class="subscribe-label" id="subscribe-label" for="subscribe_comments">Notify me of follow-up comments by email.</label></p><p class="comment-subscription-form"><input type="checkbox" name="subscribe_blog" id="subscribe_blog" value="subscribe" style="width: auto; -moz-appearance: checkbox; -webkit-appearance: checkbox;" /> <label class="subscribe-label" id="subscribe-blog-label" for="subscribe_blog">Notify me of new posts by email.</label></p><p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="Post Comment" /> <input type='hidden' name='comment_post_ID' value='4778' id='comment_post_ID' />
465<input type='hidden' name='comment_parent' id='comment_parent' value='0' />
466</p><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="c7101dd01a" /></p><p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="106"/>
466<script>
467document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );
468</script>
468
469</p></form>	</div><!-- #respond -->
470	<p class="akismet_comment_form_privacy_notice">This site uses Akismet to reduce spam. <a href="https://akismet.com/privacy/" target="_blank" rel="nofollow noopener">Learn how your comment data is processed.</a></p>	</div>
471	 
472            </div>
473        				</div>
474			        
475		    
476    </article> 
477	    <aside id="sidebar" class="col-md-3">
478        <div id="categories-5" class="widget widget_categories"><div class="widget-title"><h3>Category</h3></div>
479			<ul>
480					<li class="cat-item cat-item-25"><a href="https://freegistutorial.com/category/arcgis/">ArcGIS</a>
481</li>
482	<li class="cat-item cat-item-75"><a href="https://freegistutorial.com/category/database/">Database</a>
483</li>
484	<li class="cat-item cat-item-88"><a href="https://freegistutorial.com/category/free-spatial-data/">Free Spatial Data</a>
485</li>
486	<li class="cat-item cat-item-221"><a href="https://freegistutorial.com/category/general/">General</a>
487</li>
488	<li class="cat-item cat-item-322"><a href="https://freegistutorial.com/category/geoserver/">Geoserver</a>
489</li>
490	<li class="cat-item cat-item-38"><a href="https://freegistutorial.com/category/gis-software/">GIS Software</a>
491</li>
492	<li class="cat-item cat-item-22"><a href="https://freegistutorial.com/category/global-mapper/">Global Mapper</a>
493</li>
494	<li class="cat-item cat-item-46"><a href="https://freegistutorial.com/category/leapfrog-geo/">Leapfrog Geo</a>
495</li>
496	<li class="cat-item cat-item-288"><a href="https://freegistutorial.com/category/linux/">Linux</a>
497</li>
498	<li class="cat-item cat-item-293"><a href="https://freegistutorial.com/category/macos/">macOS</a>
499</li>
500	<li class="cat-item cat-item-31"><a href="https://freegistutorial.com/category/mapinfo/">Mapinfo</a>
501</li>
502	<li class="cat-item cat-item-35"><a href="https://freegistutorial.com/category/micromine/">Micromine</a>
503</li>
504	<li class="cat-item cat-item-320"><a href="https://freegistutorial.com/category/oracle/">Oracle</a>
505</li>
506	<li class="cat-item cat-item-244"><a href="https://freegistutorial.com/category/programming/">Programming</a>
507</li>
508	<li class="cat-item cat-item-27"><a href="https://freegistutorial.com/category/qgis/">QGIS</a>
509</li>
510	<li class="cat-item cat-item-205"><a href="https://freegistutorial.com/category/software-review/">Software Review</a>
511</li>
512	<li class="cat-item cat-item-144"><a href="https://freegistutorial.com/category/surfer/">Surfer</a>
513</li>
514	<li class="cat-item cat-item-1"><a href="https://freegistutorial.com/category/uncategorized/">Uncategorized</a>
515</li>
516			</ul>
517
518			</div><div id="ai_widget-2" class="widget block-widget"><div class='code-block code-block-1' style='margin: 8px auto; text-align: center; display: block; clear: both;'>
519<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
519
520<!-- gamblisfx-336 -->
521<ins class="adsbygoogle"
522     style="display:block"
523     data-ad-client="ca-pub-3642255147113369"
524     data-ad-slot="7872241862"
525     data-ad-format="auto"
526     data-full-width-responsive="true"></ins>
527<script>
528     (adsbygoogle = window.adsbygoogle || []).push({});
529</script>
529</div>
530</div><div id="search-3" class="widget widget_search"><form role="search" method="get" class="search-form" action="https://freegistutorial.com/">
531				<label>
532					<span class="screen-reader-text">Search for:</span>
533					<input type="search" class="search-field" placeholder="Search &hellip;" value="" name="s" />
534				</label>
535				<input type="submit" class="search-submit" value="Search" />
536			</form></div><div id="block-2" class="widget widget_block widget_categories"><div class="wp-block-categories-dropdown wp-block-categories-taxonomy-category wp-block-categories"><label class="wp-block-categories__label" for="wp-block-categories-1">Categories</label><select  name='category_name' id='wp-block-categories-1' class='postform'>
537	<option value='-1'>Select Category</option>
538	<option class="level-0" value="arcgis">ArcGIS&nbsp;&nbsp;(84)</option>
539	<option class="level-0" value="database">Database&nbsp;&nbsp;(59)</option>
540	<option class="level-0" value="free-spatial-data">Free Spatial Data&nbsp;&nbsp;(2)</option>
541	<option class="level-0" value="general">General&nbsp;&nbsp;(6)</option>
542	<option class="level-0" value="geoserver">Geoserver&nbsp;&nbsp;(3)</option>
543	<option class="level-0" value="gis-software">GIS Software&nbsp;&nbsp;(23)</option>
544	<option class="level-0" value="global-mapper">Global Mapper&nbsp;&nbsp;(20)</option>
545	<option class="level-0" value="leapfrog-geo">Leapfrog Geo&nbsp;&nbsp;(16)</option>
546	<option class="level-0" value="linux">Linux&nbsp;&nbsp;(10)</option>
547	<option class="level-0" value="macos">macOS&nbsp;&nbsp;(3)</option>
548	<option class="level-0" value="mapinfo">Mapinfo&nbsp;&nbsp;(40)</option>
549	<option class="level-0" value="micromine">Micromine&nbsp;&nbsp;(32)</option>
550	<option class="level-0" value="oracle">Oracle&nbsp;&nbsp;(7)</option>
551	<option class="level-0" value="programming">Programming&nbsp;&nbsp;(9)</option>
552	<option class="level-0" value="qgis">QGIS&nbsp;&nbsp;(105)</option>
553	<option class="level-0" value="software-review">Software Review&nbsp;&nbsp;(2)</option>
554	<option class="level-0" value="surfer">Surfer&nbsp;&nbsp;(2)</option>
555	<option class="level-0" value="uncategorized">Uncategorized&nbsp;&nbsp;(6)</option>
556</select>
556<script>
557( ( [ dropdownId, homeUrl ] ) => {
558		const dropdown = document.getElementById( dropdownId );
559		function onSelectChange() {
560			setTimeout( () => {
561				if ( 'escape' === dropdown.dataset.lastkey ) {
562					return;
563				}
564				// Only navigate if a valid term is selected (not the default "Select [taxonomy]" option)
565				if ( dropdown.value && dropdown.value !== '-1' && dropdown instanceof HTMLSelectElement ) {
566					const url = new URL( homeUrl );
567					url.searchParams.set( dropdown.name, dropdown.value );
568					location.href = url.href;
569				}
570			}, 250 );
571		}
572		function onKeyUp( event ) {
573			if ( 'Escape' === event.key ) {
574				dropdown.dataset.lastkey = 'escape';
575			} else {
576				delete dropdown.dataset.lastkey;
577			}
578		}
579		function onClick() {
580			delete dropdown.dataset.lastkey;
581		}
582		dropdown.addEventListener( 'keyup', onKeyUp );
583		dropdown.addEventListener( 'click', onClick );
584		dropdown.addEventListener( 'change', onSelectChange );
585	} )( ["wp-block-categories-1","https://freegistutorial.com"] );
586//# sourceURL=build_dropdown_script_block_core_categories
587</script>
587
588
589</div></div><div id="text-3" class="widget widget_text"><div class="widget-title"><h3>Ads</h3></div>			<div class="textwidget"><p>
589<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
589<br />
590<!-- gamblisfx_big --><br />
591<ins class="adsbygoogle"
592style="display:inline-block;width:300px;height:600px"
593data-ad-client="ca-pub-3642255147113369"
594data-ad-slot="1604609460"></ins><br />
595<script>
596(adsbygoogle = window.adsbygoogle || []).push({});
597</script>
597</p>
598</div>
599		</div><div id="text-4" class="widget widget_text"><div class="widget-title"><h3>Ads</h3></div>			<div class="textwidget"><p>
599<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
599<br />
600<!-- link_responsive --><br />
601<ins class="adsbygoogle"
602     style="display:block"
603     data-ad-client="ca-pub-3642255147113369"
604     data-ad-slot="9875918812"
605     data-ad-format="link"></ins><br />
606<script>
607(adsbygoogle = window.adsbygoogle || []).push({});
608</script>
608</p>
609</div>
610		</div><div id="block-4" class="widget widget_block">
611<h2 class="wp-block-heading">Pages</h2>
612</div><div id="search-4" class="widget widget_search"><form role="search" method="get" class="search-form" action="https://freegistutorial.com/">
613				<label>
614					<span class="screen-reader-text">Search for:</span>
615					<input type="search" class="search-field" placeholder="Search &hellip;" value="" name="s" />
616				</label>
617				<input type="submit" class="search-submit" value="Search" />
618			</form></div><div id="categories-4" class="widget widget_categories"><div class="widget-title"><h3>Category List</h3></div>
619			<ul>
620					<li class="cat-item cat-item-25"><a href="https://freegistutorial.com/category/arcgis/">ArcGIS</a> (84)
621</li>
622	<li class="cat-item cat-item-75"><a href="https://freegistutorial.com/category/database/">Database</a> (59)
623</li>
624	<li class="cat-item cat-item-88"><a href="https://freegistutorial.com/category/free-spatial-data/">Free Spatial Data</a> (2)
625</li>
626	<li class="cat-item cat-item-221"><a href="https://freegistutorial.com/category/general/">General</a> (6)
627</li>
628	<li class="cat-item cat-item-322"><a href="https://freegistutorial.com/category/geoserver/">Geoserver</a> (3)
629</li>
630	<li class="cat-item cat-item-38"><a href="https://freegistutorial.com/category/gis-software/">GIS Software</a> (23)
631</li>
632	<li class="cat-item cat-item-22"><a href="https://freegistutorial.com/category/global-mapper/">Global Mapper</a> (20)
633</li>
634	<li class="cat-item cat-item-46"><a href="https://freegistutorial.com/category/leapfrog-geo/">Leapfrog Geo</a> (16)
635</li>
636	<li class="cat-item cat-item-288"><a href="https://freegistutorial.com/category/linux/">Linux</a> (10)
637</li>
638	<li class="cat-item cat-item-293"><a href="https://freegistutorial.com/category/macos/">macOS</a> (3)
639</li>
640	<li class="cat-item cat-item-31"><a href="https://freegistutorial.com/category/mapinfo/">Mapinfo</a> (40)
641</li>
642	<li class="cat-item cat-item-35"><a href="https://freegistutorial.com/category/micromine/">Micromine</a> (32)
643</li>
644	<li class="cat-item cat-item-320"><a href="https://freegistutorial.com/category/oracle/">Oracle</a> (7)
645</li>
646	<li class="cat-item cat-item-244"><a href="https://freegistutorial.com/category/programming/">Programming</a> (9)
647</li>
648	<li class="cat-item cat-item-27"><a href="https://freegistutorial.com/category/qgis/">QGIS</a> (105)
649</li>
650	<li class="cat-item cat-item-205"><a href="https://freegistutorial.com/category/software-review/">Software Review</a> (2)
651</li>
652	<li class="cat-item cat-item-144"><a href="https://freegistutorial.com/category/surfer/">Surfer</a> (2)
653</li>
654	<li class="cat-item cat-item-1"><a href="https://freegistutorial.com/category/uncategorized/">Uncategorized</a> (6)
655</li>
656			</ul>
657
658			</div>    </aside>
659</div>
660<!-- end content container -->
661
662</div><!-- end main-container -->
663</div><!-- end page-area -->
664
665					<footer id="colophon" class="footer-credits container-fluid">
666				<div class="container">
667					<div class="footer-credits-text text-center">
668						Created with <a href="https://envothemes.com/envo-royal-free-wp-theme/" title="Free Multipurpose WordPress Theme">Envo Royal</a> WordPress theme					</div>
669				</div>	
670			</footer>
671				
672</div><!-- end page-wrap -->
673
674<script type="speculationrules">
675{"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/envo-royal/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
676</script>
676
677		<div class="jetpack-instant-search__widget-area" style="display: none">
678							<div id="jetpack-search-filters-1" class="widget jetpack-filters widget_search">			<div id="jetpack-search-filters-1-wrapper" class="jetpack-instant-search-wrapper">
679		</div></div>					</div>
680				<!-- Return to Top -->
681		<a href="javascript:" id="return-to-top"><i class="las la-chevron-up"></i></a>
682		
682<script id="wp-hooks-js" src="https://c0.wp.com/c/7.1.2/wp-includes/js/dist/hooks.min.js"></script>
vendor: 1 bytes, line 682
682
683<script id="wp-i18n-js" src="https://c0.wp.com/c/7.1.2/wp-includes/js/dist/i18n.min.js"></script>
vendor: 1 bytes, line 683
683
684<script id="wp-i18n-js-after">
685wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
686//# sourceURL=wp-i18n-js-after
687</script>
vendor: 1 bytes, line 687
687
688<script id="swv-js" src="https://freegistutorial.com/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.1.7"></script>
vendor: 1 bytes, line 688
688
689<script id="contact-form-7-js-before">
690var wpcf7 = {
691    "api": {
692        "root": "https:\/\/freegistutorial.com\/wp-json\/",
693        "namespace": "contact-form-7\/v1"
694    },
695    "cached": 1
696};
697//# sourceURL=contact-form-7-js-before
698</script>
vendor: 1 bytes, line 698
698
699<script id="contact-form-7-js" src="https://freegistutorial.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.1.7"></script>
vendor: 1 bytes, line 699
699
700<script id="envo-extra-js-js" src="https://freegistutorial.com/wp-content/plugins/envo-extra/js/envo.js?ver=1.9.22"></script>
vendor: 1 bytes, line 700
700
701<script id="wp-jp-i18n-loader-js" src="https://freegistutorial.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-assets/build/i18n-loader.js?minify=true&#038;ver=5ba5dddc04be2306aaf0"></script>
vendor: 1 bytes, line 701
701
702<script id="wp-jp-i18n-loader-js-after">
703wp.jpI18nLoader.state = {"baseUrl":"https://freegistutorial.com/wp-content/languages/","locale":"en_US","domainMap":{"jetpack-account-protection":"plugins/jetpack","jetpack-activity-log":"plugins/jetpack","jetpack-admin-ui":"plugins/jetpack","jetpack-agents-manager":"plugins/jetpack","jetpack-assets":"plugins/jetpack","jetpack-backup-pkg":"plugins/jetpack","jetpack-blaze":"plugins/jetpack","jetpack-block-delimiter":"plugins/jetpack","jetpack-boost-core":"plugins/jetpack","jetpack-boost-speed-score":"plugins/jetpack","jetpack-classic-theme-helper":"plugins/jetpack","jetpack-comments":"plugins/jetpack","jetpack-compat":"plugins/jetpack","jetpack-config":"plugins/jetpack","jetpack-connection":"plugins/jetpack","jetpack-explat":"plugins/jetpack","jetpack-external-connections":"plugins/jetpack","jetpack-external-media":"plugins/jetpack","jetpack-feature-flags":"plugins/jetpack","jetpack-forms":"plugins/jetpack","jetpack-image-cdn":"plugins/jetpack","jetpack-import":"plugins/jetpack","jetpack-ip":"plugins/jetpack","jetpack-jitm":"plugins/jetpack","jetpack-jwt":"plugins/jetpack","jetpack-licensing":"plugins/jetpack","jetpack-masterbar":"plugins/jetpack","jetpack-menu-badges":"plugins/jetpack","jetpack-my-jetpack":"plugins/jetpack","jetpack-newsletter":"plugins/jetpack","jetpack-password-checker":"plugins/jetpack","jetpack-paypal-payments":"plugins/jetpack","jetpack-plugins-installer":"plugins/jetpack","jetpack-podcast":"plugins/jetpack","jetpack-post-list":"plugins/jetpack","jetpack-post-media":"plugins/jetpack","jetpack-premium-analytics-pkg":"plugins/jetpack","jetpack-protect-models":"plugins/jetpack","jetpack-protect-status":"plugins/jetpack","jetpack-publicize-pkg":"plugins/jetpack","jetpack-scan-page":"plugins/jetpack","jetpack-search-pkg":"plugins/jetpack","jetpack-seo":"plugins/jetpack","jetpack-stats-admin":"plugins/jetpack","jetpack-stats-pkg":"plugins/jetpack","jetpack-sync":"plugins/jetpack","jetpack-videopress-pkg":"plugins/jetpack","jetpack-waf":"plugins/jetpack","jetpack-wp-abilities":"plugins/jetpack","jetpack-wp-build-polyfills":"plugins/jetpack"},"domainPaths":{"jetpack-account-protection":"jetpack_vendor/automattic/jetpack-account-protection/","jetpack-activity-log":"jetpack_vendor/automattic/jetpack-activity-log/","jetpack-admin-ui":"jetpack_vendor/automattic/jetpack-admin-ui/","jetpack-agents-manager":"jetpack_vendor/automattic/jetpack-agents-manager/","
703jetpack-assets":"jetpack_vendor/automattic/jetpack-assets/","jetpack-backup-pkg":"jetpack_vendor/automattic/jetpack-backup/","jetpack-blaze":"jetpack_vendor/automattic/jetpack-blaze/","jetpack-block-delimiter":"jetpack_vendor/automattic/block-delimiter/","jetpack-boost-core":"jetpack_vendor/automattic/jetpack-boost-core/","jetpack-boost-speed-score":"jetpack_vendor/automattic/jetpack-boost-speed-score/","jetpack-classic-theme-helper":"jetpack_vendor/automattic/jetpack-classic-theme-helper/","jetpack-comments":"jetpack_vendor/automattic/jetpack-comments/","jetpack-compat":"jetpack_vendor/automattic/jetpack-compat/","jetpack-config":"jetpack_vendor/automattic/jetpack-config/","jetpack-connection":"jetpack_vendor/automattic/jetpack-connection/","jetpack-explat":"jetpack_vendor/automattic/jetpack-explat/","jetpack-external-connections":"jetpack_vendor/automattic/jetpack-external-connections/","jetpack-external-media":"jetpack_vendor/automattic/jetpack-external-media/","jetpack-feature-flags":"jetpack_vendor/automattic/jetpack-feature-flags/","jetpack-forms":"jetpack_vendor/automattic/jetpack-forms/","jetpack-image-cdn":"jetpack_vendor/automattic/jetpack-image-cdn/","jetpack-import":"jetpack_vendor/automattic/jetpack-import/","jetpack-ip":"jetpack_vendor/automattic/jetpack-ip/","jetpack-jitm":"jetpack_vendor/automattic/jetpack-jitm/","jetpack-jwt":"jetpack_vendor/automattic/jetpack-jwt/","jetpack-licensing":"jetpack_vendor/automattic/jetpack-licensing/","jetpack-masterbar":"jetpack_vendor/automattic/jetpack-masterbar/","jetpack-menu-badges":"jetpack_vendor/automattic/jetpack-menu-badges/","jetpack-my-jetpack":"jetpack_vendor/automattic/jetpack-my-jetpack/","jetpack-newsletter":"jetpack_vendor/automattic/jetpack-newsletter/","jetpack-password-checker":"jetpack_vendor/automattic/jetpack-password-checker/","jetpack-paypal-payments":"jetpack_vendor/automattic/jetpack-paypal-payments/","jetpack-plugins-installer":"jetpack_vendor/automattic/jetpack-plugins-installer/","jetpack-podcast":"jetpack_vendor/automattic/jetpack-podcast/","jetpack-post-list":"jetpack_vendor/automattic/jetpack-post-list/","jetpack-post-media":"jetpack_vendor/automattic/jetpack-post-media/","jetpack-premium-analytics-pkg":"jetpack_vendor/automattic/jetpack-premium-analytics/","jetpack-protect-models":"jetpack_vendor/automattic/jetpack-protect-models/","jetpack-protect-status":"jetpack_vendor/automattic/jetpack-protect-status/","jetpack-publicize-pkg":"jetpack_vendor/automattic/jetpack-publicize/","jetpack-scan-page":"jetpack_vendor/automattic/jetpack-scan-page/","jetpack-search-pkg":"jetpack_vendor/automattic/jetpack-search/","jetpack-seo":"jetpack_vendor/automattic/jetpack-seo/","jetpack-stats-admin":"jetpack_vendor/automattic/jetpack-stats-admin/","jetpack-stats-pkg":"jetpack_vendor/automattic/jetpack-stats/","jetpack-sync":"jetpack_vendor/automattic/jetpack-sync/","jetpack-videopress-pkg":"jetpack_vendor/automattic/jetpack-videopress/","jetpack-waf":"jetpack_vendor/automattic/jetpack-waf/","jetpack-wp-abilities":"jetpack_vendor/automattic/jetpack-wp-abilities/","jetpack-wp-build-polyfills":"jetpack_vendor/automattic/jetpack-wp-build-polyfills/"}};
704//# sourceURL=wp-jp-i18n-loader-js-after
705</script>
vendor: 1 bytes, line 705
705
706<script id="wp-polyfill-js" src="https://c0.wp.com/c/7.1.2/wp-includes/js/dist/vendor/wp-polyfill.min.js"></script>
vendor: 1 bytes, line 706
706
707<script id="wp-url-js" src="https://c0.wp.com/c/7.1.2/wp-includes/js/dist/url.min.js"></script>
vendor: 1 bytes, line 707
707
708<script id="jetpack-instant-search-js-before">
709var JetpackInstantSearchOptions={"overlayOptions":{"colorTheme":"light","enableInfScroll":true,"enableFilteringOpensOverlay":true,"enablePostDate":true,"enableProductPrice":true,"enableSort":true,"highlightColor":"#FFC","overlayTrigger":"submit","resultFormat":"expanded","showPoweredBy":true,"defaultSort":"relevance","excludedPostTypes":[],"fallbackImageUrl":"","enableFallbackImage":false},"homeUrl":"https://freegistutorial.com","locale":"en-US","postsPerPage":4,"siteId":140500628,"searchSuggestionsEnabled":false,"postTypes":{"post":{"singular_name":"Post","name":"Posts"},"page":{"singular_name":"Page","name":"Pages"},"attachment":{"singular_name":"Media","name":"Media"}},"webpackPublicPath":"https://freegistutorial.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-search/build/instant-search/","isPhotonEnabled":true,"isFreePlan":true,"apiRoot":"https://freegistutorial.com/wp-json/","apiNonce":"9dcef93aa0","isPrivateSite":false,"isWpcom":false,"hasOverlayWidgets":true,"widgets":[{"filters":[{"name":"Categories","type":"taxonomy","taxonomy":"category","count":5,"widget_id":"jetpack-search-filters-1","filter_id":"taxonomy_0"},{"name":"Tags","type":"taxonomy","taxonomy":"post_tag","count":5,"widget_id":"jetpack-search-filters-1","filter_id":"taxonomy_1"},{"name":"Year","type":"date_histogram","count":5,"field":"post_date","interval":"year","widget_id":"jetpack-search-filters-1","filter_id":"date_histogram_2"}],"widget_id":"jetpack-search-filters-1"}],"widgetsOutsideOverlay":[],"hasNonSearchWidgets":false,"preventTrackingCookiesReset":false,"disableTracking":false,"aiAnswersEnabled":false,"aiMasterEnabled":true};
710//# sourceURL=jetpack-instant-search-js-before
711</script>
vendor: 1 bytes, line 711
711
712<script id="jetpack-instant-search-js" src="https://freegistutorial.com/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-search/build/instant-search/jp-search.js?minify=false&#038;ver=25d86678d0b48f702f8f"></script>
vendor: 1 bytes, line 712
712
713<script id="jp-tracks-js" src="//stats.wp.com/w.js?ver=202640"></script>
vendor: 1 bytes, line 713
713
714<script id="bootstrap-js" src="https://freegistutorial.com/wp-content/themes/envo-royal/assets/js/bootstrap.min.js?ver=3.3.7"></script>
vendor: 1 bytes, line 714
714
715<script id="hc-offcanvas-nav-js" src="https://freegistutorial.com/wp-content/themes/envo-royal/assets/js/hc-offcanvas-nav.min.js?ver=1.0.14"></script>
vendor: 1 bytes, line 715
715
716<script id="envo-royal-theme-js-js" src="https://freegistutorial.com/wp-content/themes/envo-royal/assets/js/customscript.js?ver=1.0.14"></script>
vendor: 1 bytes, line 716
716
717<script id="googlesitekit-events-provider-contact-form-7-js" src="https://freegistutorial.com/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-contact-form-7-fac2a8013ba5ba355cd0.js" defer></script>
vendor: 1 bytes, line 717
717
718<script id="googlesitekit-events-provider-content-events-js-before">
719window._googlesitekit = window._googlesitekit || {};
720window._googlesitekit.contentEvents = {"postID":4778,"isSinglePost":true,"hasVimeoEmbed":false};
721//# sourceURL=googlesitekit-events-provider-content-events-js-before
722</script>
vendor: 1 bytes, line 722
722
723<script id="googlesitekit-events-provider-content-events-js" src="https://freegistutorial.com/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-content-events-c7172f3fd0e4d5ad62ef.js" defer></script>
vendor: 1 bytes, line 723
723
724<script id="jetpack-stats-js-before">
725_stq = window._stq || [];
726_stq.push([ "view", {"v":"ext","blog":"140500628","post":"4778","tz":"0","srv":"freegistutorial.com","j":"1:16.2"} ]);
727_stq.push([ "clickTrackerInit", "140500628", "4778" ]);
728//# sourceURL=jetpack-stats-js-before
729</script>
vendor: 1 bytes, line 729
729
730<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 730
730
731<script defer id="akismet-frontend-js" src="https://freegistutorial.com/wp-content/plugins/akismet/_inc/akismet-frontend.js?ver=1787188949"></script>
vendor: 1 bytes, line 731
731
732<script id="wp-emoji-settings" type="application/json">
733{"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://freegistutorial.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}}
734</script>
vendor: 1 bytes, line 734
734
735<script type="module">
736/*! This file is auto-generated */
737var 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)))});
738//# sourceURL=https://freegistutorial.com/wp-includes/js/wp-emoji-loader.min.js
739</script>
739
740
741</body>
742</html>
743
744
745<!-- Page cached by LiteSpeed Cache 7.9.1 on 2026-10-03 14:31:02 -->

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.