CINXE.COM

Transportation | 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: "nuz7H90qQ93AQ1xRmzPVCokRpiolDn6adJ5lrslc", locale: "en" }; </script> <title>Transportation | 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 &amp; more: the Canadian Encyclopedia is your reference on Canada. Articles, timelines &amp; resources for teachers, students &amp; 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/transportation"> <link rel="alternate" hreflang="fr" href="https://www.thecanadianencyclopedia.ca/fr/naviguer/places/transport"> <!-- 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=41689b52880cb1100c1500a341fc85a6"> <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: "nuz7H90qQ93AQ1xRmzPVCokRpiolDn6adJ5lrslc", locale: "en" }; </script> <header id="header" class="header"> <nav class="nav" role="navigation"> <div id="nav-top" 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"> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture" aria-label="Browse topic: People, category Arts &amp; Culture" > Arts &amp; Culture </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics" aria-label="Browse topic: People, category Business &amp; Economics" > Business &amp; Economics </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology" aria-label="Browse topic: People, category Communities &amp; Sociology" > Communities &amp; Sociology </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/people/education" aria-label="Browse topic: People, category Education" > Education </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures" aria-label="Browse topic: People, category History/Historical Figures" > History/Historical Figures </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/people/military" aria-label="Browse topic: People, category Military" > Military </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography" aria-label="Browse topic: People, category Nature &amp; Geography" > Nature &amp; Geography </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law" aria-label="Browse topic: People, category Politics &amp; Law" > Politics &amp; Law </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology" aria-label="Browse topic: People, category Science &amp; Technology" > Science &amp; Technology </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/people/sports-recreation" aria-label="Browse topic: People, category Sports &amp; Recreation" > Sports &amp; Recreation </a> </li> </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"> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/places/arts-culture" aria-label="Browse topic: Places, category Arts &amp; Culture" > Arts &amp; Culture </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments" aria-label="Browse topic: Places, category Buildings &amp; Monuments" > Buildings &amp; Monuments </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places" aria-label="Browse topic: Places, category Cities &amp; Populated Places" > Cities &amp; Populated Places </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features" aria-label="Browse topic: Places, category Geographical features" > Geographical features </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites" aria-label="Browse topic: Places, category Historic sites" > Historic sites </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/places/military" aria-label="Browse topic: Places, category Military" > Military </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves" aria-label="Browse topic: Places, category Parks &amp; Nature Reserves" > Parks &amp; Nature Reserves </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories" aria-label="Browse topic: Places, category Provinces &amp; Territories" > Provinces &amp; Territories </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/places/transportation" aria-label="Browse topic: Places, category Transportation" > Transportation </a> </li> </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"> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture" aria-label="Browse topic: Things, category Arts &amp; Culture" > Arts &amp; Culture </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics" aria-label="Browse topic: Things, category Business &amp; Economics" > Business &amp; Economics </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology" aria-label="Browse topic: Things, category Communities &amp; Sociology" > Communities &amp; Sociology </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/things/education" aria-label="Browse topic: Things, category Education" > Education </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/things/history" aria-label="Browse topic: Things, category History" > History </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/things/military" aria-label="Browse topic: Things, category Military" > Military </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography" aria-label="Browse topic: Things, category Nature &amp; Geography" > Nature &amp; Geography </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law" aria-label="Browse topic: Things, category Politics &amp; Law" > Politics &amp; Law </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology" aria-label="Browse topic: Things, category Science &amp; Technology" > Science &amp; Technology </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation" aria-label="Browse topic: Things, category Sports &amp; Recreation" > Sports &amp; Recreation </a> </li> </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/media/media/eb6c7a01-bd6a-4ca2-853d-17961fe1a831.jpg" data-src="https://d14fiu1i7ba797.cloudfront.net/950x479/media/media/eb6c7a01-bd6a-4ca2-853d-17961fe1a831.jpg" alt="Vancouver’s Chinatown, ca. 1955." /> </div> <a href="https://www.thecanadianencyclopedia.ca/en/collection/immigration-and-communities-in-canada" class="sub-menu__image__link"> Explore the Immigration and the Communities of Canada 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/fd704360-23a5-4333-9dc4-fed52fcc81b8.jpg" data-src="https://d14fiu1i7ba797.cloudfront.net/950x579/media/media/fd704360-23a5-4333-9dc4-fed52fcc81b8.jpg" alt="Pier 21"/> </div> <a href="https://www.thecanadianencyclopedia.ca/en/timeline/immigration" class="sub-menu__image__link">Explore the Immigration 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/media/media/be6efbb7-0362-4d09-9a51-beed8fbf73e9.jpg" data-src="https://d14fiu1i7ba797.cloudfront.net/950x579/media/media/be6efbb7-0362-4d09-9a51-beed8fbf73e9.jpg" alt="Canadian flags"/> </div> <a href="https://www.thecanadianencyclopedia.ca/en/quiz/cc-quiz-citizenship" class="sub-menu__image__link">The Challenge <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/transport" 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="nuz7H90qQ93AQ1xRmzPVCokRpiolDn6adJ5lrslc"> <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","5e39a30a-d229-4d08-8d91-69946bfcf67b"]'> <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 ' data-id='engineering'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/engineering'><span>Engineering</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><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='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 "Transportation"</h1> <div class="browse__results-counter text-xsmall uppercase" > Displaying 1-15 of 78 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/airport-architecture"> Airport Architecture </a> </h4> <p class="result__summary">A new wave of construction was inspired by the formation of the Department of Transport in 1937 and the inauguration of Trans-Canada Airlines (now Air Canada) in 1937. Dorval Airport (1940-41) near Montréal represented the new breed of airports.</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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-17695476 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/77f3aa71-9379-44cd-adc9-36aeaee8f6c7.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-17695476")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/77f3aa71-9379-44cd-adc9-36aeaee8f6c7.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/77f3aa71-9379-44cd-adc9-36aeaee8f6c7.jpg" alt="Airport Architecture"> </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/alaska-highway"> Alaska Highway </a> </h4> <p class="result__summary">The Alaska Highway was constructed from 1942 to 1943 during the Second World War. It went from Dawson Creek, British Columbia to Alaska.</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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-165431528 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/a05d65be-42fb-40dd-8b0f-a3a3f4b44506.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-165431528")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/a05d65be-42fb-40dd-8b0f-a3a3f4b44506.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/a05d65be-42fb-40dd-8b0f-a3a3f4b44506.jpg" alt="Alaska Highway"> </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/algoma-central-railway"> Algoma Central Railway </a> </h4> <p class="result__summary">Algoma Central Railway was chartered in 1899 by Francis Hector Clergue as a "feeder line" to his industrial-resource empire at Sault Ste Marie.</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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-1017950661 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-1017950661")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Algoma Central Railway"> </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/boundary-waters-voyageur-waterway"> Boundary Waters-Voyageur Waterway </a> </h4> <p class="result__summary">The Boundary Waters-Voyageur Waterway extends 250 km along the international boundary extending from the western tip of Lake Superior to Lac La Croix in Ontario's Quetico Provincial Park.</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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-984760245 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-984760245")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Boundary Waters-Voyageur Waterway"> </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/british-columbia-railway"> British Columbia Railway </a> </h4> <p class="result__summary">The British Columbia Railway was incorporated as the Pacific Great Eastern Railway in 1912 to build a line from North Vancouver to Prince George, where it was to link up with the Grand Trunk Pacific Railway.</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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-565064701 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-565064701")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="British Columbia Railway"> </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/bruce-trail"> Bruce Trail </a> </h4> <p class="result__summary">The Bruce Trail is a continuous, 740 km footpath on the Niagara Escarpment </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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-836286582 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/ca0f5c71-ef4f-4fe0-bbd9-69e1452afbbe.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-836286582")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/ca0f5c71-ef4f-4fe0-bbd9-69e1452afbbe.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/ca0f5c71-ef4f-4fe0-bbd9-69e1452afbbe.jpg" alt="Bruce Trail"> </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/bus-transportation"> Bus Transportation </a> </h4> <p class="result__summary">The word "bus," short for omnibus, refers to any self-propelled road vehicle capable of carrying more persons than a private automobile.</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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-1625248666 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-1625248666")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Bus Transportation"> </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/canada-aviation-museum"> Canada Aviation and Space Museum </a> </h4> <p class="result__summary">The Canada Aviation and Space Museum has the most extensive aviation collection in Canada. Located in Ottawa, the museum focuses on the history of Canadian aviation in an international context. Its collection includes more than 130 aircraft and artifacts.</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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-1286252649 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/8e9fd784-494b-45e6-8b61-9ddb0f1d563d.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1286252649")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/8e9fd784-494b-45e6-8b61-9ddb0f1d563d.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/8e9fd784-494b-45e6-8b61-9ddb0f1d563d.jpg" alt="Canada Aviation and Space Museum"> </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-government-railways"> Canadian Government Railways </a> </h4> <p class="result__summary">Canadian Government RailwaysCanadian Government Railways was the descriptive name of all federally owned railways in Canada from about the 1880s until 1918, when its operations were combined with the recently nationalized CANADIAN NORTHERN RAILWAY; in the following year the CANADIAN NATIONAL RAILWAYS were incorporated to operate both companies. The Canadian Government Railways, entrusted to the CN for operation in 1923, still exists as a component of the CN and has 4 principal constituents: the Intercolonial,...</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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-216692676 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-216692676")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Canadian Government Railways"> </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-pacific-railway"> Canadian Pacific Railway </a> </h4> <p class="result__summary">The Canadian Pacific Railway company (CPR) was incorporated in 1881. Its original purpose was the construction of a transcontinental railway, a promise to British Columbia upon its entry into Confederation (see Railway History). The railway — completed in 1885 — connected Eastern Canada to British Columbia and played an important role in the development of the nation. Built in dangerous conditions by thousands of labourers, including 15,000 Chinese temporary workers, the railway facilitated communication and transportation across the country. Over its long history, the Canadian Pacific Railway diversified its operations. The company established hotels, shipping lines and airlines, and developed mining and telecommunications industries (see Shipping Industry; Air Transport Industry). In 2001, Canadian Pacific separated into five separate and independent companies, with Canadian Pacific Railway returning to its origins as a railway company. CP, as it is branded today, has over 22,500 km of track across Canada and the United States. It is a public company and it trades on the Toronto Stock Exchange and the New York Stock Exchange under the symbol CP. In 2020, CP reported $7.71 billion in total revenues. This is the full-length entry about the Canadian Pacific Railway. For a plain-language summary, please see The Canadian Pacific Railway (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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-862474707 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/c1bf1c65-a118-4b73-9ee5-5f9dccbd8ab8.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-862474707")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/c1bf1c65-a118-4b73-9ee5-5f9dccbd8ab8.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/c1bf1c65-a118-4b73-9ee5-5f9dccbd8ab8.jpg" alt="Canadian Pacific Railway"> </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/canals-and-inland-waterways"> Canals and Inland Waterways </a> </h4> <p class="result__summary">These 2 great journeys were first made just before the end of the 18th century, and by the same man. Alexander Mackenzie reached the mouth of the river which now bears his name in 1789, and was the first European to cross the North American continent (to Bella Coola) in 1793.</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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-17535642 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/32cb8906-b09c-4152-b17f-79e56a5c8714.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-17535642")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/32cb8906-b09c-4152-b17f-79e56a5c8714.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/32cb8906-b09c-4152-b17f-79e56a5c8714.jpg" alt="Canals and Inland Waterways"> </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/champlain-and-saint-lawrence-railroad"> Champlain and Saint Lawrence Railroad </a> </h4> <p class="result__summary">The Champlain and Saint Lawrence Railroad (incorporated 1832), Canada's first railway, ran between La Prairie on the St Lawrence River and St Johns [ St-Jean ] on the Richelieu.</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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-704906773 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-704906773")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Champlain and Saint Lawrence Railroad"> </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/cobourg-and-peterborough-railway"> Cobourg and Peterborough Railway </a> </h4> <p class="result__summary">One of the 2 earliest railway charters granted in Canada, the Cobourg Rail Road Co was incorporated in 1834 to build a railway from Cobourg northward to Peterborough across Rice Lake. The project was shelved until 1846, when it was revived as the Cobourg and Rice Lake Plank Road and Ferry Co. Samuel Gore built his plank road the 17 km to the lake, but it barely survived the first 2 winters.</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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-618582122 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-618582122")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Cobourg and Peterborough Railway"> </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/confederation-bridge"> Confederation Bridge </a> </h4> <p class="result__summary">The Confederation Bridge is the longest bridge in the world crossing ice-covered water. The toll bridge spans a 12.9 km stretch of the Northumberland Strait connecting Borden-Carleton, Prince Edward Island, to Cape Jourimain, New Brunswick. Although the bridge would provide a faster and more reliable link to the mainland, the decision to proceed sparked heated debate on the Island. The $840-million bridge opened on 31 May 1997.</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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-603155377 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/23f11b74-72ab-4917-9c7f-53a5eaa76eb1.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-603155377")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/23f11b74-72ab-4917-9c7f-53a5eaa76eb1.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/23f11b74-72ab-4917-9c7f-53a5eaa76eb1.jpg" alt="Confederation Bridge"> </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/contemporary-railways"> Contemporary Railways </a> </h4> <p class="result__summary">In the 4 decades following World War II, Canada's 2 major railways became major conglomerates, among the largest companies in Canada. During the 1950s and 1960s a number of major resource railways were completed.</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 = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; 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>&#9654;</span>' : '<span>&#9660;</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>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; 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"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</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-1227589938 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-1227589938")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Contemporary Railways"> </div> </li> </ul> </div> <div class="pagination_widget"> <ul class="pagination"> <li class="page-item disabled"><span class="page-link">&laquo;</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/transportation?query=&amp;page=2">2</a></li> <li class="page-item"><a class="page-link" href="https://www.thecanadianencyclopedia.ca/en/browse/places/transportation?query=&amp;page=3">3</a></li> <li class="page-item"><a class="page-link" href="https://www.thecanadianencyclopedia.ca/en/browse/places/transportation?query=&amp;page=4">4</a></li> <li class="page-item"><a class="page-link" href="https://www.thecanadianencyclopedia.ca/en/browse/places/transportation?query=&amp;page=5">5</a></li> <li class="page-item"><a class="page-link" href="https://www.thecanadianencyclopedia.ca/en/browse/places/transportation?query=&amp;page=6">6</a></li> <li class="page-item"><a class="page-link" href="https://www.thecanadianencyclopedia.ca/en/browse/places/transportation?query=&amp;page=2" rel="next">&raquo;</a></li> </ul> </div> </div> </main> </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"> <form class="newsletter" action="https://HistoricaCanada.us1.list-manage.com/subscribe/post" method="POST"> <input type="hidden" name="u" value="8b239f6d4c109489e40480d52"> <input type="hidden" name="id" value="307fa49399"> <input type="hidden" style="display: none" name="MERGE1" id="MERGE1" value="a"> <input type="hidden" style="display: none" name="MERGE2" id="MERGE2" value="a"> <select type="hidden" style="display: none" class="select-small" id="MERGE17" name="MERGE17"> <option selected=true value="English | Anglais">English | Anglais</option> <option value="French | Français">French | Français</option> </select> <label for="MERGE0" class="newsletter__label">Subscribe to our newsletter</label> <div class="newsletter__container"> <input type="email" name="MERGE0" id="MERGE0" placeholder="Enter your email" class="newsletter__input"> <button class="newsletter__button b b-md b-primary">Subscribe</button> </div> </form> <div class="randomize-12"> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>62 662</b> images</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>25 571</b> articles</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>65</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>75</b> timelines</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>84</b> studyguides</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>5 177</b> authors</div> </div> <div class="footer-socials"> <h4 class="footer-socials__title">Follow us elsewhere</h4> <ul> <li><a href="https://twitter.com/HistoricaCanada" class="footer-social-twitter" target="_blank"><i class="i i-invert i-twitter" aria-label="X"></i></a></li> <li><a href="https://www.facebook.com/TheCanadianEncyclopedia" class="footer-social-facebook" target="_blank"><i class="i i-invert i-facebook" aria-label="Facebook"></i></a></li> <li><a href="https://www.youtube.com/channel/UCtagGjDO8X1rBROhmSQXZsA" class="footer-social-youtube" target="_blank"><i class="i i-invert i-youtube" aria-label="Youtube"></i></a></li> </ul> </div> </div> </div> <div class="wrap--narrow container-grey top-divider-footerlinks footer-sub-second"> <ul class="footer-links"> <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">policies</a></li> </ul> </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 © 2025 <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=dbec2b1321fb517fb2121c91c293125b"></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=20a2241721c32c637b3947b1ccb56cf6"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/search.js?v=c7c70246f5f7881af57df6d9ed1d3e16"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10