CINXE.COM
Military | The Canadian Encyclopedia
<!DOCTYPE html> <html lang="en"> <head> <!-- Google Tag Manager --> <script async> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NT3GRKD'); </script> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NT3GRKD" height="0" width="0" style="display:none;visibility:hidden" ></iframe> </noscript> <!-- End Google Tag Manager --> <!-- Push user ID --> <script> if (document.querySelector('.mainUserSubMenu') !== null) { dataLayer.push({ 'userID': '' }); } </script> <script> const Laravel = { csrfToken: "z4hdxx8a52mO8TD5EgPNeVEAqPzFjmDFLFt8l5II", locale: "en" }; </script> <title>Military | The Canadian Encyclopedia</title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="https://www.thecanadianencyclopedia.ca/manifest.json"> <meta name="description" content="History, politics, arts, science & more: the Canadian Encyclopedia is your reference on Canada. Articles, timelines & resources for teachers, students & public."> <link rel="apple-touch-icon" sizes="57x57" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-57x57.png?v=f22552fe571739798798bb695565903f"> <link rel="apple-touch-icon" sizes="60x60" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-60x60.png?v=f417df6dda9ce41f908afc590778f94b"> <link rel="apple-touch-icon" sizes="72x72" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-72x72.png?v=3af0c2e4ca8c973438f91f44e7a58d6c"> <link rel="apple-touch-icon" sizes="76x76" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-76x76.png?v=41438835e152256cf9b311eb7eb116c0"> <link rel="apple-touch-icon" sizes="192x192" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-precomposed.png?v=6d047b2f33e6b90d2af0b41ac01b0566"> <link rel="apple-touch-icon" sizes="192x192" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon.png?v=6d047b2f33e6b90d2af0b41ac01b0566"> <link rel="apple-touch-icon" sizes="114x114" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-114x114.png?v=91501eda47ce85d33e0feae1630a4e99"> <link rel="apple-touch-icon" sizes="120x120" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-120x120.png?v=43adb2769c1827f1dda68db736544ec4"> <link rel="apple-touch-icon" sizes="144x144" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-144x144.png?v=670a8df278b4101e8bf081d7b9ebb258"> <link rel="apple-touch-icon" sizes="152x152" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-152x152.png?v=db581da4dde2d406e52a132691b14680"> <link rel="apple-touch-icon" sizes="180x180" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-180x180.png?v=8d4920caa59ad54fb454f2cd80ebfc1c"> <link rel="icon" type="image/png" sizes="192x192" href="https://www.thecanadianencyclopedia.ca/images/favicon/android-icon-192x192.png?v=6d047b2f33e6b90d2af0b41ac01b0566"> <link rel="icon" type="image/png" sizes="36x36" href="https://www.thecanadianencyclopedia.ca/images/favicon/android-icon-36x36.png?v=3e9842d534281da81a0f4b4c81a17592"> <link rel="icon" type="image/png" sizes="48x48" href="https://www.thecanadianencyclopedia.ca/images/favicon/android-icon-48x48.png?v=7eb74dc9409ece0737d81a8ba5841bf7"> <link rel="icon" type="image/png" sizes="72x72" href="https://www.thecanadianencyclopedia.ca/images/favicon/android-icon-72x72.png?v=3af0c2e4ca8c973438f91f44e7a58d6c"> <link rel="icon" type="image/png" sizes="36x36" href="https://www.thecanadianencyclopedia.ca/images/favicon/android-icon-36x36.png?v=3e9842d534281da81a0f4b4c81a17592"> <link rel="icon" type="image/png" sizes="44x44" href="https://www.thecanadianencyclopedia.ca/images/favicon/android-icon-44x44.png"> <link rel="icon" type="image/png" sizes="96x96" href="https://www.thecanadianencyclopedia.ca/images/favicon/favicon-96x96.png?v=a46206812744ada382bc23a1bc4f1357"> <link rel="icon" type="image/png" sizes="96x96" href="https://www.thecanadianencyclopedia.ca/images/favicon/favicon-96x96.png?v=a46206812744ada382bc23a1bc4f1357"> <link rel="icon" type="image/png" sizes="16x16" href="https://www.thecanadianencyclopedia.ca/images/favicon/favicon-16x16.png?v=ff43d9c7c67bb75a3d9a471a65e6724f"> <link rel="manifest" href="https://www.thecanadianencyclopedia.ca/images/favicon/manifest.json?v=de0c530598b698ec2dbe765b440b7479"> <meta name="msapplication-TileColor" content="#ffffff"> <meta name="msapplication-TileImage" content="/ms-icon-144x144.png')}}"> <meta name="theme-color" content="#ffffff"> <link rel="shortcut icon" href="https://www.thecanadianencyclopedia.ca/images/favicon/favicon.ico?v=45c5ae5e358dcde8acbbf3140859fb18" type="image/x-icon"> <link rel="icon" href="https://www.thecanadianencyclopedia.ca/images/favicon/favicon.ico?v=45c5ae5e358dcde8acbbf3140859fb18" type="image/x-icon"> <link rel="canonical" href="https://www.thecanadianencyclopedia.ca/en/browse/places/military"> <link rel="alternate" hreflang="fr" href="https://www.thecanadianencyclopedia.ca/fr/naviguer/places/militaire"> <!-- preload fonts --> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/publico/Publico-Roman.ttf?v=da5cf4834925266e3fe9373d7c20987a" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/publico/Publico-Bold.ttf?v=3ad7881260304548a929a8add091efad" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/publico/Publico-Italic.ttf?v=a670bc7591f940131b96c1427a8bfcf9" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/publico/Publico-BoldItalic.ttf?v=1e6ee343e8f0d8d4784e7adaf55be5ed" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/avenir/Avenir-Roman.ttf?v=c4ed2390b8880049113ca6b174e5393e" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/avenir/Avenir-Heavy.ttf?v=6880b7f440fee3d3d23778d295fda4fc" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/avenir/Avenir-Oblique.ttf?v=b934234a7cf41ebc3b0ed646c856d94a" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/avenir/Avenir-HeavyOblique.ttf?v=86f5c8cc80dbc9fdac444dacf0798808" as="font" type="font/ttf" crossorigin> <!-- end preload fonts --> <link rel="stylesheet" type="text/css" href="https://www.thecanadianencyclopedia.ca/css/styles.css?v=dfe06457fc4a004b32f7df5d0ce5899f"> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.20.0/ui/trumbowyg.min.css"> <script> // Polyfill if IE11 var isIE11 = !!window.MSInputMethodContext && !!document.documentMode; if (isIE11) { document.write('<script src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js"><\/script>'); } if ('serviceWorker' in navigator ) { window.addEventListener('load', function() { navigator.serviceWorker.register('/service-worker.js').then(function(registration) { // Registration was successful console.log('ServiceWorker registration successful with scope: ', registration.scope); }, function(err) { // registration failed :( console.log('ServiceWorker registration failed: ', err); }); }); } </script> <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script> </head> <body id="body" data-lang="en" class="haveSidebar en browsepage "> <script> const Laravel = { csrfToken: "z4hdxx8a52mO8TD5EgPNeVEAqPzFjmDFLFt8l5II", locale: "en" }; </script> <header id="header" class="header"> <nav class="nav" role="navigation"> <div class="nav-menu--top"> <div class="nav-logo--en"> <a aria-label="The Canadian Encyclopedia homepage" class="nav-logo__link" href="https://www.thecanadianencyclopedia.ca/en"> </a> </div> <button class="nav-icon--search js-search-tab" aria-label="Search in Canadian Encyclopedia"></button> <button id="nav-menu-toggle" class="nav-icon--hamburger-menu" aria-label="open main navigation"> <div class="icon-container"> <span class="top"></span> <span class="middle"></span> <span class="bottom"></span> </div> </button> </div> <div id="nav-mid" class="nav-menu--mid"> <section class="nav-menu--mid__item dropdown-group"> <button class="nav-menu--mid__item__heading dropdown-toggler" aria-haspopup="true" > <span class="top-level-link"> topics </span> <span class="toggle-icon"></span> </button> <div class="sub-menu--topics dropdown-body" aria-expanded="false"> <div class="sub-menu__container"> <section id="People" class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <div class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/people" aria-label="Browse topic: People"> People </a> <button class="sub-menu__button dropdown-toggler accordion-toggler" aria-label="expand section People"> <span class="toggle-icon"></span> </button> </div> <ul class="sub-menu nested dropdown-body" aria-expanded="false"> </ul> </section> <section id="Places" class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <div class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/places" aria-label="Browse topic: Places"> Places </a> <button class="sub-menu__button dropdown-toggler accordion-toggler" aria-label="expand section Places"> <span class="toggle-icon"></span> </button> </div> <ul class="sub-menu nested dropdown-body" aria-expanded="false"> </ul> </section> <section id="Things" class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <div class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/things" aria-label="Browse topic: Things"> Things </a> <button class="sub-menu__button dropdown-toggler accordion-toggler" aria-label="expand section Things"> <span class="toggle-icon"></span> </button> </div> <ul class="sub-menu nested dropdown-body" aria-expanded="false"> </ul> </section> </div> </div> </section> <section class="nav-menu--mid__item dropdown-group"> <button class="nav-menu--mid__item__heading dropdown-toggler" aria-haspopup="true" > <span class="top-level-link"> Collections </span> <span class="toggle-icon"></span> </button> <div class="sub-menu--cta dropdown-body" aria-expanded="false"> <div class="sub-menu__container"> <ul class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/collections"> All Collections </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/the-memory-project"> The Memory Project </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/cdc"> Canada During Covid </a> </li> </ul> <div class="sub-menu__image"> <div class="image-container"> <img src="https://d14fiu1i7ba797.cloudfront.net/950x479/MemoryProject/TCECollectionArchiveCollage-2.png" data-src="https://d14fiu1i7ba797.cloudfront.net/950x479/MemoryProject/TCECollectionArchiveCollage-2.png" alt="" /> </div> <a href="https://www.thecanadianencyclopedia.ca/en/collection/the-memory-project-archive-collection" class="sub-menu__image__link"> Explore the The Memory Project Archive collection <span class="link-arrow"></span> </a> </div> </div> </div> </section> <section class="nav-menu--mid__item dropdown-group"> <button class="nav-menu--mid__item__heading dropdown-toggler" aria-haspopup="true" > <span class="top-level-link"> Educators </span> <span class="toggle-icon"></span> </button> <div class="sub-menu--cta dropdown-body" aria-expanded="false"> <div class="sub-menu__container"> <ul class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/educators#education-guides"> Education Guides </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/educators#primary-sources"> Primary Sources </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/educators#interactive-resources"> Interactive Resources </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/quiz/cc-quiz-citizenship"> The Challenge </a> </li> </ul> <div class="sub-menu__image"> <div class="image-container"> <img src="https://d14fiu1i7ba797.cloudfront.net/950x579/cc_43.png" data-src="https://d14fiu1i7ba797.cloudfront.net/950x579/cc_43.png" alt="" /> </div> <a href="https://www.thecanadianencyclopedia.ca/en/collection/citizenship" class="sub-menu__image__link"> Explore the Citizenship Challenge collection <span class="link-arrow"></span> </a> </div> </div> </div> </section> <section class="nav-menu--mid__item dropdown-group"> <button class="nav-menu--mid__item__heading dropdown-toggler" aria-haspopup="true" > <span class="top-level-link"> Timelines </span> <span class="toggle-icon"></span> </button> <div class="sub-menu--cta dropdown-body" aria-expanded="false"> <div class="sub-menu__container"> <ul class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/timelines"> All Timelines </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/timelines/people"> People </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/timelines/places"> Places </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/timelines/things"> Things </a> </li> </ul> <div class="sub-menu__image"> <div class="image-container"> <img src="https://d14fiu1i7ba797.cloudfront.net/950x579/media/media/49936680-e046-4501-8593-85b8bc94d071.jpg" data-src="https://d14fiu1i7ba797.cloudfront.net/950x579/media/media/49936680-e046-4501-8593-85b8bc94d071.jpg" alt=""/> </div> <a href="https://www.thecanadianencyclopedia.ca/en/timeline/lgbtq2" class="sub-menu__image__link">Explore the 2SLGBTQ+ History timeline <span class="link-arrow" aria-hidden="true"></span> </a> </div> </div> </div> </section> <section class="nav-menu--mid__item dropdown-group"> <button class="nav-menu--mid__item__heading dropdown-toggler" aria-haspopup="true" > <span class="top-level-link"> Quizzes </span> <span class="toggle-icon"></span> </button> <div class="sub-menu--cta dropdown-body" aria-expanded="false"> <div class="sub-menu__container"> <ul class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/quizzes"> Quizzes </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/quiz/cc-quiz-citizenship"> The Challenge </a> </li> </ul> <div class="sub-menu__image"> <div class="image-container"> <img src="https://d14fiu1i7ba797.cloudfront.net/950x579/can_quiz.png" data-src="https://d14fiu1i7ba797.cloudfront.net/950x579/can_quiz.png" alt=""/> </div> <a href="https://www.thecanadianencyclopedia.ca/en/quiz/timeline" class="sub-menu__image__link">Timeline <span class="link-arrow"></span> </a> </div> </div> </div> </section> <button class="nav-icon--search js-search-tab" aria-label="Search in Canadian Encyclopedia"></button> </div> <ul id="nav-low" class="nav-menu--low"> <li class="nav-menu--low__item"> <a class="articleNavPopupEvent btn-login nav-link" href="#" data-target="popup-login" data-toggle="modal" aria-haspopup="dialog"> Sign in </a> </li> <li class="nav-menu--low__item"> <a class="nav-link help-btn" href="/en/about/faq" id="nav-help"> <i class="i-help"></i>Help </a> </li> <li class="nav-menu--low__item--btn"> <a class="b b-sm b-monochrome b-icon-heart" href="https://www.thecanadianencyclopedia.ca/en/donate" target="_blank"> Donate </a> </li> <li class="nav-menu--low__item--lang-toggle"> <a class="nav-link" href="https://www.thecanadianencyclopedia.ca/fr/naviguer/places/militaire" aria-label="Toggle site language">fr</a> </li> </ul> </nav> </header> <div id="search" class="searchContainer" > <div class="searchPanel"> <div class="searchPanel-head"> <img src="https://www.thecanadianencyclopedia.ca/images/logo-tce.svg?v=96550f8de20f4537bc4ad37b01dff7f1" alt="The Canadian Encyclopedia"> <h2 class="searchPanel-title">Search The Canadian Encyclopedia</h2> </div> <div class="searchPanel-input-wrap"> <form id="form-search" name="form-search" method="get" data-action="https://www.thecanadianencyclopedia.ca/en/search"> <input data-getsearchroute="https://www.thecanadianencyclopedia.ca/en/json/search" name="query" type="text" class="input-search input-xl input-fullSpan searchPanel-input" id="inputSearch" /> <button class="searchPanel-searchBtn"> <img src="https://www.thecanadianencyclopedia.ca/images/i-search.svg?v=a1e99ea3dd07831352832b022428584e" alt="Search"> </button> <button class="searchPanel-exit"> <img src="https://www.thecanadianencyclopedia.ca/images/i-exit.svg?v=2601c4155c28e62e1eb2ebc7de9bd1ee" alt="Exit search"> </button> </form> <ul class="search-results"> </ul> </div> <p aria-hidden="true" role="alert" class="searchPanel-errorMsg">Enter your search term</p> <div></div> </div> </div> <div id="popup-login" class="modal"> <div class="popup-wrapper"> <div class="popup-content"> <div class="popup-connect"> <h2 class="popup-title">Login</h2> <form method="POST" action="https://www.thecanadianencyclopedia.ca/en/members" accept-charset="UTF-8" id="tceLogin" class="form"><input name="_token" type="hidden" value="z4hdxx8a52mO8TD5EgPNeVEAqPzFjmDFLFt8l5II"> <div class="input-group"> <div class="input-group"> <input class="form-login-email form-control input input-fullSpan" placeholder="Email" name="email" type="email" value=""> <span class="glyphicon glyphicon-envelope form-control-feedback"></span> </div> <div class="input-group"> <input class="form-login-password form-control form-password input input-fullSpan" placeholder="Password" name="password" type="password" value=""> <span class="glyphicon glyphicon-envelope form-control-feedback"></span> </div> </div> <div class="js-login-error error"></div> <div class="popup-login-option"> <div class="popup-helpers-container"> <div class="form-remember"> <input name="remember_me" type="checkbox" value="1"> <label for="remember_me">Remember me</label> </div> <div class="form-forgot-pass"> <a href="https://www.thecanadianencyclopedia.ca/auth/password/reset" class="b-link">I forgot my password</a><br> </div> </div> <input class="b b-md b-invert btn-login-submit" type="submit" value="Submit"> <p class="text-line">or</p> <a href="https://www.thecanadianencyclopedia.ca/auth/facebook" class="btn btn-facebook"><img src="https://www.thecanadianencyclopedia.ca/images/i-facebook-white.svg?v=3decbb62f20c49bf2a86d220cbf213d8" alt="Share on Facebook" title="Share on Facebook"> Login With Facebook</a> <a href="https://www.thecanadianencyclopedia.ca/auth/twitter" class="btn btn-twitter"><img src="https://www.thecanadianencyclopedia.ca/images/i-twitter-x-white.svg?v=762dd4e2da316070386a19085588add2" alt="Share on X" title="Share on X"> Login With X</a> </div> </form> </div> <div class="popup-body login-popup-body"> <a class="popup-close" data-dismiss="modal"></a> <h3>Why sign up?</h3> <p>Signing up enhances your TCE experience with the ability to save items to your personal reading list, and access the interactive map.</p> <a href="https://www.thecanadianencyclopedia.ca/en/members/register" class="b b-md b-primary">Create Account </a> </div> </div> </div> </div> <div class="sidebarGrid"> <div class="sidebarContainerDesktop"> <aside class="sb-anchor sb-browse"> <input type="hidden" class="sidebarActiveElem" value='["4d56dfcd-b211-4658-966b-aa7f9f1855f9","ea0c9ca1-7817-405d-8b07-8ac5393038cd"]'> <sidebar sb-header="Browse by category"> <div class='sb-cat-top sb-group' data-id='people'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people'><span>People</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-group' data-id='arts-culture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture'><span>Arts & Culture</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='architects-builders-planners'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/architects-builders-planners'><span>Architects, Builders & Planners</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='artists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/artists'><span>Artists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='classical-musicians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/classical-musicians'><span>Classical Musicians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='composers-and-conductors'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/composers-and-conductors'><span>Composers and Conductors</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='educators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/educators'><span>Educators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='film-television'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/film-television'><span>Film & Television</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='food-cuisine'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/food-cuisine'><span>Food/Cuisine</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='history'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/history'><span>History</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='minorities-in-the-arts-diverse-communities'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/minorities-in-the-arts-diverse-communities'><span>Minorities in the Arts/ Diverse Communities</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='music-educators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/music-educators'><span>Music Educators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='music-groups'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/music-groups'><span>Music Groups</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='music-industry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/music-industry'><span>Music Industry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='musicians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/musicians'><span>Musicians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='performers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/performers'><span>Performers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='radio'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/radio'><span>Radio</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='singers-songwriters'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/singers-songwriters'><span>Singers & Songwriters</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='theatre'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/theatre'><span>Theatre</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/women'><span>Women</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='writers-academics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/writers-academics'><span>Writers & Academics</span></a></div></div></div><div class='sb-subcat sb-group' data-id='business-economics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics'><span>Business & Economics</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='businessmen'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics/businessmen'><span>Businessmen</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='businesswomen'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics/businesswomen'><span>Businesswomen</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='economists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics/economists'><span>Economists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='entrepreneurs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics/entrepreneurs'><span>Entrepreneurs</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='industry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics/industry'><span>Industry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='philanthropists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics/philanthropists'><span>Philanthropists</span></a></div></div></div><div class='sb-subcat sb-group' data-id='communities-sociology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology'><span>Communities & Sociology</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='american-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/american-canadians'><span>American Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='arab-and-middle-east-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/arab-and-middle-east-canadians'><span>Arab and Middle-East Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='asian-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/asian-canadians'><span>Asian Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='black-and-african-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/black-and-african-canadians'><span>Black and African Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='education'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/education'><span>Education</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='european-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/european-canadians'><span>European Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='faith-based-communities'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/faith-based-communities'><span>Faith-based Communities</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='francophones'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/francophones'><span>Francophones</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='historical-figures'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/historical-figures'><span>Historical Figures</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='immigrants-and-refugees'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/immigrants-and-refugees'><span>Immigrants and Refugees</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='indigenous-peoples'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/indigenous-peoples'><span>Indigenous Peoples</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lgbtq2s'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/lgbtq2s'><span>LGBTQ2S</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='latin-american-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/latin-american-canadians'><span>Latin American Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='leaders-activists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/leaders-activists'><span>Leaders & Activists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/women'><span>Women</span></a></div></div></div><div class='sb-subcat sb-group' data-id='education'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education'><span>Education</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='archivists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/archivists'><span>Archivists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='curators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/curators'><span>Curators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='historians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/historians'><span>Historians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='indigenous-peoples'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/indigenous-peoples'><span>Indigenous Peoples</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lgbtq2s'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/lgbtq2s'><span>LGBTQ2S</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='teachers-educators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/teachers-educators'><span>Teachers & Educators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/women'><span>Women</span></a></div></div></div><div class='sb-subcat sb-group' data-id='history-historical-figures'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures'><span>History/Historical Figures</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='atlantic-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/atlantic-canada'><span>Atlantic Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='confederation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/confederation'><span>Confederation</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='explorers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/explorers'><span>Explorers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='fur-trade'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/fur-trade'><span>Fur Trade</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='indigenous-people'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/indigenous-people'><span>Indigenous People</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lower-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/lower-canada'><span>Lower Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='military'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/military'><span>Military</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='new-france'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/new-france'><span>New France</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='upper-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/upper-canada'><span>Upper Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='western-and-northwestern-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/western-and-northwestern-canada'><span>Western and Northwestern Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/women'><span>Women</span></a></div></div></div><div class='sb-subcat sb-group' data-id='military'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military'><span>Military</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='air-force'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/air-force'><span>Air Force</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='army'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/army'><span>Army</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-asian-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/mp-asian-canadians'><span>Asian Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='black-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/black-canadians'><span>Black Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='british-colonial-forces'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/british-colonial-forces'><span>British Colonial Forces</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='colonial'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/colonial'><span>Colonial</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='first-world-war'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/first-world-war'><span>First World War</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='indigenous-peoples'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/indigenous-peoples'><span>Indigenous Peoples</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='korean-war'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/korean-war'><span>Korean War</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='medical-personnel'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/medical-personnel'><span>Medical Personnel</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='navy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/navy'><span>Navy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='north-west-rebellion'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/north-west-rebellion'><span>North-West Rebellion</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='peacekeeping-and-the-united-nations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/peacekeeping-and-the-united-nations'><span>Peacekeeping and the United Nations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-prisoners-of-war'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/mp-prisoners-of-war'><span>Prisoners of War</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='second-world-war'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/second-world-war'><span>Second World War</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='south-african-war'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/south-african-war'><span>South African War</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='victoria-cross-recipients'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/victoria-cross-recipients'><span>Victoria Cross Recipients</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-war-brides'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/mp-war-brides'><span>War Brides</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='war-in-afghanistan'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/war-in-afghanistan'><span>War in Afghanistan</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/women'><span>Women</span></a></div></div></div><div class='sb-subcat sb-group' data-id='nature-geography'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography'><span>Nature & Geography</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='biologists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/biologists'><span>Biologists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='chemists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/chemists'><span>Chemists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='earth-scientists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/earth-scientists'><span>Earth scientists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='environmentalists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/environmentalists'><span>Environmentalists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='explorers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/explorers'><span>Explorers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='geographers-cartographers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/geographers-cartographers'><span>Geographers & Cartographers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='physicists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/physicists'><span>Physicists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='zoologists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/zoologists'><span>Zoologists</span></a></div></div></div><div class='sb-subcat sb-group' data-id='politics-law'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law'><span>Politics & Law</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='civil-servants'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/civil-servants'><span>Civil Servants</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='commissioners'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/commissioners'><span>Commissioners</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='criminals-and-outlaws'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/criminals-and-outlaws'><span>Criminals and Outlaws</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='diplomats-ambassadors'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/diplomats-ambassadors'><span>Diplomats & Ambassadors</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='governor-generals'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/governor-generals'><span>Governor Generals</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='indigenous-people'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/indigenous-people'><span>Indigenous People</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='judges'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/judges'><span>Judges</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='labour-leaders'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/labour-leaders'><span>Labour Leaders</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='law-enforcement'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/law-enforcement'><span>Law Enforcement</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lawyers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/lawyers'><span>Lawyers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lieutenant-governors'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/lieutenant-governors'><span>Lieutenant-Governors</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='political-scientists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/political-scientists'><span>Political Scientists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='politicians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/politicians'><span>Politicians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='premiers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/premiers'><span>Premiers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='prime-ministers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/prime-ministers'><span>Prime Ministers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='rebels-and-resistance-leaders'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/rebels-and-resistance-leaders'><span>Rebels and Resistance Leaders</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='reformers-activists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/reformers-activists'><span>Reformers & Activists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='royals'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/royals'><span>Royals</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='senators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/senators'><span>Senators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='spies'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/spies'><span>Spies</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/women'><span>Women</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='wrongly-convicted'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/wrongly-convicted'><span>Wrongly Convicted</span></a></div></div></div><div class='sb-subcat sb-group' data-id='science-technology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology'><span>Science & Technology</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='architects-builders-planners'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/architects-builders-planners'><span>Architects, Builders & Planners</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='astronauts'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/astronauts'><span>Astronauts</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='aviators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/aviators'><span>Aviators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='biologists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/biologists'><span>Biologists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='chemists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/chemists'><span>Chemists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='computer-scientists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/computer-scientists'><span>Computer Scientists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='earth-scientists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/earth-scientists'><span>Earth scientists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='engineers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/engineers'><span>Engineers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='explorers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/explorers'><span>Explorers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='geographers-cartographers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/geographers-cartographers'><span>Geographers & Cartographers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='health-scientists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/health-scientists'><span>Health scientists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='healthcare-professionals'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/healthcare-professionals'><span>Healthcare professionals</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='historical-figures'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/historical-figures'><span>Historical figures</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='inventors-and-innovators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/inventors-and-innovators'><span>Inventors and Innovators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mathematicians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/mathematicians'><span>Mathematicians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='minorities-in-stem'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/minorities-in-stem'><span>Minorities in STEM</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='paleontologists-archaeologists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/paleontologists-archaeologists'><span>Paleontologists & Archaeologists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='physicists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/physicists'><span>Physicists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='reformers-activists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/reformers-activists'><span>Reformers & Activists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='social-scientists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/social-scientists'><span>Social scientists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women-in-stem'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/women-in-stem'><span>Women in STEM</span></a></div></div></div><div class='sb-subcat sb-group' data-id='sports-recreation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/sports-recreation'><span>Sports & Recreation</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='athletes'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/sports-recreation/athletes'><span>Athletes</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='coaches-and-managers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/sports-recreation/coaches-and-managers'><span>Coaches and Managers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='competitors'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/sports-recreation/competitors'><span>Competitors</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='minorities'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/sports-recreation/minorities'><span>Minorities</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/sports-recreation/women'><span>Women</span></a></div></div></div></div><div class='sb-cat-top sb-group' data-id='places'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places'><span>Places</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-group' data-id='arts-culture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/arts-culture'><span>Arts & Culture</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='architecture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/arts-culture/architecture'><span>Architecture</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='halls-theatres'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/arts-culture/halls-theatres'><span>Halls & Theatres</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='museums-galleries-archives'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/arts-culture/museums-galleries-archives'><span>Museums, Galleries & Archives</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='schools-institutions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/arts-culture/schools-institutions'><span>Schools & Institutions</span></a></div></div></div><div class='sb-subcat sb-group' data-id='buildings-monuments'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments'><span>Buildings & Monuments</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='architectural-landmarks'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/architectural-landmarks'><span>Architectural Landmarks</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='buildings'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/buildings'><span>Buildings</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='cenotaphs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/cenotaphs'><span>Cenotaphs</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='hospitals'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/hospitals'><span>Hospitals</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='memorials'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/memorials'><span>Memorials</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='monuments'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/monuments'><span>Monuments</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='province'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/province'><span>Province</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='stadiums'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/stadiums'><span>Stadiums</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='territory'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/territory'><span>Territory</span></a></div></div></div><div class='sb-subcat sb-group' data-id='cities-populated-places'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places'><span>Cities & Populated Places</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='cities'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places/cities'><span>Cities</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='districts-and-municipalities'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places/districts-and-municipalities'><span>Districts and municipalities</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='indigenous-reserves-settlements'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places/indigenous-reserves-settlements'><span>Indigenous Reserves & Settlements</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='neighbourhoods'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places/neighbourhoods'><span>Neighbourhoods</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='towns'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places/towns'><span>Towns</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='villages'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places/villages'><span>Villages</span></a></div></div></div><div class='sb-subcat sb-group' data-id='geographical-features'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features'><span>Geographical features</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='boundaries-geographical-names'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/boundaries-geographical-names'><span>Boundaries & Geographical Names</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='capes-peninsulas'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/capes-peninsulas'><span>Capes & Peninsulas</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='coastal-regions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/coastal-regions'><span>Coastal Regions</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='inland-waters'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/inland-waters'><span>Inland Waters</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='islands'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/islands'><span>Islands</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lakes-reservoirs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/lakes-reservoirs'><span>Lakes & Reservoirs</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='land-features'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/land-features'><span>Land Features</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='landforms'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/landforms'><span>Landforms</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mountains'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/mountains'><span>Mountains</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='oceans'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/oceans'><span>Oceans</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='passes-trails'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/passes-trails'><span>Passes & Trails</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='peninsulas'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/peninsulas'><span>Peninsulas</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='prairie'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/prairie'><span>Prairie</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='regions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/regions'><span>Regions</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='rivers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/rivers'><span>Rivers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='valleys'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/valleys'><span>Valleys</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='waterfalls'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/waterfalls'><span>Waterfalls</span></a></div></div></div><div class='sb-subcat sb-group' data-id='historic-sites'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites'><span>Historic sites</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='archeological-sites'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/archeological-sites'><span>Archeological sites</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='exploration'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/exploration'><span>Exploration</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='heritage-buildings'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/heritage-buildings'><span>Heritage buildings</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='national-historic-sites'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/national-historic-sites'><span>National historic sites</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='provincial-historic-sites'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/provincial-historic-sites'><span>Provincial historic sites</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='traditional-territories'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/traditional-territories'><span>Traditional Territories</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='unesco-world-heritage-sites'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/unesco-world-heritage-sites'><span>UNESCO World Heritage Sites</span></a></div></div></div><div class='sb-subcat sb-group' data-id='military'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/military'><span>Military</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='battlefields'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/military/battlefields'><span>Battlefields</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='canadian-forces-bases'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/military/canadian-forces-bases'><span>Canadian Forces Bases</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='memorials'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/military/memorials'><span>Memorials</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='monuments'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/military/monuments'><span>Monuments</span></a></div></div></div><div class='sb-subcat sb-group' data-id='parks-nature-reserves'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves'><span>Parks & Nature Reserves</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='canals-waterways'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves/canals-waterways'><span>Canals & Waterways</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='city-parks'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves/city-parks'><span>City parks</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='national-parks'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves/national-parks'><span>National parks</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='nature-reserves'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves/nature-reserves'><span>Nature Reserves</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='provincial-parks'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves/provincial-parks'><span>Provincial parks</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='unesco-world-biosphere-reserves'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves/unesco-world-biosphere-reserves'><span>UNESCO World Biosphere Reserves</span></a></div></div></div><div class='sb-subcat sb-group' data-id='provinces-territories'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories'><span>Provinces & Territories</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='alberta'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/alberta'><span>Alberta</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='british-columbia'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/british-columbia'><span>British Columbia</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='manitoba'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/manitoba'><span>Manitoba</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='new-brunswick'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/new-brunswick'><span>New Brunswick</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='newfoundland-and-labrador'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/newfoundland-and-labrador'><span>Newfoundland and Labrador</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='northwest-territories'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/northwest-territories'><span>Northwest Territories</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='nova-scotia'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/nova-scotia'><span>Nova Scotia</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='nunavut'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/nunavut'><span>Nunavut</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='ontario'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/ontario'><span>Ontario</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='prince-edward-island'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/prince-edward-island'><span>Prince Edward Island</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='quebec'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/quebec'><span>Quebec</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='saskatchewan'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/saskatchewan'><span>Saskatchewan</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='yukon-territory'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/yukon-territory'><span>Yukon Territory</span></a></div></div></div><div class='sb-subcat sb-group' data-id='transportation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation'><span>Transportation</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='airports'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation/airports'><span>Airports</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='bridges'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation/bridges'><span>Bridges</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='passes-trails'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation/passes-trails'><span>Passes & Trails</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='railroad'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation/railroad'><span>Railroad</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='roads-highways'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation/roads-highways'><span>Roads & Highways</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='waterways-docks'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation/waterways-docks'><span>Waterways & Docks</span></a></div></div></div></div><div class='sb-cat-top sb-group' data-id='things'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things'><span>Things</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-group' data-id='arts-culture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture'><span>Arts & Culture</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='architecture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/architecture'><span>Architecture</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='awards'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/awards'><span>Awards</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='communications'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/communications'><span>Communications</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='culture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/culture'><span>Culture</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='dance'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/dance'><span>Dance</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='entertainment'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/entertainment'><span>Entertainment</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='festivals'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/festivals'><span>Festivals</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='food'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/food'><span>Food</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='literature'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/literature'><span>Literature</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='music'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/music'><span>Music</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='organizations-movements'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/organizations-movements'><span>Organizations & Movements</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='performances'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/performances'><span>Performances</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='religion-philosophy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/religion-philosophy'><span>Religion & Philosophy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='visual-art'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/visual-art'><span>Visual Art</span></a></div></div></div><div class='sb-subcat sb-group' data-id='business-economics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics'><span>Business & Economics</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='companies'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/companies'><span>Companies</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='economy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/economy'><span>Economy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='finance'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/finance'><span>Finance</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='industry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/industry'><span>Industry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='laws-programs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/laws-programs'><span>Laws & Programs</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='money'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/money'><span>Money</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='policy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/policy'><span>Policy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='public-utility'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/public-utility'><span>Public Utility</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='taxation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/taxation'><span>Taxation</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='trade'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/trade'><span>Trade</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='unions-labour'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/unions-labour'><span>Unions & Labour</span></a></div></div></div><div class='sb-subcat sb-group' data-id='communities-sociology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology'><span>Communities & Sociology</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='crime'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/crime'><span>Crime</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='demography'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/demography'><span>Demography</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='disasters'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/disasters'><span>Disasters</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='diverse-communities'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/diverse-communities'><span>Diverse Communities</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='holidays-commemoration'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/holidays-commemoration'><span>Holidays & Commemoration</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='immigration'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/immigration'><span>Immigration</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='languages'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/languages'><span>Languages</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='organizations-movements'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/organizations-movements'><span>Organizations & Movements</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='prejudice'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/prejudice'><span>Prejudice</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='protests'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/protests'><span>Protests</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='religion'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/religion'><span>Religion</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='royal-commissions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/royal-commissions'><span>Royal Commissions</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='social-events'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/social-events'><span>Social Events</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='social-issues'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/social-issues'><span>Social Issues</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='social-laws-programs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/social-laws-programs'><span>Social Laws & Programs</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='social-trends'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/social-trends'><span>Social Trends</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='sociology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/sociology'><span>Sociology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='unions-labour-organizations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/unions-labour-organizations'><span>Unions & Labour Organizations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='urban-affairs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/urban-affairs'><span>Urban Affairs</span></a></div></div></div><div class='sb-subcat sb-group' data-id='education'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education'><span>Education</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='educational-institutions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/educational-institutions'><span>Educational Institutions</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='interactive-resources'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/interactive-resources'><span>Interactive Resources</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='libraries-library-science'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/libraries-library-science'><span>Libraries & Library Science</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='music-education'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/music-education'><span>Music Education</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='primary-sources'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/primary-sources'><span>Primary Sources</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='teaching-and-learning'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/teaching-and-learning'><span>Teaching and Learning</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='types-of-education'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/types-of-education'><span>Types of Education</span></a></div></div></div><div class='sb-subcat sb-group' data-id='history'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history'><span>History</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='atlantic-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/atlantic-canada'><span>Atlantic Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='business'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/business'><span>Business</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='classics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/classics'><span>Classics</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='colonies'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/colonies'><span>Colonies</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='commemorations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/commemorations'><span>Commemorations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='constitution'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/constitution'><span>Constitution</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='disasters'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/disasters'><span>Disasters</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='economic'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/economic'><span>Economic</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='exploration'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/exploration'><span>Exploration</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='firsts'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/firsts'><span>Firsts</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='folklore'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/folklore'><span>Folklore</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='historic-sites'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/historic-sites'><span>Historic Sites</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='historical-theses'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/historical-theses'><span>Historical Theses</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='industry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/industry'><span>Industry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lower-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/lower-canada'><span>Lower Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='medals-emblems-heraldry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/medals-emblems-heraldry'><span>Medals, Emblems & Heraldry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='military'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/military'><span>Military</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='national'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/national'><span>National</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='new-france'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/new-france'><span>New France</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='politics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/politics'><span>Politics</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='provincial'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/provincial'><span>Provincial</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='rebellions-riots'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/rebellions-riots'><span>Rebellions & Riots</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='regional'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/regional'><span>Regional</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='social-history'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/social-history'><span>Social History</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='territorial'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/territorial'><span>Territorial</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='treaties'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/treaties'><span>Treaties</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='upper-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/upper-canada'><span>Upper Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='western-and-northwestern-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/western-and-northwestern-canada'><span>Western and Northwestern Canada</span></a></div></div></div><div class='sb-subcat sb-group' data-id='military'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military'><span>Military</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='mp-air-force'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-air-force'><span>Air Force</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-aircraft'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-aircraft'><span>Aircraft</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-armaments'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-armaments'><span>Armaments</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='armed-forces'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/armed-forces'><span>Armed Forces</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-armoured-vehicles'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-armoured-vehicles'><span>Armoured Vehicles</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-army'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-army'><span>Army</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='colonial'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/colonial'><span>Colonial</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='commemorations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/commemorations'><span>Commemorations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='defence'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/defence'><span>Defence</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-documents'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-documents'><span>Documents</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='forts'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/forts'><span>Forts</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='history'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/history'><span>History</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-medals-decorations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-medals-decorations'><span>Medals & Decorations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='military-engagements'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/military-engagements'><span>Military Engagements</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-navy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-navy'><span>Navy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='organizations-and-regiments'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/organizations-and-regiments'><span>Organizations and Regiments</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='peacekeeping'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/peacekeeping'><span>Peacekeeping</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-ships'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-ships'><span>Ships</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-socializing'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-socializing'><span>Socializing</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='technology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/technology'><span>Technology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='treaties'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/treaties'><span>Treaties</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-trench-warfare'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-trench-warfare'><span>Trench Warfare</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='wars'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/wars'><span>Wars</span></a></div></div></div><div class='sb-subcat sb-group' data-id='nature-geography'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography'><span>Nature & Geography</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='agriculture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/agriculture'><span>Agriculture</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='animals'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/animals'><span>Animals</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='climate'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/climate'><span>Climate</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='disasters-extreme-weather'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/disasters-extreme-weather'><span>Disasters/Extreme Weather</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='environment'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/environment'><span>Environment</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='geology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/geology'><span>Geology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='hydrology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/hydrology'><span>Hydrology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='land-features'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/land-features'><span>Land Features</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mining-and-metallurgy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/mining-and-metallurgy'><span>Mining and Metallurgy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='natural-resources'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/natural-resources'><span>Natural resources</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='plants'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/plants'><span>Plants</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='transportation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/transportation'><span>Transportation</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='urban-affairs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/urban-affairs'><span>Urban Affairs</span></a></div></div></div><div class='sb-subcat sb-group' data-id='politics-law'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law'><span>Politics & Law</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='acts-statutes'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/acts-statutes'><span>Acts & Statutes</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='agents-organizations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/agents-organizations'><span>Agents & Organizations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='charters'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/charters'><span>Charters</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='commissions-reports'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/commissions-reports'><span>Commissions & Reports</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='courts'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/courts'><span>Courts</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='federal-institutions-and-offices'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/federal-institutions-and-offices'><span>Federal Institutions and Offices</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='government'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/government'><span>Government</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='immigration'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/immigration'><span>Immigration</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='international-affairs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/international-affairs'><span>International Affairs</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='international-organizations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/international-organizations'><span>International Organizations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='judiciary'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/judiciary'><span>Judiciary</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='law-cases'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/law-cases'><span>Law Cases</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='law-enforcement'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/law-enforcement'><span>Law Enforcement</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='law-and-policy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/law-and-policy'><span>Law and Policy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='legislation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/legislation'><span>Legislation</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='municipal-institutions-and-offices'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/municipal-institutions-and-offices'><span>Municipal Institutions and Offices</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='parliamentary-institutions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/parliamentary-institutions'><span>Parliamentary Institutions</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='police-and-security'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/police-and-security'><span>Police and Security</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='political-events'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/political-events'><span>Political Events</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='political-statutes'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/political-statutes'><span>Political Statutes</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='protests-and-strikes'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/protests-and-strikes'><span>Protests and Strikes</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='provincial-institutions-and-offices'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/provincial-institutions-and-offices'><span>Provincial Institutions and Offices</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='public-policy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/public-policy'><span>Public Policy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='rights'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/rights'><span>Rights</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='treaties'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/treaties'><span>Treaties</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='types-of-law'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/types-of-law'><span>Types of Law</span></a></div></div></div><div class='sb-subcat sb-group' data-id='science-technology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology'><span>Science & Technology</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='biology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/biology'><span>Biology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='chemistry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/chemistry'><span>Chemistry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='climate-and-climatology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/climate-and-climatology'><span>Climate and Climatology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='communications'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/communications'><span>Communications</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='computer-science'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/computer-science'><span>Computer Science</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='demography'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/demography'><span>Demography</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='earth-sciences'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/earth-sciences'><span>Earth Sciences</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='energy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/energy'><span>Energy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='engineering'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/engineering'><span>Engineering</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='health-medicine'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/health-medicine'><span>Health & Medicine</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='hydrology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/hydrology'><span>Hydrology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='industry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/industry'><span>Industry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='institutions-and-organizations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/institutions-and-organizations'><span>Institutions and Organizations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='inventions-and-innovations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/inventions-and-innovations'><span>Inventions and Innovations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mathematics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/mathematics'><span>Mathematics</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mining-and-metallurgy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/mining-and-metallurgy'><span>Mining and Metallurgy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='physics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/physics'><span>Physics</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='pseudo-science'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/pseudo-science'><span>Pseudo-Science</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='technology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/technology'><span>Technology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='tools'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/tools'><span>Tools</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='transportation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/transportation'><span>Transportation</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='weights-measures'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/weights-measures'><span>Weights & Measures</span></a></div></div></div><div class='sb-subcat sb-group' data-id='sports-recreation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation'><span>Sports & Recreation</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='awards-and-trophies'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/awards-and-trophies'><span>Awards and Trophies</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='events-and-competitions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/events-and-competitions'><span>Events and Competitions</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='halls-museums'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/halls-museums'><span>Halls & Museums</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='history'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/history'><span>History</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='organizations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/organizations'><span>Organizations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='sports'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/sports'><span>Sports</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='stadiums'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/stadiums'><span>Stadiums</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='teams'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/teams'><span>Teams</span></a></div></div></div></div> </sidebar> </aside> </div> <div class="content-container-desktop"> <main class="main-grid search-listing-result"> <div class="main-grid__content--wide"> <h1>Browse "Military"</h1> <div class="browse__results-counter text-xsmall uppercase" > Displaying 1-15 of 69 results </div> <form class="form-inline main-grid__content--wide" id="browse_filter"> <div class="js-search-filter-container browse__filters"> <select aria-label="Search" class="input" disabled> <option aria-label="Search" disabled="disabled" value="" selected="selected">DIG DEEPER</option> </select> <select aria-label="Search" class="input" name="type"> <option disabled selected>FILTER BY CONTENT TYPE</option> <option value="article">Articles</option> <option value="timeline">Timelines</option> <option value="collection">Collections</option> <option value="study-guide">Education Guides</option> <option value="quiz">Quizzes</option> <option value="primary-source">Primary Sources</option> <option value="memory-project">Memory Project Archive</option> <option value="video">Videos</option> <option value="podcast">Podcasts</option> </select> <div> <button class="b b-md b-invert" type="submit">Apply filters</button> </div> </div> </form> <div class="browse__results"> <ul class='browse__results__list'> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/battle-of-passchendaele"> Canada and the Battle of Passchendaele </a> </h4> <p class="result__summary">The Battle of Passchendaele, also known as the Third Battle of Ypres, was fought during the First World War from 31 July to 10 November 1917. The battle took place on the Ypres salient on the Western Front, in Belgium, where German and Allied armies had been deadlocked for three years. On 31 July, the British began a new offensive, attempting to break through German lines by capturing a ridge near the ruined village of Passchendaele. After British, Australian and New Zealand troops launched failed assaults, the Canadian Corps joined the battle on 26 October. The Canadians captured the ridge on 6 November, despite heavy rain and shelling that turned the battlefield into a quagmire. Nearly 16,000 Canadians were killed or wounded. The Battle of Passchendaele did nothing to help the Allied effort and became a symbol of the senseless slaughter of the First World War.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1745241634 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/a91703c5-8a80-4e21-8ba2-c6fabc0343b4.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1745241634")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/a91703c5-8a80-4e21-8ba2-c6fabc0343b4.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/a91703c5-8a80-4e21-8ba2-c6fabc0343b4.jpg" alt="Canada and the Battle of Passchendaele"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/battle-of-the-plains-of-abraham"> Battle of the Plains of Abraham </a> </h4> <p class="result__summary">The Battle of the Plains of Abraham (13 September 1759), also known as the Battle of Quebec, was a pivotal moment in the Seven Years’ War and in the history of Canada. A British invasion force led by General James Wolfe defeated French troops under the Marquis de Montcalm, leading to the surrender of Quebec to the British. Both commanding officers died from wounds sustained during the battle. The French never recaptured Quebec and effectively lost control of New France in 1760. At the end of the war in 1763 France surrendered many of its colonial possessions — including Canada — to the British. (This is the full-length entry about the Battle of the Plains of Abraham. For a plain-language summary, please see Battle of the Plains of Abraham (Plain-Language Summary).)</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1938615667 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/ea7e8555-9481-4ebb-9585-dc9a4abd22d8.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1938615667")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/ea7e8555-9481-4ebb-9585-dc9a4abd22d8.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/ea7e8555-9481-4ebb-9585-dc9a4abd22d8.jpg" alt="Battle of the Plains of Abraham"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/battle-of-ypres"> Canada and the Second Battle of Ypres </a> </h4> <p class="result__summary">The Second Battle of Ypres was fought during the First World War from 22 April to 25 May 1915. It was the first major battle fought by Canadian troops in the Great War. The battle took place on the Ypres salient on the Western Front, in Belgium, outside the city of Ypres (now known by its Flemish name, Ieper). The untested Canadians distinguished themselves as a determined fighting force, resisting the horror of the first large-scale poison gas attack in modern history. Canadian troops held a strategically critical section of the frontline until reinforcements could be brought in. More than 6,500 Canadians were killed, wounded or captured in the Second Battle of Ypres.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1883334355 data-indent-pad=" ">"<span class=sf-dump-str title="80 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/new_article_images/ypres/a022718.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1883334355")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/new_article_images/ypres/a022718.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/new_article_images/ypres/a022718.jpg" alt="Canada and the Second Battle of Ypres"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/canadian-forces-base-borden"> Canadian Forces Base Borden </a> </h4> <p class="result__summary">Canadian Forces Base (CFB) Borden has always been primarily a training base for the Canadian Forces (CF). It is located 80 km northwest of Toronto, and was named after Sir Frederick Borden, Laurier's militia minister (1896-1911).</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-2088778457 data-indent-pad=" ">"<span class=sf-dump-str title="80 characters">https://d3d0lqu00lnqvz.cloudfront.net/The-Memory-Project/image/2016_original.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-2088778457")</script> https://d3d0lqu00lnqvz.cloudfront.net/The-Memory-Project/image/2016_original.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/The-Memory-Project/image/2016_original.jpg" alt="Canadian Forces Base Borden"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/canadian-forces-base-gagetown"> Canadian Forces Base Gagetown </a> </h4> <p class="result__summary">Canadian Forces Base Gagetown (or CFB Gagetown) functions primarily as the combat-training centre for the Canadian Army and comprises 111,000 hectares between Fredericton and Saint John, New Brunswick, west of the Saint John River.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1797468687 data-indent-pad=" ">"<span class=sf-dump-str title="62 characters">https://d3d0lqu00lnqvz.cloudfront.net/Black_Watch_Gagetown.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1797468687")</script> https://d3d0lqu00lnqvz.cloudfront.net/Black_Watch_Gagetown.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/Black_Watch_Gagetown.jpg" alt="Canadian Forces Base Gagetown"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/canadian-forces-base-petawawa"> Canadian Forces Base Petawawa </a> </h4> <p class="result__summary">Renamed Canadian Forces Base Petawawa in 1968, the base has a total population of 5,000. As one of Canada's busiest operational bases, it is economically important to the adjacent town of Petawawa and nearby Pembroke.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1392392512 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/098aa086-dfcf-4c65-a548-365e130e24e4.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1392392512")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/098aa086-dfcf-4c65-a548-365e130e24e4.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/098aa086-dfcf-4c65-a548-365e130e24e4.jpg" alt="Canadian Forces Base Petawawa"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/canadian-forces-base-shilo"> Canadian Forces Base Shilo </a> </h4> <p class="result__summary">Shilo, Canadian Forces Base (CFB), is located on the western boundary of Manitoba's Spruce Woods Provincial Forest, 195 km west of Winnipeg and 25 km east of Brandon. A portion of the forest is leased to the federal government for the Shilo military reserve. The base is part of Land Force Western Area (LFWA), which was established in 1991, with its headquarters in Edmonton.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-458560723 data-indent-pad=" ">"<span class=sf-dump-str title="81 characters">https://d3d0lqu00lnqvz.cloudfront.net/The-Memory-Project/image/10280_original.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-458560723")</script> https://d3d0lqu00lnqvz.cloudfront.net/The-Memory-Project/image/10280_original.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/The-Memory-Project/image/10280_original.jpg" alt="Canadian Forces Base Shilo"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/canadian-forces-base-trenton"> Canadian Forces Base Trenton </a> </h4> <p class="result__summary">8 Wing/Canadian Forces Base Trenton is located 167 km east of Toronto on Lake Ontario's Bay of Quinte. Begun in 1929 on 384 ha of flat farmland adjacent to the town of Trenton.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-932413318 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/8377e866-518b-4c25-9a3f-72d2f2cca799.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-932413318")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/8377e866-518b-4c25-9a3f-72d2f2cca799.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/8377e866-518b-4c25-9a3f-72d2f2cca799.jpg" alt="Canadian Forces Base Trenton"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/canadian-forces-in-europe-during-the-cold-war"> Canadian Forces in Europe During the Cold War </a> </h4> <p class="result__summary">During the Cold War, Canada stationed army and air force units abroad for the first time during peacetime. Soldiers and airmen began to arrive in the early 1950s, shortly after the Cold War began, and remained until 1993, after it ended. In total, more than 100,000 Canadian military personnel served in France and West Germany in that period.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-174094254 data-indent-pad=" ">"<span class=sf-dump-str title="67 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/e011169341-v8.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-174094254")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/e011169341-v8.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/e011169341-v8.jpg" alt="Canadian Forces in Europe During the Cold War"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/cfs-shelburne-hmcs-shelburne"> CFS Shelburne (HMCS Shelburne) </a> </h4> <p class="result__summary">During the Second World War, a large naval repair base was established at Shelburne, Nova Scotia, where many Allied ships were refitted and repaired following their work maintaining convoy and antisubmarine surveillance in the Atlantic. During the Cold War, HMCS (later CFS) Shelburne played an important role in antisubmarine warfare, part of the SOSUS/IUSS network of passive sonar stations that identified and tracked Soviet submarines. CFS Shelburne was decommissioned in 1995.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-864197056 data-indent-pad=" ">"<span class=sf-dump-str title="59 characters">https://d3d0lqu00lnqvz.cloudfront.net/ASW/Shelburne1962.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-864197056")</script> https://d3d0lqu00lnqvz.cloudfront.net/ASW/Shelburne1962.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/ASW/Shelburne1962.jpg" alt="CFS Shelburne (HMCS Shelburne)"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/dieppe-raid"> Dieppe Raid </a> </h4> <p class="result__summary">During the Second World War, on 19 August 1942, the Allies launched a major raid on the French coastal port of Dieppe. Operation Jubilee was the first Canadian Army engagement in the European theatre of the war, designed to test the Allies' ability to launch amphibious assaults against Adolf Hitler's "Fortress Europe." The raid was a disaster: More than 900 Canadian soldiers were killed, and thousands more were wounded and taken prisoner. Despite the bloodshed, the raid provided valuable lessons for subsequent Allied amphibious assaults on Africa, Italy and Normandy.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1164043078 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/98ce9487-a6b5-44be-bd1e-a65711432b95.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1164043078")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/98ce9487-a6b5-44be-bd1e-a65711432b95.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/98ce9487-a6b5-44be-bd1e-a65711432b95.jpg" alt="Dieppe Raid"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/fort-amherstburg-and-the-war-of-1812"> Fort Amherstburg and the War of 1812 </a> </h4> <p class="result__summary"> A key site for controlling the western theatre of the War of 1812, Fort Amherstburg (now Fort Malden) owed its existence to the shifting boundaries on Lake Superior in the wake of British and American diplomatic and military disputes.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-493989646 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/d474d1e9-393d-4930-9241-243d33a89ef3.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-493989646")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/d474d1e9-393d-4930-9241-243d33a89ef3.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/d474d1e9-393d-4930-9241-243d33a89ef3.jpg" alt="Fort Amherstburg and the War of 1812"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/fort-anne"> Fort Anne </a> </h4> <p class="result__summary">For the next 40 years, the British at Fort Anne maintained a precarious position in the Acadian-dominated province and were frequently attacked by French and Indigenou raiding parties. The status of the fort declined with the founding of Halifax (1749) and the expulsion of the Acadians (1755).</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-64337974 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/8cd2ef08-9dc5-4094-8da3-129abfe25600.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-64337974")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/8cd2ef08-9dc5-4094-8da3-129abfe25600.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/8cd2ef08-9dc5-4094-8da3-129abfe25600.jpg" alt="Fort Anne"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/fort-battleford"> Fort Battleford </a> </h4> <p class="result__summary">When the settlement of Battleford, in what is now west-central Saskatchewan, was named the capital of the North-West Territories in 1876, the North-West Mounted Police established a post to deal with anticipated problems with Indigenous people.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1601387510 data-indent-pad=" ">"<span class=sf-dump-str title="100 characters">https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1601387510")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Fort Battleford"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/fort-beausejour"> Fort Beauséjour </a> </h4> <p class="result__summary">Fort Beauséjour, on the west bank of the Missaguash River near present-day Sackville, New Brunswick was built 1751-55 by the French as a counter to nearby British Fort Lawrence (near Amherst, NS).</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>▶</span>' : '<span>▼</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>▶</span>'; } else { elt.innerHTML = '<span>▶</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '…'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> ◀</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> ▶</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-219816363 data-indent-pad=" ">"<span class=sf-dump-str title="100 characters">https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-219816363")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Fort Beauséjour"> </div> </li> </ul> </div> <div class="pagination_widget"> <ul class="pagination"> <li class="page-item disabled"><span class="page-link">«</span></li> <li class="page-item active"><span class="page-link">1</span></li> <li class="page-item"><a class="page-link" href="https://www.thecanadianencyclopedia.ca/en/browse/places/military?query=&page=2">2</a></li> <li class="page-item"><a class="page-link" href="https://www.thecanadianencyclopedia.ca/en/browse/places/military?query=&page=3">3</a></li> <li class="page-item"><a class="page-link" href="https://www.thecanadianencyclopedia.ca/en/browse/places/military?query=&page=4">4</a></li> <li class="page-item"><a class="page-link" href="https://www.thecanadianencyclopedia.ca/en/browse/places/military?query=&page=5">5</a></li> <li class="page-item"><a class="page-link" href="https://www.thecanadianencyclopedia.ca/en/browse/places/military?query=&page=2" rel="next">»</a></li> </ul> </div> </div> </main> </div> </div> <div id="donation_banner" class="donation-banner"> <button id="donation-banner-expand-btn" class="donation-banner__expand-btn" aria-label="expand donation banner window"> </button> <div class="donation-banner__container"> <div class="text-container"> <h3 class="text-container__title">Flag Day Contest</h3> <div class="text-container__text"><p class="MsoNormal">Celebrate the 60th anniversary of the national flag by taking our Flag Day quiz and be entered into a draw for a chance to win a flag from the Peace Tower in Ottawa for your school!<span lang="EN-CA"></span><o:p></o:p></p><p class="MsoNormal"><o:p></o:p></p></div> </div> <a class="b-invert solid b-sm donation-banner__button" href="/en/article/flag-day-contest"> Take the quiz </a> </div> </div> <footer id="footer"> <div class="full-width footer-first-part"> <div class="wrap--narrow"> <div class="footer-information grid--col2"> <div class="divider"> <h6>Updates? Omissions? Article suggestions?</h6> <a href="https://www.thecanadianencyclopedia.ca/en/contact" class="b b-md b-primary">We want to hear from you</a> </div> <div> <h6>Did you like your experience?</h6> <a href="https://www.cognitoforms.com/HistoricaCanada1/TheCanadianEncyclopediaUserSurvey" target="_blank" class="b b-md b-primary">Take our survey</a> </div> </div> </div> </div> <div class="full-width full-width-grey footer-second-part"> <div class="wrap--narrow footer-sub-first"> <div class="footer-utilities grid--col3"> <div class="randomize-12"> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>62 432</b> images</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>25 534</b> articles</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>64</b> collections</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>4 172</b> primary sources</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>47</b> quizzes</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>73</b> timelines</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>83</b> studyguides</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>5 169</b> authors</div> </div> <div class="divider uppercase text-xsmall footer-social "></div> <div class="uppercase footer-social"> <span>Follow us elsewhere</span> <ul> <li><a href="https://twitter.com/HistoricaCanada" class="footer-social-twitter" target="_blank"><i class="i i-invert i-twitter"></i>Twitter</a></li> <li><a href="https://www.facebook.com/TheCanadianEncyclopedia" class="footer-social-facebook" target="_blank"><i class="i i-invert i-facebook"></i>Facebook</a></li> <li><a href="https://www.youtube.com/channel/UCtagGjDO8X1rBROhmSQXZsA" class="footer-social-youtube" target="_blank"><i class="i i-invert i-youtube"></i>Youtube</a></li> </ul> </div> </div> </div> <div class="wrap--narrow container-grey top-divider-footerlinks footer-sub-second"> <div class="footer-link"> <ul class="list list-inline list-background-invert"> <li><a href="https://www.thecanadianencyclopedia.ca/en/about">About</a></li> <li><a href="https://www.thecanadianencyclopedia.ca/en/contributors">Contribute</a></li> <li><a href="https://www.thecanadianencyclopedia.ca/en/contact">Contact</a></li> <li><a href="https://www.thecanadianencyclopedia.ca/en/sitemap">Sitemap</a></li> <li><a href="https://www.thecanadianencyclopedia.ca/en/privacy-policy">privacy policy</a></li> <li><a href="https://www.thecanadianencyclopedia.ca/images/pdf/en/aoda_2023.pdf?v=77bccd03de4270ae1fbba4cea45a2197">accessibility</a></li> </ul> </div> </div> <div class="wrap--narrow container-grey top-divider footer-sub-third"> <div class="footer-sitemap grid--col12"> <div class="footer-copyright"> <a href="/en/copyright">The Canadian Encyclopedia © 2024 <span class="copyright-separator-spacing">|</span> Historica Canada</a> </div> <div class="footer-canada-logos"> <ul> <li tabindex="0" class="footer-image-submenu"> <img src="https://www.thecanadianencyclopedia.ca/images/historica-canada-logo.png?v=d8609094fb353837d01f458c7a6f905b" alt="Historica Canada" title="Historica Canada" loading="lazy"> <ul class="external_links"> <li><a href="https://www.historicacanada.ca/" target="_blank">Historica Canada</a></li> <li><a href="/en/quiz/cc-quiz-citizenship" target="_blank">Citizenship challenge</a></li> <li><a href="https://www.historicacanada.ca/heritageminutes" target="_blank">Heritage minutes</a></li> <li><a href="http://www.thememoryproject.com/" target="_blank">The memory project</a></li> </ul> </li> <li><a href="https://www.canada.ca/en.html" target="_blank"><img src="https://www.thecanadianencyclopedia.ca/images/gov-canada.svg?v=fdda8701f4d83ce99144e160774c2965" alt="Funding by the gouvernment of Canada" title="Funding by the gouvernment of Canada" loading="lazy"></a></li> </ul> </div> </div> </div> </div> </footer> <div id="highlight-menu" style="display:none;"> <a href="#">Suggest an Edit</a> <div class="caret"></div> </div> <div id="overlayPopup"></div> <div id="definitionOverlayPopup"></div> <div id="overlay"></div> <div class="fullpageLoader"> <svg class="circular-loader" viewBox="25 25 50 50"> <circle class="loader-path" cx="50" cy="50" r="20" fill="none" stroke="#FFFFFF" stroke-width="4" /> </svg> </div> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/manifest.js?v=069add80cc340895762d04c204a6279a"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/vendor.js?v=bad4c73f65ec1c7706543fa4a9ea4830"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/app.js?v=efc40233a3006944c927943e0b78a15c"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/layout.js?v=beaebd25c9a5059050695d1edaf766de"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/header.js?v=0f5282ae68faac0876d903520ed53611"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/event-bus.js?v=5e4c1d3e6f42f0c3e6c9410dd9164894"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/image-scale.js?v=9c719b6e3da705632a5f6afd99100d6d"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/sidebar.js?v=055046a71e350608040bcb584ac4ae68"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/lazyload.min.js?v=c1238b309b71a0d2a1f46179635b599d"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/paginations.js?v=fbbb77b479f48e1f870faff81106eb7d"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/search.js?v=c7c70246f5f7881af57df6d9ed1d3e16"></script> <script defer type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/donation-banner.js?v=d9a681f527dbaced47c1dfb6ae28a4ef"></script> </body> </html>