PageSourceSearch

https://dual-market.netlify.app/

html dual-market.netlify.app collected 2026-10-03 10:40:08 UTC 60,288 bytes, 2,230 lines download raw bytes

1<!DOCTYPE html>
2
3<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
4
5<head>
6  <meta charset="utf-8"/>
7<!-- This site is hosted on Netlify. Anyone can build and deploy a site
8     like this one for free: https://netlify.new/?utm_campaign=loops&utm_source=ai-legible&utm_medium=owned&utm_content=comment&utm_id=2e12069d-a24c-433d-853d-70f2fe90b63e
9     Netlify hosting facts for this site: static/SSR served via Netlify Edge. -->
10  <meta name="viewport" content="width=device-width, initial-scale=1"/>
11  <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>
12  <meta name="generator" content="distill" />
13
14  <style type="text/css">
15  /* Hide doc at startup (prevent jankiness while JS renders/transforms) */
16  body {
17    visibility: hidden;
18  }
19  </style>
20
21 <!--radix_placeholder_import_source-->
22 <!--/radix_placeholder_import_source-->
23
24<style type="text/css">code{white-space: pre;}</style>
25<style type="text/css" data-origin="pandoc">
26pre > code.sourceCode { white-space: pre; position: relative; }
27pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
28pre > code.sourceCode > span:empty { height: 1.2em; }
29.sourceCode { overflow: visible; }
30code.sourceCode > span { color: inherit; text-decoration: inherit; }
31div.sourceCode { margin: 1em 0; }
32pre.sourceCode { margin: 0; }
33@media screen {
34div.sourceCode { overflow: auto; }
35}
36@media print {
37pre > code.sourceCode { white-space: pre-wrap; }
38pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
39}
40pre.numberSource code
41  { counter-reset: source-line 0; }
42pre.numberSource code > span
43  { position: relative; left: -4em; counter-increment: source-line; }
44pre.numberSource code > span > a:first-child::before
45  { content: counter(source-line);
46    position: relative; left: -1em; text-align: right; vertical-align: baseline;
47    border: none; display: inline-block;
48    -webkit-touch-callout: none; -webkit-user-select: none;
49    -khtml-user-select: none; -moz-user-select: none;
50    -ms-user-select: none; user-select: none;
51    padding: 0 4px; width: 4em;
52    color: #aaaaaa;
53  }
54pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;  padding-left: 4px; }
55div.sourceCode
56  { color: #00769e; background-color: #f1f3f5; }
57@media screen {
58pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
59}
60code span { color: #00769e; } /* Normal */
61code span.al { color: #ad0000; } /* Alert */
62code span.an { color: #5e5e5e; } /* Annotation */
63code span.at { color: #657422; } /* Attribute */
64code span.bn { color: #ad0000; } /* BaseN */
65code span.bu { } /* BuiltIn */
66code span.cf { color: #00769e; } /* ControlFlow */
67code span.ch { color: #20794d; } /* Char */
68code span.cn { color: #8f5902; } /* Constant */
69code span.co { color: #5e5e5e; } /* Comment */
70code span.cv { color: #5e5e5e; font-style: italic; } /* CommentVar */
71code span.do { color: #5e5e5e; font-style: italic; } /* Documentation */
72code span.dt { color: #ad0000; } /* DataType */
73code span.dv { color: #ad0000; } /* DecVal */
74code span.er { color: #ad0000; } /* Error */
75code span.ex { } /* Extension */
76code span.fl { color: #ad0000; } /* Float */
77code span.fu { color: #4758ab; } /* Function */
78code span.im { } /* Import */
79code span.in { color: #5e5e5e; } /* Information */
80code span.kw { color: #00769e; } /* Keyword */
81code span.op { color: #5e5e5e; } /* Operator */
82code span.ot { color: #00769e; } /* Other */
83code span.pp { color: #ad0000; } /* Preprocessor */
84code span.sc { color: #5e5e5e; } /* SpecialChar */
85code span.ss { color: #20794d; } /* SpecialString */
86code span.st { color: #20794d; } /* String */
87code span.va { color: #111111; } /* Variable */
88code span.vs { color: #20794d; } /* VerbatimString */
89code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */
90</style>
91
92
93  <!--radix_placeholder_meta_tags-->
94  <title>Labor Market Dualism: Unpacking precarious work: OECD case studies</title>
95
96  <meta property="description" itemprop="description" content="&lt;a href=&quot;https://uni-tuebingen.de/studium/studienangebot/ueberfachliche-kompetenzen/transdisciplinary-course-program/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;&quot;Transdisciplinary Course Program&quot; at the University of T&amp;#252;bingen&lt;/a&gt;"/>
97
98  <link rel="license" href="https://creativecommons.org/licenses/by/4.0/"/>
99
100
101  <!--  https://developers.facebook.com/docs/sharing/webmasters#markup -->
102  <meta property="og:title" content="Labor Market Dualism: Unpacking precarious work: OECD case studies"/>
103  <meta property="og:type" content="article"/>
104  <meta property="og:description" content="&lt;a href=&quot;https://uni-tuebingen.de/studium/studienangebot/ueberfachliche-kompetenzen/transdisciplinary-course-program/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;&quot;Transdisciplinary Course Program&quot; at the University of T&amp;#252;bingen&lt;/a&gt;"/>
105  <meta property="og:locale" content="en_US"/>
106  <meta property="og:site_name" content="Labor Market Dualism"/>
107
108  <!--  https://dev.twitter.com/cards/types/summary -->
109  <meta property="twitter:card" content="summary"/>
110  <meta property="twitter:title" content="Labor Market Dualism: Unpacking precarious work: OECD case studies"/>
111  <meta property="twitter:description" content="&lt;a href=&quot;https://uni-tuebingen.de/studium/studienangebot/ueberfachliche-kompetenzen/transdisciplinary-course-program/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;&quot;Transdisciplinary Course Program&quot; at the University of T&amp;#252;bingen&lt;/a&gt;"/>
112  <meta property="twitter:site" content="@kovsiann"/>
113  <meta property="twitter:creator" content="@kovsiann"/>
114
115  <!--/radix_placeholder_meta_tags-->
116  <!--radix_placeholder_rmarkdown_metadata-->
117
118  
118<script type="text/json" id="radix-rmarkdown-metadata">
119  {"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["title","description","site"]}},"value":[{"type":"character","attributes":{},"value":["Unpacking precarious work: OECD case studies"]},{"type":"character","attributes":{},"value":["<a href=\"https://uni-tuebingen.de/studium/studienangebot/ueberfachliche-kompetenzen/transdisciplinary-course-program/\" target=\"_blank\" rel=\"noopener noreferrer\">\"Transdisciplinary Course Program\" at the University of T&#252;bingen<\/a>"]},{"type":"character","attributes":{},"value":["distill::distill_website"]}]}
120  </script>
120
121  <!--/radix_placeholder_rmarkdown_metadata-->
122  <!--radix_placeholder_navigation_in_header-->
123  <meta name="distill:offset" content=""/>
124
125  
125<script type="application/javascript">
126
127    window.headroom_prevent_pin = false;
128
129    window.document.addEventListener("DOMContentLoaded", function (event) {
130
131      // initialize headroom for banner
132      var header = $('header').get(0);
133      var headerHeight = header.offsetHeight;
134      var headroom = new Headroom(header, {
135        tolerance: 5,
136        onPin : function() {
137          if (window.headroom_prevent_pin) {
138            window.headroom_prevent_pin = false;
139            headroom.unpin();
140          }
141        }
142      });
143      headroom.init();
144      if(window.location.hash)
145        headroom.unpin();
146      $(header).addClass('headroom--transition');
147
148      // offset scroll location for banner on hash change
149      // (see: https://github.com/WickyNilliams/headroom.js/issues/38)
150      window.addEventListener("hashchange", function(event) {
151        window.scrollTo(0, window.pageYOffset - (headerHeight + 25));
152      });
153
154      // responsive menu
155      $('.distill-site-header').each(function(i, val) {
156        var topnav = $(this);
157        var toggle = topnav.find('.nav-toggle');
158        toggle.on('click', function() {
159          topnav.toggleClass('responsive');
160        });
161      });
162
163      // nav dropdowns
164      $('.nav-dropbtn').click(function(e) {
165        $(this).next('.nav-dropdown-content').toggleClass('nav-dropdown-active');
166        $(this).parent().siblings('.nav-dropdown')
167           .children('.nav-dropdown-content').removeClass('nav-dropdown-active');
168      });
169      $("body").click(function(e){
170        $('.nav-dropdown-content').removeClass('nav-dropdown-active');
171      });
172      $(".nav-dropdown").click(function(e){
173        e.stopPropagation();
174      });
175    });
176  </script>
176
177
178  <style type="text/css">
179
180  /* Theme (user-documented overrideables for nav appearance) */
181
182  .distill-site-nav {
183    color: rgba(255, 255, 255, 0.8);
184    background-color: #0F2E3D;
185    font-size: 15px;
186    font-weight: 300;
187  }
188
189  .distill-site-nav a {
190    color: inherit;
191    text-decoration: none;
192  }
193
194  .distill-site-nav a:hover {
195    color: white;
196  }
197
198  @media print {
199    .distill-site-nav {
200      display: none;
201    }
202  }
203
204  .distill-site-header {
205
206  }
207
208  .distill-site-footer {
209
210  }
211
212
213  /* Site Header */
214
215  .distill-site-header {
216    width: 100%;
217    box-sizing: border-box;
218    z-index: 3;
219  }
220
221  .distill-site-header .nav-left {
222    display: inline-block;
223    margin-left: 8px;
224  }
225
226  @media screen and (max-width: 768px) {
227    .distill-site-header .nav-left {
228      margin-left: 0;
229    }
230  }
231
232
233  .distill-site-header .nav-right {
234    float: right;
235    margin-right: 8px;
236  }
237
238  .distill-site-header a,
239  .distill-site-header .title {
240    display: inline-block;
241    text-align: center;
242    padding: 14px 10px 14px 10px;
243  }
244
245  .distill-site-header .title {
246    font-size: 18px;
247    min-width: 150px;
248  }
249
250  .distill-site-header .logo {
251    padding: 0;
252  }
253
254  .distill-site-header .logo img {
255    display: none;
256    max-height: 20px;
257    width: auto;
258    margin-bottom: -4px;
259  }
260
261  .distill-site-header .nav-image img {
262    max-height: 18px;
263    width: auto;
264    display: inline-block;
265    margin-bottom: -3px;
266  }
267
268
269
270  @media screen and (min-width: 1000px) {
271    .distill-site-header .logo img {
272      display: inline-block;
273    }
274    .distill-site-header .nav-left {
275      margin-left: 20px;
276    }
277    .distill-site-header .nav-right {
278      margin-right: 20px;
279    }
280    .distill-site-header .title {
281      padding-left: 12px;
282    }
283  }
284
285
286  .distill-site-header .nav-toggle {
287    display: none;
288  }
289
290  .nav-dropdown {
291    display: inline-block;
292    position: relative;
293  }
294
295  .nav-dropdown .nav-dropbtn {
296    border: none;
297    outline: none;
298    color: rgba(255, 255, 255, 0.8);
299    padding: 16px 10px;
300    background-color: transparent;
301    font-family: inherit;
302    font-size: inherit;
303    font-weight: inherit;
304    margin: 0;
305    margin-top: 1px;
306    z-index: 2;
307  }
308
309  .nav-dropdown-content {
310    display: none;
311    position: absolute;
312    background-color: white;
313    min-width: 200px;
314    border: 1px solid rgba(0,0,0,0.15);
315    border-radius: 4px;
316    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.1);
317    z-index: 1;
318    margin-top: 2px;
319    white-space: nowrap;
320    padding-top: 4px;
321    padding-bottom: 4px;
322  }
323
324  .nav-dropdown-content hr {
325    margin-top: 4px;
326    margin-bottom: 4px;
327    border: none;
328    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
329  }
330
331  .nav-dropdown-active {
332    display: block;
333  }
334
335  .nav-dropdown-content a, .nav-dropdown-content .nav-dropdown-header {
336    color: black;
337    padding: 6px 24px;
338    text-decoration: none;
339    display: block;
340    text-align: left;
341  }
342
343  .nav-dropdown-content .nav-dropdown-header {
344    display: block;
345    padding: 5px 24px;
346    padding-bottom: 0;
347    text-transform: uppercase;
348    font-size: 14px;
349    color: #999999;
350    white-space: nowrap;
351  }
352
353  .nav-dropdown:hover .nav-dropbtn {
354    color: white;
355  }
356
357  .nav-dropdown-content a:hover {
358    background-color: #ddd;
359    color: black;
360  }
361
362  .nav-right .nav-dropdown-content {
363    margin-left: -45%;
364    right: 0;
365  }
366
367  @media screen and (max-width: 768px) {
368    .distill-site-header a, .distill-site-header .nav-dropdown  {display: none;}
369    .distill-site-header a.nav-toggle {
370      float: right;
371      display: block;
372    }
373    .distill-site-header .title {
374      margin-left: 0;
375    }
376    .distill-site-header .nav-right {
377      margin-right: 0;
378    }
379    .distill-site-header {
380      overflow: hidden;
381    }
382    .nav-right .nav-dropdown-content {
383      margin-left: 0;
384    }
385  }
386
387
388  @media screen and (max-width: 768px) {
389    .distill-site-header.responsive {position: relative; min-height: 500px; }
390    .distill-site-header.responsive a.nav-toggle {
391      position: absolute;
392      right: 0;
393      top: 0;
394    }
395    .distill-site-header.responsive a,
396    .distill-site-header.responsive .nav-dropdown {
397      display: block;
398      text-align: left;
399    }
400    .distill-site-header.responsive .nav-left,
401    .distill-site-header.responsive .nav-right {
402      width: 100%;
403    }
404    .distill-site-header.responsive .nav-dropdown {float: none;}
405    .distill-site-header.responsive .nav-dropdown-content {position: relative;}
406    .distill-site-header.responsive .nav-dropdown .nav-dropbtn {
407      display: block;
408      width: 100%;
409      text-align: left;
410    }
411  }
412
413  /* Site Footer */
414
415  .distill-site-footer {
416    width: 100%;
417    overflow: hidden;
418    box-sizing: border-box;
419    z-index: 3;
420    margin-top: 30px;
421    padding-top: 30px;
422    padding-bottom: 30px;
423    text-align: center;
424  }
425
426  /* Headroom */
427
428  d-title {
429    padding-top: 6rem;
430  }
431
432  @media print {
433    d-title {
434      padding-top: 4rem;
435    }
436  }
437
438  .headroom {
439    z-index: 1000;
440    position: fixed;
441    top: 0;
442    left: 0;
443    right: 0;
444  }
445
446  .headroom--transition {
447    transition: all .4s ease-in-out;
448  }
449
450  .headroom--unpinned {
451    top: -100px;
452  }
453
454  .headroom--pinned {
455    top: 0;
456  }
457
458  /* adjust viewport for navbar height */
459  /* helps vertically center bootstrap (non-distill) content */
460  .min-vh-100 {
461    min-height: calc(100vh - 100px) !important;
462  }
463
464  </style>
465
466  
466<script src="site_libs/jquery-3.6.0/jquery-3.6.0.min.js"></script>
466
467  <link href="site_libs/font-awesome-6.4.2/css/all.min.css" rel="stylesheet"/>
468  <link href="site_libs/font-awesome-6.4.2/css/v4-shims.min.css" rel="stylesheet"/>
469  
469<script src="site_libs/headroom-0.9.4/headroom.min.js"></script>
469
470  
470<script src="site_libs/autocomplete-0.37.1/autocomplete.min.js"></script>
470
471  
471<script src="site_libs/fuse-6.4.1/fuse.min.js"></script>
471
472
473  
473<script type="application/javascript">
474
475  function getMeta(metaName) {
476    var metas = document.getElementsByTagName('meta');
477    for (let i = 0; i < metas.length; i++) {
478      if (metas[i].getAttribute('name') === metaName) {
479        return metas[i].getAttribute('content');
480      }
481    }
482    return '';
483  }
484
485  function offsetURL(url) {
486    var offset = getMeta('distill:offset');
487    return offset ? offset + '/' + url : url;
488  }
489
490  function createFuseIndex() {
491
492    // create fuse index
493    var options = {
494      keys: [
495        { name: 'title', weight: 20 },
496        { name: 'categories', weight: 15 },
497        { name: 'description', weight: 10 },
498        { name: 'contents', weight: 5 },
499      ],
500      ignoreLocation: true,
501      threshold: 0
502    };
503    var fuse = new window.Fuse([], options);
504
505    // fetch the main search.json
506    return fetch(offsetURL('search.json'))
507      .then(function(response) {
508        if (response.status == 200) {
509          return response.json().then(function(json) {
510            // index main articles
511            json.articles.forEach(function(article) {
512              fuse.add(article);
513            });
514            // download collections and index their articles
515            return Promise.all(json.collections.map(function(collection) {
516              return fetch(offsetURL(collection)).then(function(response) {
517                if (response.status === 200) {
518                  return response.json().then(function(articles) {
519                    articles.forEach(function(article) {
520                      fuse.add(article);
521                    });
522                  })
523                } else {
524                  return Promise.reject(
525                    new Error('Unexpected status from search index request: ' +
526                              response.status)
527                  );
528                }
529              });
530            })).then(function() {
531              return fuse;
532            });
533          });
534
535        } else {
536          return Promise.reject(
537            new Error('Unexpected status from search index request: ' +
538                        response.status)
539          );
540        }
541      });
542  }
543
544  window.document.addEventListener("DOMContentLoaded", function (event) {
545
546    // get search element (bail if we don't have one)
547    var searchEl = window.document.getElementById('distill-search');
548    if (!searchEl)
549      return;
550
551    createFuseIndex()
552      .then(function(fuse) {
553
554        // make search box visible
555        searchEl.classList.remove('hidden');
556
557        // initialize autocomplete
558        var options = {
559          autoselect: true,
560          hint: false,
561          minLength: 2,
562        };
563        window.autocomplete(searchEl, options, [{
564          source: function(query, callback) {
565            const searchOptions = {
566              isCaseSensitive: false,
567              shouldSort: true,
568              minMatchCharLength: 2,
569              limit: 10,
570            };
571            var results = fuse.search(query, searchOptions);
572            callback(results
573              .map(function(result) { return result.item; })
574            );
575          },
576          templates: {
577            suggestion: function(suggestion) {
578              var img = suggestion.preview && Object.keys(suggestion.preview).length > 0
579                ? `<img src="${offsetURL(suggestion.preview)}"</img>`
580                : '';
581              var html = `
582                <div class="search-item">
583                  <h3>${suggestion.title}</h3>
584                  <div class="search-item-description">
585                    ${suggestion.description || ''}
586                  </div>
587                  <div class="search-item-preview">
588                    ${img}
589                  </div>
590                </div>
591              `;
592              return html;
593            }
594          }
595        }]).on('autocomplete:selected', function(event, suggestion) {
596          window.location.href = offsetURL(suggestion.path);
597        });
598        // remove inline display style on autocompleter (we want to
599        // manage responsive display via css)
600        $('.algolia-autocomplete').css("display", "");
601      })
602      .catch(function(error) {
603        console.log(error);
604      });
605
606  });
607
608  </script>
608
609
610  <style type="text/css">
611
612  .nav-search {
613    font-size: x-small;
614  }
615
616  /* Algolioa Autocomplete */
617
618  .algolia-autocomplete {
619    display: inline-block;
620    margin-left: 10px;
621    vertical-align: sub;
622    background-color: white;
623    color: black;
624    padding: 6px;
625    padding-top: 8px;
626    padding-bottom: 0;
627    border-radius: 6px;
628    border: 1px #0F2E3D solid;
629    width: 180px;
630  }
631
632
633  @media screen and (max-width: 768px) {
634    .distill-site-nav .algolia-autocomplete {
635      display: none;
636      visibility: hidden;
637    }
638    .distill-site-nav.responsive .algolia-autocomplete {
639      display: inline-block;
640      visibility: visible;
641    }
642    .distill-site-nav.responsive .algolia-autocomplete .aa-dropdown-menu {
643      margin-left: 0;
644      width: 400px;
645      max-height: 400px;
646    }
647  }
648
649  .algolia-autocomplete .aa-input, .algolia-autocomplete .aa-hint {
650    width: 90%;
651    outline: none;
652    border: none;
653  }
654
655  .algolia-autocomplete .aa-hint {
656    color: #999;
657  }
658  .algolia-autocomplete .aa-dropdown-menu {
659    width: 550px;
660    max-height: 70vh;
661    overflow-x: visible;
662    overflow-y: scroll;
663    padding: 5px;
664    margin-top: 3px;
665    margin-left: -150px;
666    background-color: #fff;
667    border-radius: 5px;
668    border: 1px solid #999;
669    border-top: none;
670  }
671
672  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion {
673    cursor: pointer;
674    padding: 5px 4px;
675    border-bottom: 1px solid #eee;
676  }
677
678  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion:last-of-type {
679    border-bottom: none;
680    margin-bottom: 2px;
681  }
682
683  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item {
684    overflow: hidden;
685    font-size: 0.8em;
686    line-height: 1.4em;
687  }
688
689  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item h3 {
690    font-size: 1rem;
691    margin-block-start: 0;
692    margin-block-end: 5px;
693  }
694
695  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item-description {
696    display: inline-block;
697    overflow: hidden;
698    height: 2.8em;
699    width: 80%;
700    margin-right: 4%;
701  }
702
703  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item-preview {
704    display: inline-block;
705    width: 15%;
706  }
707
708  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item-preview img {
709    height: 3em;
710    width: auto;
711    display: none;
712  }
713
714  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item-preview img[src] {
715    display: initial;
716  }
717
718  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion.aa-cursor {
719    background-color: #eee;
720  }
721  .algolia-autocomplete .aa-dropdown-menu .aa-suggestion em {
722    font-weight: bold;
723    font-style: normal;
724  }
725
726  </style>
727
728
729  <!--/radix_placeholder_navigation_in_header-->
730  <!--radix_placeholder_distill-->
731
732  <style type="text/css">
733
734  body {
735    background-color: white;
736  }
737
738  .pandoc-table {
739    width: 100%;
740  }
741
742  .pandoc-table>caption {
743    margin-bottom: 10px;
744  }
745
746  .pandoc-table th:not([align]) {
747    text-align: left;
748  }
749
750  .pagedtable-footer {
751    font-size: 15px;
752  }
753
754  d-byline .byline {
755    grid-template-columns: 2fr 2fr;
756  }
757
758  d-byline .byline h3 {
759    margin-block-start: 1.5em;
760  }
761
762  d-byline .byline .authors-affiliations h3 {
763    margin-block-start: 0.5em;
764  }
765
766  .authors-affiliations .orcid-id {
767    width: 16px;
768    height:16px;
769    margin-left: 4px;
770    margin-right: 4px;
771    vertical-align: middle;
772    padding-bottom: 2px;
773  }
774
775  d-title .dt-tags {
776    margin-top: 1em;
777    grid-column: text;
778  }
779
780  .dt-tags .dt-tag {
781    text-decoration: none;
782    display: inline-block;
783    color: rgba(0,0,0,0.6);
784    padding: 0em 0.4em;
785    margin-right: 0.5em;
786    margin-bottom: 0.4em;
787    font-size: 70%;
788    border: 1px solid rgba(0,0,0,0.2);
789    border-radius: 3px;
790    text-transform: uppercase;
791    font-weight: 500;
792  }
793
794  d-article table.gt_table td,
795  d-article table.gt_table th {
796    border-bottom: none;
797    font-size: 100%;
798  }
799
800  .html-widget {
801    margin-bottom: 2.0em;
802  }
803
804  .l-screen-inset {
805    padding-right: 16px;
806  }
807
808  .l-screen .caption {
809    margin-left: 10px;
810  }
811
812  .shaded {
813    background: rgb(247, 247, 247);
814    padding-top: 20px;
815    padding-bottom: 20px;
816    border-top: 1px solid rgba(0, 0, 0, 0.1);
817    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
818  }
819
820  .shaded .html-widget {
821    margin-bottom: 0;
822    border: 1px solid rgba(0, 0, 0, 0.1);
823  }
824
825  .shaded .shaded-content {
826    background: white;
827  }
828
829  .text-output {
830    margin-top: 0;
831    line-height: 1.5em;
832  }
833
834  .hidden {
835    display: none !important;
836  }
837
838  hr.section-separator {
839    border: none;
840    border-top: 1px solid rgba(0, 0, 0, 0.1);
841    margin: 0px;
842  }
843
844
845  d-byline {
846    border-top: none;
847  }
848
849  d-article {
850    padding-top: 2.5rem;
851    padding-bottom: 30px;
852    border-top: none;
853  }
854
855  d-appendix {
856    padding-top: 30px;
857  }
858
859  d-article>p>img {
860    width: 100%;
861  }
862
863  d-article h2 {
864    margin: 1rem 0 1.5rem 0;
865  }
866
867  d-article h3 {
868    margin-top: 1.5rem;
869  }
870
871  d-article iframe {
872    border: 1px solid rgba(0, 0, 0, 0.1);
873    margin-bottom: 2.0em;
874    width: 100%;
875  }
876
877  /* Tweak code blocks */
878
879  d-article div.sourceCode code,
880  d-article pre code {
881    font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
882  }
883
884  d-article pre,
885  d-article div.sourceCode,
886  d-article div.sourceCode pre {
887    overflow: auto;
888  }
889
890  d-article div.sourceCode {
891    background-color: white;
892  }
893
894  d-article div.sourceCode pre {
895    padding-left: 10px;
896    font-size: 12px;
897    border-left: 2px solid rgba(0,0,0,0.1);
898  }
899
900  d-article pre {
901    font-size: 12px;
902    color: black;
903    background: none;
904    margin-top: 0;
905    text-align: left;
906    white-space: pre;
907    word-spacing: normal;
908    word-break: normal;
909    word-wrap: normal;
910    line-height: 1.5;
911
912    -moz-tab-size: 4;
913    -o-tab-size: 4;
914    tab-size: 4;
915
916    -webkit-hyphens: none;
917    -moz-hyphens: none;
918    -ms-hyphens: none;
919    hyphens: none;
920  }
921
922  d-article pre a {
923    border-bottom: none;
924  }
925
926  d-article pre a:hover {
927    border-bottom: none;
928    text-decoration: underline;
929  }
930
931  d-article details {
932    grid-column: text;
933    margin-bottom: 0.8em;
934  }
935
936  @media(min-width: 768px) {
937
938  d-article pre,
939  d-article div.sourceCode,
940  d-article div.sourceCode pre {
941    overflow: visible !important;
942  }
943
944  d-article div.sourceCode pre {
945    padding-left: 18px;
946    font-size: 14px;
947  }
948
949  /* tweak for Pandoc numbered line within distill */
950  d-article pre.numberSource code > span {
951      left: -2em;
952  }
953
954  d-article pre {
955    font-size: 14px;
956  }
957
958  }
959
960  figure img.external {
961    background: white;
962    border: 1px solid rgba(0, 0, 0, 0.1);
963    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
964    padding: 18px;
965    box-sizing: border-box;
966  }
967
968  /* CSS for d-contents */
969
970  .d-contents {
971    grid-column: text;
972    color: rgba(0,0,0,0.8);
973    font-size: 0.9em;
974    padding-bottom: 1em;
975    margin-bottom: 1em;
976    padding-bottom: 0.5em;
977    margin-bottom: 1em;
978    padding-left: 0.25em;
979    justify-self: start;
980  }
981
982  @media(min-width: 1000px) {
983    .d-contents.d-contents-float {
984      height: 0;
985      grid-column-start: 1;
986      grid-column-end: 4;
987      justify-self: center;
988      padding-right: 3em;
989      padding-left: 2em;
990    }
991  }
992
993  .d-contents nav h3 {
994    font-size: 18px;
995    margin-top: 0;
996    margin-bottom: 1em;
997  }
998
999  .d-contents li {
1000    list-style-type: none
1001  }
1002
1003  .d-contents nav > ul {
1004    padding-left: 0;
1005  }
1006
1007  .d-contents ul {
1008    padding-left: 1em
1009  }
1010
1011  .d-contents nav ul li {
1012    margin-top: 0.6em;
1013    margin-bottom: 0.2em;
1014  }
1015
1016  .d-contents nav a {
1017    font-size: 13px;
1018    border-bottom: none;
1019    text-decoration: none
1020    color: rgba(0, 0, 0, 0.8);
1021  }
1022
1023  .d-contents nav a:hover {
1024    text-decoration: underline solid rgba(0, 0, 0, 0.6)
1025  }
1026
1027  .d-contents nav > ul > li > a {
1028    font-weight: 600;
1029  }
1030
1031  .d-contents nav > ul > li > ul {
1032    font-weight: inherit;
1033  }
1034
1035  .d-contents nav > ul > li > ul > li {
1036    margin-top: 0.2em;
1037  }
1038
1039
1040  .d-contents nav ul {
1041    margin-top: 0;
1042    margin-bottom: 0.25em;
1043  }
1044
1045  .d-article-with-toc h2:nth-child(2) {
1046    margin-top: 0;
1047  }
1048
1049
1050  /* Figure */
1051
1052  .figure {
1053    position: relative;
1054    margin-bottom: 2.5em;
1055    margin-top: 1.5em;
1056  }
1057
1058  .figure .caption {
1059    color: rgba(0, 0, 0, 0.6);
1060    font-size: 12px;
1061    line-height: 1.5em;
1062  }
1063
1064  .figure img.external {
1065    background: white;
1066    border: 1px solid rgba(0, 0, 0, 0.1);
1067    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
1068    padding: 18px;
1069    box-sizing: border-box;
1070  }
1071
1072  .figure .caption a {
1073    color: rgba(0, 0, 0, 0.6);
1074  }
1075
1076  .figure .caption b,
1077  .figure .caption strong, {
1078    font-weight: 600;
1079    color: rgba(0, 0, 0, 1.0);
1080  }
1081
1082  /* Citations */
1083
1084  d-article .citation {
1085    color: inherit;
1086    cursor: inherit;
1087  }
1088
1089  div.hanging-indent{
1090    margin-left: 1em; text-indent: -1em;
1091  }
1092
1093  /* Citation hover box */
1094
1095  .tippy-box[data-theme~=light-border] {
1096    background-color: rgba(250, 250, 250, 0.95);
1097  }
1098
1099  .tippy-content > p {
1100    margin-bottom: 0;
1101    padding: 2px;
1102  }
1103
1104
1105  /* Tweak 1000px media break to show more text */
1106
1107  @media(min-width: 1000px) {
1108    .base-grid,
1109    distill-header,
1110    d-title,
1111    d-abstract,
1112    d-article,
1113    d-appendix,
1114    distill-appendix,
1115    d-byline,
1116    d-footnote-list,
1117    d-citation-list,
1118    distill-footer {
1119      grid-template-columns: [screen-start] 1fr [page-start kicker-start] 80px [middle-start] 50px [text-start kicker-end] 65px 65px 65px 65px 65px 65px 65px 65px [text-end gutter-start] 65px [middle-end] 65px [page-end gutter-end] 1fr [screen-end];
1120      grid-column-gap: 16px;
1121    }
1122
1123    .grid {
1124      grid-column-gap: 16px;
1125    }
1126
1127    d-article {
1128      font-size: 1.06rem;
1129      line-height: 1.7em;
1130    }
1131    figure .caption, .figure .caption, figure figcaption {
1132      font-size: 13px;
1133    }
1134  }
1135
1136  @media(min-width: 1180px) {
1137    .base-grid,
1138    distill-header,
1139    d-title,
1140    d-abstract,
1141    d-article,
1142    d-appendix,
1143    distill-appendix,
1144    d-byline,
1145    d-footnote-list,
1146    d-citation-list,
1147    distill-footer {
1148      grid-template-columns: [screen-start] 1fr [page-start kicker-start] 60px [middle-start] 60px [text-start kicker-end] 60px 60px 60px 60px 60px 60px 60px 60px [text-end gutter-start] 60px [middle-end] 60px [page-end gutter-end] 1fr [screen-end];
1149      grid-column-gap: 32px;
1150    }
1151
1152    .grid {
1153      grid-column-gap: 32px;
1154    }
1155  }
1156
1157
1158  /* Get the citation styles for the appendix (not auto-injected on render since
1159     we do our own rendering of the citation appendix) */
1160
1161  d-appendix .citation-appendix,
1162  .d-appendix .citation-appendix {
1163    font-size: 11px;
1164    line-height: 15px;
1165    border-left: 1px solid rgba(0, 0, 0, 0.1);
1166    padding-left: 18px;
1167    border: 1px solid rgba(0,0,0,0.1);
1168    background: rgba(0, 0, 0, 0.02);
1169    padding: 10px 18px;
1170    border-radius: 3px;
1171    color: rgba(150, 150, 150, 1);
1172    overflow: hidden;
1173    margin-top: -12px;
1174    white-space: pre-wrap;
1175    word-wrap: break-word;
1176  }
1177
1178  /* Include appendix styles here so they can be overridden */
1179
1180  d-appendix {
1181    contain: layout style;
1182    font-size: 0.8em;
1183    line-height: 1.7em;
1184    margin-top: 60px;
1185    margin-bottom: 0;
1186    border-top: 1px solid rgba(0, 0, 0, 0.1);
1187    color: rgba(0,0,0,0.5);
1188    padding-top: 60px;
1189    padding-bottom: 48px;
1190  }
1191
1192  d-appendix h3 {
1193    grid-column: page-start / text-start;
1194    font-size: 15px;
1195    font-weight: 500;
1196    margin-top: 1em;
1197    margin-bottom: 0;
1198    color: rgba(0,0,0,0.65);
1199  }
1200
1201  d-appendix h3 + * {
1202    margin-top: 1em;
1203  }
1204
1205  d-appendix ol {
1206    padding: 0 0 0 15px;
1207  }
1208
1209  @media (min-width: 768px) {
1210    d-appendix ol {
1211      padding: 0 0 0 30px;
1212      margin-left: -30px;
1213    }
1214  }
1215
1216  d-appendix li {
1217    margin-bottom: 1em;
1218  }
1219
1220  d-appendix a {
1221    color: rgba(0, 0, 0, 0.6);
1222  }
1223
1224  d-appendix > * {
1225    grid-column: text;
1226  }
1227
1228  d-appendix > d-footnote-list,
1229  d-appendix > d-citation-list,
1230  d-appendix > distill-appendix {
1231    grid-column: screen;
1232  }
1233
1234  /* Include footnote styles here so they can be overridden */
1235
1236  d-footnote-list {
1237    contain: layout style;
1238  }
1239
1240  d-footnote-list > * {
1241    grid-column: text;
1242  }
1243
1244  d-footnote-list a.footnote-backlink {
1245    color: rgba(0,0,0,0.3);
1246    padding-left: 0.5em;
1247  }
1248
1249
1250
1251  /* Anchor.js */
1252
1253  .anchorjs-link {
1254    /*transition: all .25s linear; */
1255    text-decoration: none;
1256    border-bottom: none;
1257  }
1258  *:hover > .anchorjs-link {
1259    margin-left: -1.125em !important;
1260    text-decoration: none;
1261    border-bottom: none;
1262  }
1263
1264  /* Social footer */
1265
1266  .social_footer {
1267    margin-top: 30px;
1268    margin-bottom: 0;
1269    color: rgba(0,0,0,0.67);
1270  }
1271
1272  .disqus-comments {
1273    margin-right: 30px;
1274  }
1275
1276  .disqus-comment-count {
1277    border-bottom: 1px solid rgba(0, 0, 0, 0.4);
1278    cursor: pointer;
1279  }
1280
1281  #disqus_thread {
1282    margin-top: 30px;
1283  }
1284
1285  .article-sharing a {
1286    border-bottom: none;
1287    margin-right: 8px;
1288  }
1289
1290  .article-sharing a:hover {
1291    border-bottom: none;
1292  }
1293
1294  .sidebar-section.subscribe {
1295    font-size: 12px;
1296    line-height: 1.6em;
1297  }
1298
1299  .subscribe p {
1300    margin-bottom: 0.5em;
1301  }
1302
1303
1304  .article-footer .subscribe {
1305    font-size: 15px;
1306    margin-top: 45px;
1307  }
1308
1309
1310  .sidebar-section.custom {
1311    font-size: 12px;
1312    line-height: 1.6em;
1313  }
1314
1315  .custom p {
1316    margin-bottom: 0.5em;
1317  }
1318
1319  /* Styles for listing layout (hide title) */
1320  .layout-listing d-title, .layout-listing .d-title {
1321    display: none;
1322  }
1323
1324  /* Styles for posts lists (not auto-injected) */
1325
1326
1327  .posts-with-sidebar {
1328    padding-left: 45px;
1329    padding-right: 45px;
1330  }
1331
1332  .posts-list .description h2,
1333  .posts-list .description p {
1334    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;
1335  }
1336
1337  .posts-list .description h2 {
1338    font-weight: 700;
1339    border-bottom: none;
1340    padding-bottom: 0;
1341  }
1342
1343  .posts-list h2.post-tag {
1344    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
1345    padding-bottom: 12px;
1346  }
1347  .posts-list {
1348    margin-top: 60px;
1349    margin-bottom: 24px;
1350  }
1351
1352  .posts-list .post-preview {
1353    text-decoration: none;
1354    overflow: hidden;
1355    display: block;
1356    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
1357    padding: 24px 0;
1358  }
1359
1360  .post-preview-last {
1361    border-bottom: none !important;
1362  }
1363
1364  .posts-list .posts-list-caption {
1365    grid-column: screen;
1366    font-weight: 400;
1367  }
1368
1369  .posts-list .post-preview h2 {
1370    margin: 0 0 6px 0;
1371    line-height: 1.2em;
1372    font-style: normal;
1373    font-size: 24px;
1374  }
1375
1376  .posts-list .post-preview p {
1377    margin: 0 0 12px 0;
1378    line-height: 1.4em;
1379    font-size: 16px;
1380  }
1381
1382  .posts-list .post-preview .thumbnail {
1383    box-sizing: border-box;
1384    margin-bottom: 24px;
1385    position: relative;
1386    max-width: 500px;
1387  }
1388  .posts-list .post-preview img {
1389    width: 100%;
1390    display: block;
1391  }
1392
1393  .posts-list .metadata {
1394    font-size: 12px;
1395    line-height: 1.4em;
1396    margin-bottom: 18px;
1397  }
1398
1399  .posts-list .metadata > * {
1400    display: inline-block;
1401  }
1402
1403  .posts-list .metadata .publishedDate {
1404    margin-right: 2em;
1405  }
1406
1407  .posts-list .metadata .dt-authors {
1408    display: block;
1409    margin-top: 0.3em;
1410    margin-right: 2em;
1411  }
1412
1413  .posts-list .dt-tags {
1414    display: block;
1415    line-height: 1em;
1416  }
1417
1418  .posts-list .dt-tags .dt-tag {
1419    display: inline-block;
1420    color: rgba(0,0,0,0.6);
1421    padding: 0.3em 0.4em;
1422    margin-right: 0.2em;
1423    margin-bottom: 0.4em;
1424    font-size: 60%;
1425    border: 1px solid rgba(0,0,0,0.2);
1426    border-radius: 3px;
1427    text-transform: uppercase;
1428    font-weight: 500;
1429  }
1430
1431  .posts-list img {
1432    opacity: 1;
1433  }
1434
1435  .posts-list img[data-src] {
1436    opacity: 0;
1437  }
1438
1439  .posts-more {
1440    clear: both;
1441  }
1442
1443
1444  .posts-sidebar {
1445    font-size: 16px;
1446  }
1447
1448  .posts-sidebar h3 {
1449    font-size: 16px;
1450    margin-top: 0;
1451    margin-bottom: 0.5em;
1452    font-weight: 400;
1453    text-transform: uppercase;
1454  }
1455
1456  .sidebar-section {
1457    margin-bottom: 30px;
1458  }
1459
1460  .categories ul {
1461    list-style-type: none;
1462    margin: 0;
1463    padding: 0;
1464  }
1465
1466  .categories li {
1467    color: rgba(0, 0, 0, 0.8);
1468    margin-bottom: 0;
1469  }
1470
1471  .categories li>a {
1472    border-bottom: none;
1473  }
1474
1475  .categories li>a:hover {
1476    border-bottom: 1px solid rgba(0, 0, 0, 0.4);
1477  }
1478
1479  .categories .active {
1480    font-weight: 600;
1481  }
1482
1483  .categories .category-count {
1484    color: rgba(0, 0, 0, 0.4);
1485  }
1486
1487
1488  @media(min-width: 768px) {
1489    .posts-list .post-preview h2 {
1490      font-size: 26px;
1491    }
1492    .posts-list .post-preview .thumbnail {
1493      float: right;
1494      width: 30%;
1495      margin-bottom: 0;
1496    }
1497    .posts-list .post-preview .description {
1498      float: left;
1499      width: 45%;
1500    }
1501    .posts-list .post-preview .metadata {
1502      float: left;
1503      width: 20%;
1504      margin-top: 8px;
1505    }
1506    .posts-list .post-preview p {
1507      margin: 0 0 12px 0;
1508      line-height: 1.5em;
1509      font-size: 16px;
1510    }
1511    .posts-with-sidebar .posts-list {
1512      float: left;
1513      width: 75%;
1514    }
1515    .posts-with-sidebar .posts-sidebar {
1516      float: right;
1517      width: 20%;
1518      margin-top: 60px;
1519      padding-top: 24px;
1520      padding-bottom: 24px;
1521    }
1522  }
1523
1524
1525  /* Improve display for browsers without grid (IE/Edge <= 15) */
1526
1527  .downlevel {
1528    line-height: 1.6em;
1529    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;
1530    margin: 0;
1531  }
1532
1533  .downlevel .d-title {
1534    padding-top: 6rem;
1535    padding-bottom: 1.5rem;
1536  }
1537
1538  .downlevel .d-title h1 {
1539    font-size: 50px;
1540    font-weight: 700;
1541    line-height: 1.1em;
1542    margin: 0 0 0.5rem;
1543  }
1544
1545  .downlevel .d-title p {
1546    font-weight: 300;
1547    font-size: 1.2rem;
1548    line-height: 1.55em;
1549    margin-top: 0;
1550  }
1551
1552  .downlevel .d-byline {
1553    padding-top: 0.8em;
1554    padding-bottom: 0.8em;
1555    font-size: 0.8rem;
1556    line-height: 1.8em;
1557  }
1558
1559  .downlevel .section-separator {
1560    border: none;
1561    border-top: 1px solid rgba(0, 0, 0, 0.1);
1562  }
1563
1564  .downlevel .d-article {
1565    font-size: 1.06rem;
1566    line-height: 1.7em;
1567    padding-top: 1rem;
1568    padding-bottom: 2rem;
1569  }
1570
1571
1572  .downlevel .d-appendix {
1573    padding-left: 0;
1574    padding-right: 0;
1575    max-width: none;
1576    font-size: 0.8em;
1577    line-height: 1.7em;
1578    margin-bottom: 0;
1579    color: rgba(0,0,0,0.5);
1580    padding-top: 40px;
1581    padding-bottom: 48px;
1582  }
1583
1584  .downlevel .footnotes ol {
1585    padding-left: 13px;
1586  }
1587
1588  .downlevel .base-grid,
1589  .downlevel .distill-header,
1590  .downlevel .d-title,
1591  .downlevel .d-abstract,
1592  .downlevel .d-article,
1593  .downlevel .d-appendix,
1594  .downlevel .distill-appendix,
1595  .downlevel .d-byline,
1596  .downlevel .d-footnote-list,
1597  .downlevel .d-citation-list,
1598  .downlevel .distill-footer,
1599  .downlevel .appendix-bottom,
1600  .downlevel .posts-container {
1601    padding-left: 40px;
1602    padding-right: 40px;
1603  }
1604
1605  @media(min-width: 768px) {
1606    .downlevel .base-grid,
1607    .downlevel .distill-header,
1608    .downlevel .d-title,
1609    .downlevel .d-abstract,
1610    .downlevel .d-article,
1611    .downlevel .d-appendix,
1612    .downlevel .distill-appendix,
1613    .downlevel .d-byline,
1614    .downlevel .d-footnote-list,
1615    .downlevel .d-citation-list,
1616    .downlevel .distill-footer,
1617    .downlevel .appendix-bottom,
1618    .downlevel .posts-container {
1619    padding-left: 150px;
1620    padding-right: 150px;
1621    max-width: 900px;
1622  }
1623  }
1624
1625  .downlevel pre code {
1626    display: block;
1627    border-left: 2px solid rgba(0, 0, 0, .1);
1628    padding: 0 0 0 20px;
1629    font-size: 14px;
1630  }
1631
1632  .downlevel code, .downlevel pre {
1633    color: black;
1634    background: none;
1635    font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
1636    text-align: left;
1637    white-space: pre;
1638    word-spacing: normal;
1639    word-break: normal;
1640    word-wrap: normal;
1641    line-height: 1.5;
1642
1643    -moz-tab-size: 4;
1644    -o-tab-size: 4;
1645    tab-size: 4;
1646
1647    -webkit-hyphens: none;
1648    -moz-hyphens: none;
1649    -ms-hyphens: none;
1650    hyphens: none;
1651  }
1652
1653  .downlevel .posts-list .post-preview {
1654    color: inherit;
1655  }
1656
1657
1658
1659  </style>
1660
1661  
1661<script type="application/javascript">
1662
1663  function is_downlevel_browser() {
1664    if (bowser.isUnsupportedBrowser({ msie: "12", msedge: "16"},
1665                                   window.navigator.userAgent)) {
1666      return true;
1667    } else {
1668      return window.load_distill_framework === undefined;
1669    }
1670  }
1671
1672  // show body when load is complete
1673  function on_load_complete() {
1674
1675    // add anchors
1676    if (window.anchors) {
1677      window.anchors.options.placement = 'left';
1678      window.anchors.add('d-article > h2, d-article > h3, d-article > h4, d-article > h5');
1679    }
1680
1681
1682    // set body to visible
1683    document.body.style.visibility = 'visible';
1684
1685    // force redraw for leaflet widgets
1686    if (window.HTMLWidgets) {
1687      var maps = window.HTMLWidgets.findAll(".leaflet");
1688      $.each(maps, function(i, el) {
1689        var map = this.getMap();
1690        map.invalidateSize();
1691        map.eachLayer(function(layer) {
1692          if (layer instanceof L.TileLayer)
1693            layer.redraw();
1694        });
1695      });
1696    }
1697
1698    // trigger 'shown' so htmlwidgets resize
1699    $('d-article').trigger('shown');
1700  }
1701
1702  function init_distill() {
1703
1704    init_common();
1705
1706    // create front matter
1707    var front_matter = $('<d-front-matter></d-front-matter>');
1708    $('#distill-front-matter').wrap(front_matter);
1709
1710    // create d-title
1711    $('.d-title').changeElementType('d-title');
1712
1713    // separator
1714    var separator = '<hr class="section-separator" style="clear: both"/>';
1715    // prepend separator above appendix
1716    $('.d-byline').before(separator);
1717    $('.d-article').before(separator);
1718
1719    // create d-byline
1720    var byline = $('<d-byline></d-byline>');
1721    $('.d-byline').replaceWith(byline);
1722
1723    // create d-article
1724    var article = $('<d-article></d-article>');
1725    $('.d-article').wrap(article).children().unwrap();
1726
1727    // move posts container into article
1728    $('.posts-container').appendTo($('d-article'));
1729
1730    // create d-appendix
1731    $('.d-appendix').changeElementType('d-appendix');
1732
1733    // flag indicating that we have appendix items
1734    var appendix = $('.appendix-bottom').children('h3').length > 0;
1735
1736    // replace footnotes with <d-footnote>
1737    $('.footnote-ref').each(function(i, val) {
1738      appendix = true;
1739      var href = $(this).attr('href');
1740      var id = href.replace('#', '');
1741      var fn = $('#' + id);
1742      var fn_p = $('#' + id + '>p');
1743      fn_p.find('.footnote-back').remove();
1744      var text = fn_p.html();
1745      var dtfn = $('<d-footnote></d-footnote>');
1746      dtfn.html(text);
1747      $(this).replaceWith(dtfn);
1748    });
1749    // remove footnotes
1750    $('.footnotes').remove();
1751
1752    // move refs into #references-listing
1753    $('#references-listing').replaceWith($('#refs'));
1754
1755    $('h1.appendix, h2.appendix').each(function(i, val) {
1756      $(this).changeElementType('h3');
1757    });
1758    $('h3.appendix').each(function(i, val) {
1759      var id = $(this).attr('id');
1760      $('.d-contents a[href="#' + id + '"]').parent().remove();
1761      appendix = true;
1762      $(this).nextUntil($('h1, h2, h3')).addBack().appendTo($('d-appendix'));
1763    });
1764
1765    // show d-appendix if we have appendix content
1766    $("d-appendix").css('display', appendix ? 'grid' : 'none');
1767
1768    // localize layout chunks to just output
1769    $('.layout-chunk').each(function(i, val) {
1770
1771      // capture layout
1772      var layout = $(this).attr('data-layout');
1773
1774      // apply layout to markdown level block elements
1775      var elements = $(this).children().not('details, div.sourceCode, pre, script');
1776      elements.each(function(i, el) {
1777        var layout_div = $('<div class="' + layout + '"></div>');
1778        if (layout_div.hasClass('shaded')) {
1779          var shaded_content = $('<div class="shaded-content"></div>');
1780          $(this).wrap(shaded_content);
1781          $(this).parent().wrap(layout_div);
1782        } else {
1783          $(this).wrap(layout_div);
1784        }
1785      });
1786
1787
1788      // unwrap the layout-chunk div
1789      $(this).children().unwrap();
1790    });
1791
1792    // remove code block used to force  highlighting css
1793    $('.distill-force-highlighting-css').parent().remove();
1794
1795    // remove empty line numbers inserted by pandoc when using a
1796    // custom syntax highlighting theme, except when numbering line
1797    // in code chunk
1798    $('pre:not(.numberLines) code.sourceCode a:empty').remove();
1799
1800    // load distill framework
1801    load_distill_framework();
1802
1803    // wait for window.distillRunlevel == 4 to do post processing
1804    function distill_post_process() {
1805
1806      if (!window.distillRunlevel || window.distillRunlevel < 4)
1807        return;
1808
1809      // hide author/affiliations entirely if we have no authors
1810      var front_matter = JSON.parse($("#distill-front-matter").html());
1811      var have_authors = front_matter.authors && front_matter.authors.length > 0;
1812      if (!have_authors)
1813        $('d-byline').addClass('hidden');
1814
1815      // article with toc class
1816      $('.d-contents').parent().addClass('d-article-with-toc');
1817
1818      // strip links that point to #
1819      $('.authors-affiliations').find('a[href="#"]').removeAttr('href');
1820
1821      // add orcid ids
1822      $('.authors-affiliations').find('.author').each(function(i, el) {
1823        var orcid_id = front_matter.authors[i].orcidID;
1824        var author_name = front_matter.authors[i].author
1825        if (orcid_id) {
1826          var a = $('<a></a>');
1827          a.attr('href', 'https://orcid.org/' + orcid_id);
1828          var img = $('<img></img>');
1829          img.addClass('orcid-id');
1830          img.attr('alt', author_name ? 'ORCID ID for ' + author_name : 'ORCID ID');
1831          img.attr('src','data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1N0NEMjA4MDI1MjA2ODExOTk0QzkzNTEzRjZEQTg1NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozM0NDOEJGNEZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozM0NDOEJGM0ZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZDN0YxMTc0MDcyMDY4MTE5NUZFRDc5MUM2MUUwNEREIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU3Q0QyMDgwMjUyMDY4MTE5OTRDOTM1MTNGNkRBODU3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+84NovQAAAR1JREFUeNpiZEADy85ZJgCpeCB2QJM6AMQLo4yOL0AWZETSqACk1gOxAQN+cAGIA4EGPQBxmJA0nwdpjjQ8xqArmczw5tMHXAaALDgP1QMxAGqzAAPxQACqh4ER6uf5MBlkm0X4EGayMfMw/Pr7Bd2gRBZogMFBrv01hisv5jLsv9nLAPIOMnjy8RDDyYctyAbFM2EJbRQw+aAWw/LzVgx7b+cwCHKqMhjJFCBLOzAR6+lXX84xnHjYyqAo5IUizkRCwIENQQckGSDGY4TVgAPEaraQr2a4/24bSuoExcJCfAEJihXkWDj3ZAKy9EJGaEo8T0QSxkjSwORsCAuDQCD+QILmD1A9kECEZgxDaEZhICIzGcIyEyOl2RkgwAAhkmC+eAm0TAAAAABJRU5ErkJggg==');
1832          a.append(img);
1833          $(this).append(a);
1834        }
1835      });
1836
1837      // hide elements of author/affiliations grid that have no value
1838      function hide_byline_column(caption) {
1839        $('d-byline').find('h3:contains("' + caption + '")').parent().css('visibility', 'hidden');
1840      }
1841
1842      // affiliations
1843      var have_affiliations = false;
1844      for (var i = 0; i<front_matter.authors.length; ++i) {
1845        var author = front_matter.authors[i];
1846        if (author.affiliation !== "&nbsp;") {
1847          have_affiliations = true;
1848          break;
1849        }
1850      }
1851      if (!have_affiliations)
1852        $('d-byline').find('h3:contains("Affiliations")').css('visibility', 'hidden');
1853
1854      // published date
1855      if (!front_matter.publishedDate)
1856        hide_byline_column("Published");
1857
1858      // document object identifier
1859      var doi = $('d-byline').find('h3:contains("DOI")');
1860      var doi_p = doi.next().empty();
1861      if (!front_matter.doi) {
1862        // if we have a citation and valid citationText then link to that
1863        if ($('#citation').length > 0 && front_matter.citationText) {
1864          doi.html('Citation');
1865          $('<a href="#citation"></a>')
1866            .text(front_matter.citationText)
1867            .appendTo(doi_p);
1868        } else {
1869          hide_byline_column("DOI");
1870        }
1871      } else {
1872        $('<a></a>')
1873           .attr('href', "https://doi.org/" + front_matter.doi)
1874           .html(front_matter.doi)
1875           .appendTo(doi_p);
1876      }
1877
1878       // change plural form of authors/affiliations
1879      if (front_matter.authors.length === 1) {
1880        var grid = $('.authors-affiliations');
1881        grid.children('h3:contains("Authors")').text('Author');
1882        grid.children('h3:contains("Affiliations")').text('Affiliation');
1883      }
1884
1885      // remove d-appendix and d-footnote-list local styles
1886      $('d-appendix > style:first-child').remove();
1887      $('d-footnote-list > style:first-child').remove();
1888
1889      // move appendix-bottom entries to the bottom
1890      $('.appendix-bottom').appendTo('d-appendix').children().unwrap();
1891      $('.appendix-bottom').remove();
1892
1893      // hoverable references
1894      $('span.citation[data-cites]').each(function() {
1895        const citeChild = $(this).children()[0]
1896        // Do not process if @xyz has been used without escaping and without bibliography activated
1897        // https://github.com/rstudio/distill/issues/466
1898        if (citeChild === undefined) return true
1899
1900        if (citeChild.nodeName == "D-FOOTNOTE") {
1901          var fn = citeChild
1902          $(this).html(fn.shadowRoot.querySelector("sup"))
1903          $(this).id = fn.id
1904          fn.remove()
1905        }
1906        var refs = $(this).attr('data-cites').split(" ");
1907        var refHtml = refs.map(function(ref) {
1908          // Could use CSS.escape too here, we insure backward compatibility in navigator
1909          return "<p>" + $('div[id="ref-' + ref + '"]').html() + "</p>";
1910        }).join("\n");
1911        window.tippy(this, {
1912          allowHTML: true,
1913          content: refHtml,
1914          maxWidth: 500,
1915          interactive: true,
1916          interactiveBorder: 10,
1917          theme: 'light-border',
1918          placement: 'bottom-start'
1919        });
1920      });
1921
1922      // fix footnotes in tables (#411)
1923      // replacing broken distill.pub feature
1924      $('table d-footnote').each(function() {
1925        // we replace internal showAtNode methode which is triggered when hovering a footnote
1926        this.hoverBox.showAtNode = function(node) {
1927          // ported from https://github.com/distillpub/template/pull/105/files
1928          calcOffset = function(elem) {
1929              let x = elem.offsetLeft;
1930              let y = elem.offsetTop;
1931              // Traverse upwards until an `absolute` element is found or `elem`
1932              // becomes null.
1933              while (elem = elem.offsetParent && elem.style.position != 'absolute') {
1934                  x += elem.offsetLeft;
1935                  y += elem.offsetTop;
1936              }
1937
1938              return { left: x, top: y };
1939          }
1940          // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetTop
1941          const bbox = node.getBoundingClientRect();
1942          const offset = calcOffset(node);
1943          this.show([offset.left + bbox.width, offset.top + bbox.height]);
1944        }
1945      })
1946
1947      // clear polling timer
1948      clearInterval(tid);
1949
1950      // show body now that everything is ready
1951      on_load_complete();
1952    }
1953
1954    var tid = setInterval(distill_post_process, 50);
1955    distill_post_process();
1956
1957  }
1958
1959  function init_downlevel() {
1960
1961    init_common();
1962
1963     // insert hr after d-title
1964    $('.d-title').after($('<hr class="section-separator"/>'));
1965
1966    // check if we have authors
1967    var front_matter = JSON.parse($("#distill-front-matter").html());
1968    var have_authors = front_matter.authors && front_matter.authors.length > 0;
1969
1970    // manage byline/border
1971    if (!have_authors)
1972      $('.d-byline').remove();
1973    $('.d-byline').after($('<hr class="section-separator"/>'));
1974    $('.d-byline a').remove();
1975
1976    // remove toc
1977    $('.d-contents').remove();
1978
1979    // move appendix elements
1980    $('h1.appendix, h2.appendix').each(function(i, val) {
1981      $(this).changeElementType('h3');
1982    });
1983    $('h3.appendix').each(function(i, val) {
1984      $(this).nextUntil($('h1, h2, h3')).addBack().appendTo($('.d-appendix'));
1985    });
1986
1987
1988    // inject headers into references and footnotes
1989    var refs_header = $('<h3></h3>');
1990    refs_header.text('References');
1991    $('#refs').prepend(refs_header);
1992
1993    var footnotes_header = $('<h3></h3');
1994    footnotes_header.text('Footnotes');
1995    $('.footnotes').children('hr').first().replaceWith(footnotes_header);
1996
1997    // move appendix-bottom entries to the bottom
1998    $('.appendix-bottom').appendTo('.d-appendix').children().unwrap();
1999    $('.appendix-bottom').remove();
2000
2001    // remove appendix if it's empty
2002    if ($('.d-appendix').children().length === 0)
2003      $('.d-appendix').remove();
2004
2005    // prepend separator above appendix
2006    $('.d-appendix').before($('<hr class="section-separator" style="clear: both"/>'));
2007
2008    // trim code
2009    $('pre>code').each(function(i, val) {
2010      $(this).html($.trim($(this).html()));
2011    });
2012
2013    // move posts-container right before article
2014    $('.posts-container').insertBefore($('.d-article'));
2015
2016    $('body').addClass('downlevel');
2017
2018    on_load_complete();
2019  }
2020
2021
2022  function init_common() {
2023
2024    // jquery plugin to change element types
2025    (function($) {
2026      $.fn.changeElementType = function(newType) {
2027        var attrs = {};
2028
2029        $.each(this[0].attributes, function(idx, attr) {
2030          attrs[attr.nodeName] = attr.nodeValue;
2031        });
2032
2033        this.replaceWith(function() {
2034          return $("<" + newType + "/>", attrs).append($(this).contents());
2035        });
2036      };
2037    })(jQuery);
2038
2039    // prevent underline for linked images
2040    $('a > img').parent().css({'border-bottom' : 'none'});
2041
2042    // mark non-body figures created by knitr chunks as 100% width
2043    $('.layout-chunk').each(function(i, val) {
2044      var figures = $(this).find('img, .html-widget');
2045      // ignore leaflet img layers (#106)
2046      figures = figures.filter(':not(img[class*="leaflet"])')
2047      if ($(this).attr('data-layout') !== "l-body") {
2048        figures.css('width', '100%');
2049      } else {
2050        figures.css('max-width', '100%');
2051        figures.filter("[width]").each(function(i, val) {
2052          var fig = $(this);
2053          fig.css('width', fig.attr('width') + 'px');
2054        });
2055
2056      }
2057    });
2058
2059    // auto-append index.html to post-preview links in file: protocol
2060    // and in rstudio ide preview
2061    $('.post-preview').each(function(i, val) {
2062      if (window.location.protocol === "file:")
2063        $(this).attr('href', $(this).attr('href') + "index.html");
2064    });
2065
2066    // get rid of index.html references in header
2067    if (window.location.protocol !== "file:") {
2068      $('.distill-site-header a[href]').each(function(i,val) {
2069        $(this).attr('href', $(this).attr('href').replace(/^index[.]html/, "./"));
2070      });
2071    }
2072
2073    // add class to pandoc style tables
2074    $('tr.header').parent('thead').parent('table').addClass('pandoc-table');
2075    $('.kable-table').children('table').addClass('pandoc-table');
2076
2077    // add figcaption style to table captions
2078    $('caption').parent('table').addClass("figcaption");
2079
2080    // initialize posts list
2081    if (window.init_posts_list)
2082      window.init_posts_list();
2083
2084    // implmement disqus comment link
2085    $('.disqus-comment-count').click(function() {
2086      window.headroom_prevent_pin = true;
2087      $('#disqus_thread').toggleClass('hidden');
2088      if (!$('#disqus_thread').hasClass('hidden')) {
2089        var offset = $(this).offset();
2090        $(window).resize();
2091        $('html, body').animate({
2092          scrollTop: offset.top - 35
2093        });
2094      }
2095    });
2096  }
2097
2098  document.addEventListener('DOMContentLoaded', function() {
2099    if (is_downlevel_browser())
2100      init_downlevel();
2101    else
2102      window.addEventListener('WebComponentsReady', init_distill);
2103  });
2104
2105  </script>
2105
2106
2107  <!--/radix_placeholder_distill-->
2108  
2108<script src="site_libs/header-attrs-2.27/header-attrs.js"></script>
2108
2109  
2109<script src="site_libs/popper-2.6.0/popper.min.js"></script>
2109
2110  <link href="site_libs/tippy-6.2.7/tippy.css" rel="stylesheet" />
2111  <link href="site_libs/tippy-6.2.7/tippy-light-border.css" rel="stylesheet" />
2112  
2112<script src="site_libs/tippy-6.2.7/tippy.umd.min.js"></script>
2112
2113  
2113<script src="site_libs/anchor-4.2.2/anchor.min.js"></script>
2113
2114  
2114<script src="site_libs/bowser-1.9.3/bowser.min.js"></script>
2114
2115  
2115<script src="site_libs/webcomponents-2.0.0/webcomponents.js"></script>
2115
2116  
2116<script src="site_libs/distill-2.2.21/template.v2.js"></script>
2116
2117  <!--radix_placeholder_site_in_header-->
vendor: 115 bytes, lines 2117-2118
2117
2118  <script type="text/javascript" cookie-consent="tracking" async src="https://www.googletagmanager.com/gtag/js?id=
2118G-PNBY03CMKW
vendor: 14 bytes, lines 2118-2119
2118"></script>
2119  
2119<script type="text/javascript" cookie-consent="tracking">
2120  
vendor: 133 bytes, lines 2120-2123
2120window.dataLayer = window.dataLayer || [];
2121  function gtag(){dataLayer.push(arguments);}
2122  gtag('js', new Date());
2123  gtag('config', '
2123G-PNBY03CMKW
vendor: 6 bytes, lines 2123-2124
2123');
2124  
2124</script>
2124
2125  <!--/radix_placeholder_site_in_header-->
2126
2127
2128</head>
2129
2130<body>
2131
2132<!--radix_placeholder_front_matter-->
2133
2134<script id="distill-front-matter" type="text/json">
2135{"title":"Unpacking precarious work: OECD case studies","description":"<a href=\"https://uni-tuebingen.de/studium/studienangebot/ueberfachliche-kompetenzen/transdisciplinary-course-program/\" target=\"_blank\" rel=\"noopener noreferrer\">\"Transdisciplinary Course Program\" at the University of T&#252;bingen<\/a>","authors":[]}
2136</script>
2136
2137
2138<!--/radix_placeholder_front_matter-->
2139<!--radix_placeholder_navigation_before_body-->
2140<header class="header header--fixed" role="banner">
2141<nav class="distill-site-nav distill-site-header">
2142<div class="nav-left">
2143<a class='title' href='/'>Labor Market Dualism</a>
2144<input id="distill-search" class="nav-search hidden" type="text" placeholder="Search..."/>
2145</div>
2146<div class="nav-right">
2147<a href='/schedule'>Schedule</a>
2148<a href='/syllabus'>Syllabus</a>
2149<a href="https://github.com/ko-suta/labor-dualism-tuebingen">
2150<i class="fab fa-github" aria-hidden="true"></i>
2151</a>
2152<a href="javascript:void(0);" class="nav-toggle">&#9776;</a>
2153</div>
2154</nav>
2155</header>
2156<!--/radix_placeholder_navigation_before_body-->
2157<!--radix_placeholder_site_before_body-->
2158<!--/radix_placeholder_site_before_body-->
2159
2160<div class="d-title">
2161<h1>Unpacking precarious work: OECD case studies</h1>
2162
2163<!--radix_placeholder_categories-->
2164<!--/radix_placeholder_categories-->
2165<p><a href="https://uni-tuebingen.de/studium/studienangebot/ueberfachliche-kompetenzen/transdisciplinary-course-program/" target="_blank" rel="noopener noreferrer">“Transdisciplinary Course Program” at the University of Tübingen</a></p>
2166</div>
2167
2168
2169<div class="d-article">
2170<p>This is the home page for the <strong><span style="color:white;background-color:black">Unpacking precarious work: OECD case studies</span></strong> course at the <strong><span style="color:darkred">University of Tübingen</span></strong>, “<a href="https://uni-tuebingen.de/studium/studienangebot/ueberfachliche-kompetenzen/transdisciplinary-course-program/" target="_blank" rel="noopener noreferrer">Transdisciplinary Course Program</a>” (Summer 2024).
2171All course materials will be posted on this site.</p>
2172<p><strong>Instructor</strong>: <a href="https://kovsiannikov.com">Kostiantyn Ovsiannikov</a><br />
2173<strong>Meeting times</strong>: <span style="color:blue">Thursday</span>, 11:00-14:45 (GMT+1)<br />
2174<strong>Venue</strong>: online (access via <em>Moodle</em>)<br />
2175<strong>Syllabus</strong>: <a href='/syllabus'>click here</a><br />
2176Upcoming <strong>lectures</strong> and <strong>assignments</strong>: <a href='/schedule'>click here</a></p>
2177<div class="sourceCode" id="cb1"><pre class="sourceCode r distill-force-highlighting-css"><code class="sourceCode r"></code></pre></div>
2178<!--radix_placeholder_article_footer-->
2179<!--/radix_placeholder_article_footer-->
2180</div>
2181
2182<div class="d-appendix">
2183</div>
2184
2185
2186<!--radix_placeholder_site_after_body-->
2187<!--/radix_placeholder_site_after_body-->
2188<!--radix_placeholder_appendices-->
2189<div class="appendix-bottom">
2190<h3 id="updates-and-corrections">Corrections</h3>
2191<p>If you see mistakes or want to suggest changes, please <a href="https://github.com/ko-suta/labor-dualism-tuebingen/issues/new">create an issue</a> on the source repository.</p>
2192<h3 id="reuse">Reuse</h3>
2193<p>Text and figures are licensed under Creative Commons Attribution <a rel="license" href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>. Source code is available at <a href="https://github.com/ko-suta/labor-dualism-tuebingen">https://github.com/ko-suta/labor-dualism-tuebingen</a>, unless otherwise noted. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".</p>
2194</div>
2195<!--/radix_placeholder_appendices-->
2196<!--radix_placeholder_navigation_after_body-->
2197<div class="distill-site-nav distill-site-footer">
2198<meta charset="utf-8">
2199<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 2199-2200
2199
2200<script async src="https://www.googletagmanager.com/gtag/js?id=
2200G-PNBY03CMKW
vendor: 12 bytes, line 2200
2200"></script>
2201<script>
2202  
vendor: 134 bytes, lines 2202-2206
2202window.dataLayer = window.dataLayer || [];
2203  function gtag(){dataLayer.push(arguments);}
2204  gtag('js', new Date());
2205
2206  gtag('config', '
2206G-PNBY03CMKW
vendor: 4 bytes, line 2206
2206');
2207</script>
2207
2208<p>Kostiantyn Ovsiannikov © 
2208<script>document.write(new
2209Date().getFullYear())</script>
2209</p>
2210<script>
2211  document.addEventListener("DOMContentLoaded", function() {
2212
2213
2214    var t = setInterval(function(){
2215      var resizeEvent = new Event('resize');
2216      window.dispatchEvent(resizeEvent);
2217    }, 1000);
2218
2219
2220  });
2221
2222
2223</script>
2223
2224</div>
2225<!--/radix_placeholder_navigation_after_body-->
2226
2227
2228</body>
2229
2230</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.