Facebook
From Big Goat, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 231
  1. DDG.Data.Experiments = {
  2.     about_module: {
  3.         versions: ["v35-1", "v35-2", "v35-3", "v35-4", "v36-7", "v37-1", "v37-2", "v37-3"],
  4.         variants: ["a", "b"]
  5.     },
  6.     stack_overflow: {
  7.         versions: ["v35-5", "v35-6", "v35-7", "v36-1", "v36-2", "v36-3"],
  8.         variants: ["a", "b"]
  9.     },
  10.     spelling: {
  11.         versions: ["v33-6", "v33-7", "v34-1", "v34-2", "v34-3"],
  12.         variants: ["a", "b"]
  13.     },
  14.     region_override: {
  15.         versions: ["v38-2", "v38-3", "v38-4", "v38-5", "v38-6", "v38-7", "v39-1", "v39-2"],
  16.         variants: ["a", "b"]
  17.     },
  18.     control: {
  19.         versions: ["v39-3", "v39-4", "v39-5", "v39-6", "v39-7", "v40-1", "v40-2", "v40-3", "v40-4", "v40-5", "v40-6", "v40-7"],
  20.         variants: ["a", "b"]
  21.     },
  22.     filter_label: {
  23.         versions: ["v41-1", "v41-2", "v41-3", "v41-4", "v41-5", "v41-6", "v41-7"],
  24.         variants: ["a", "b", "c", "d"]
  25.     },
  26.     filters_above_organics: {
  27.         versions: ["v42-1", "v42-2", "v42-3", "v42-4", "v42-5", "v42-6", "v42-7"],
  28.         variants: ["a", "b", "c", "d"]
  29.     },
  30.     organic_ux: {
  31.         versions: ["v44-1", "v44-2", "v44-3", "v44-4", "v44-5", "v44-6", "v44-7"],
  32.         variants: ["a", "b", "c", "d", "e"],
  33.         locale: "en_us"
  34.     },
  35.     static_news: {
  36.         versions: ["v47-6", "v47-7", "v48-1", "v48-2", "v48-3", "v48-4", "v48-5"],
  37.         variants: ["a", "b"]
  38.     },
  39.     control2: {
  40.         versions: ["v51-2", "v51-3", "v51-4", "v51-5"],
  41.         variants: ["a", "b"]
  42.     },
  43.     safe_search_filter: {
  44.         versions: ["v52-1", "v52-2", "v52-3", "v52-4", "v52-5", "v52-6", "v52-7"],
  45.         variants: ["a", "b"]
  46.     },
  47.     map_module: {
  48.         versions: ["v57-1", "v57-2", "v57-3", "v57-4", "v57-5", "v57-6", "v57-7"],
  49.         variants: ["a", "b"],
  50.         locale: "en_us"
  51.     },
  52.     images_ux: {
  53.         versions: ["v58-1"],
  54.         variants: ["a", "b"]
  55.     },
  56.     images_ux_detail: {
  57.         versions: ["v58-6", "v58-7"],
  58.         variants: ["a", "b"]
  59.     },
  60.     images_ux_filters: {
  61.         versions: ["v59-1", "v59-2", "v59-3"],
  62.         variants: ["a", "b"],
  63.         englishOnly: true
  64.     },
  65.     placeholder_delay: {
  66.         versions: ["v61-1", "v61-2", "v61-3"],
  67.         variants: ["a", "b"]
  68.     },
  69.     back_button: {
  70.         versions: ["v63-1", "v63-2", "v63-3", "v63-4", "v63-5", "v63-6"],
  71.         variants: ["a", "b"]
  72.     },
  73.     fixed_ux_header: {
  74.         versions: ["v64-3", "v64-4", "v64-5", "v64-6", "v64-7"],
  75.         variants: ["a", "b"]
  76.     },
  77.     ad_layouts: {
  78.         versions: ["v66-1", "v66-2", "v66-3", "v66-4", "v66-5", "v66-6", "v66-7", "v67-1"],
  79.         variants: ["a", "b", "c"]
  80.     },
  81.     ad_layouts_2: {
  82.         versions: ["v67-2", "v67-3", "v67-4", "v67-5", "v67-6", "v67-7"],
  83.         variants: ["b", "c"]
  84.     },
  85.     serp_ui: {
  86.         versions: ["v88-3", "v88-4", "v88-5", "v88-6", "v88-7", "v89-1", "v89-2", "v89-3", "v89-4"],
  87.         variants: ["q", "r"],
  88.         platformName: "androidwos"
  89.     },
  90.     chrome_desktop_us_portableapps_control: {
  91.         versions: ["v121-2", "v121-3", "v121-4", "v121-5", "v121-6", "v121-7", "v122-1", "v122-2", "v122-3", "v122-4", "v122-5", "v122-6", "v122-7"],
  92.         variants: ["o"],
  93.         locale: "en_us",
  94.         desktopOnly: true,
  95.         displayBrowserName: "Chrome"
  96.     },
  97.     serp_show_hide_bolding: {
  98.         versions: ["v124-1", "v124-2", "v124-3", "v124-4", "v124-5", "v124-6", "v124-7", "v125-1", "v125-2", "v125-3", "v125-4"],
  99.         variants: ["a", "b", "c"]
  100.     },
  101.     green_urls: {
  102.         versions: ["v127-1", "v127-2", "v127-3", "v127-4", "v127-5", "v127-6", "v127-7", "v128-1"],
  103.         variants: ["a", "b", "c", "d"]
  104.     },
  105.     chrome_desktop_store_install_en: {
  106.         allocation: [0.5, 1],
  107.         variants: ["e", "f"],
  108.         desktopOnly: true,
  109.         englishOnly: true,
  110.         atb: true,
  111.         active: false,
  112.         displayBrowserName: "Chrome",
  113.         canInstallExtension: true
  114.     },
  115.     chrome_desktop_store_install_non_en: {
  116.         allocation: [0.5, 1],
  117.         variants: ["g", "h"],
  118.         desktopOnly: true,
  119.         nonEnglishOnly: true,
  120.         atb: true,
  121.         active: false,
  122.         displayBrowserName: "Chrome",
  123.         canInstallExtension: true
  124.     },
  125.     serp_footer: {
  126.         versions: ["v129-6", "v129-7", "v130-1", "v130-2", "v130-3", "v130-4", "v130-5", "v130-6"],
  127.         englishOnly: true,
  128.         desktopOnly: true,
  129.         variants: ["e", "f"]
  130.     },
  131.     safe_search_moderate_default: {
  132.         versions: ["v136-2", "v136-3", "v136-4", "v136-5", "v136-6", "v136-7", "v137-1", "v137-2"],
  133.         variants: ["a", "b"]
  134.     },
  135.     region_toggle_default: {
  136.         versions: ["v140-2", "v140-3", "v140-4", "v140-5", "v140-6", "v140-7", "v141-1", "v141-2", "v141-3"],
  137.         variants: ["a", "b"],
  138.         desktopOnly: true
  139.     },
  140.     deemphasize_http_links: {
  141.         versions: ["v143-7", "v144-1", "v144-2", "v144-3", "v144-4", "v144-5", "v144-6"],
  142.         variants: ["a", "b", "c"]
  143.     },
  144.     no_ads: {
  145.         versions: ["v148-2", "v148-3", "v148-4", "v148-5", "v148-6"],
  146.         variants: ["a", "b"],
  147.         desktopOnly: true
  148.     },
  149.     fonts: {
  150.         versions: ["v154-1", "v154-2", "v154-3", "v154-4", "v154-5", "v154-6"],
  151.         variants: ["a", "b"],
  152.         mobileAppVariants: {
  153.             sa: "a",
  154.             sb: "b",
  155.             sc: "a",
  156.             sd: "b"
  157.         }
  158.     },
  159.     ui_updates: {
  160.         pixelId: "uiu",
  161.         versions: ["v155-1", "v155-2", "v155-3", "v155-4", "v155-5", "v155-6", "v155-7", "v156-1", "v156-2", "v156-3", "v156-4", "v156-5", "v156-6", "v156-7"],
  162.         variants: ["a", "b"],
  163.         mobileAppVariants: {
  164.             sa: "a",
  165.             sb: "b",
  166.             sc: "a",
  167.             sd: "b"
  168.         }
  169.     },
  170.     post_install_onboarding: {
  171.         versions: ["v157-1", "v157-2", "v157-3", "v157-4", "v157-5", "v157-6", "v157-7"],
  172.         variants: ["a", "b"],
  173.         desktopOnly: true
  174.     },
  175.     regions_toggle_exp: {
  176.         pixelId: "rtl",
  177.         versions: ["v158-1", "v158-2", "v158-3", "v158-4", "v158-5", "v158-6", "v158-7", "v159-1", "v159-2", "v159-3", "v159-4", "v159-5", "v159-6", "v159-7"],
  178.         variants: ["a", "b"],
  179.         countries: ["DE", "FR", "PL", "CA", "IT", "ES", "AU", "BR", "NL", "GB", "ID"],
  180.         desktopOnly: true
  181.     },
  182.     welcome_message: {
  183.         pixelId: "wcm",
  184.         versions: ["v163-1", "v163-2", "v163-3", "v163-4", "v163-5", "v163-6"],
  185.         variants: ["a", "b"],
  186.         desktopOnly: true,
  187.         englishOnly: true
  188.     },
  189.     less_prominent_answerbar: {
  190.         pixelId: "lpab",
  191.         versions: ["v163-7", "v164-1", "v164-2", "v164-3", "v164-4", "v164-5", "v164-6"],
  192.         variants: ["a", "b"],
  193.         desktopOnly: true
  194.     },
  195.     settings_dropdown: {
  196.         pixelId: "sdd",
  197.         versions: ["v165-3", "v165-4", "v165-5", "v165-6", "v165-7", "v166-1", "v166-2"],
  198.         variants: ["a", "b", "c"],
  199.         desktopOnly: true,
  200.         englishOnly: true
  201.     },
  202.     welcome_message_2: {
  203.         pixelId: "wcm2",
  204.         versions: ["v166-3", "v166-4", "v166-5", "v166-6", "v166-6", "v167-1"],
  205.         variants: ["a", "b"],
  206.         desktopOnly: true,
  207.         englishOnly: true
  208.     },
  209.     homepage_landing: {
  210.         allocation: [0.033, 0.066, 0.1],
  211.         variants: ["a", "b", "c"],
  212.         desktopOnly: true,
  213.         englishOnly: true,
  214.         atb: true,
  215.         active: false,
  216.         canInstallExtension: true,
  217.         defaultThemeOnly: true,
  218.         stickyAtbVariant: true
  219.     },
  220.     homepage_fullbleed_landing: {
  221.         allocation: [0, 0.2, 0.4],
  222.         variant: "g",
  223.         variants: ["x", "w"],
  224.         desktopOnly: true,
  225.         englishOnly: true,
  226.         atb: true,
  227.         active: false,
  228.         canInstallExtension: true,
  229.         defaultThemeOnly: true,
  230.         minScreenSize: {
  231.             width: 800,
  232.             height: 600
  233.         },
  234.         filter: function() {
  235.             return window.locale !== "en_GB"
  236.         }
  237.     },
  238.     homepage_fullbleed_regional_landing: {
  239.         allocation: [0, 1],
  240.         variant: "g",
  241.         variants: ["y"],
  242.         desktopOnly: true,
  243.         englishOnly: true,
  244.         atb: true,
  245.         active: false,
  246.         canInstallExtension: true,
  247.         defaultThemeOnly: true,
  248.         minScreenSize: {
  249.             width: 800,
  250.             height: 600
  251.         },
  252.         filter: function() {
  253.             return window.locale === "en_GB"
  254.         }
  255.     },
  256.     welcome_message_3: {
  257.         pixelId: "wcm3",
  258.         versions: ["v168-1", "v168-2", "v168-3", "v168-4", "v168-5", "v168-6", "v168-7"],
  259.         variants: ["a", "b", "c", "d"],
  260.         desktopOnly: true,
  261.         englishOnly: true
  262.     },
  263.     extension_optin: {
  264.         versions: ["v169-3", "v169-4", "v169-5", "v169-6", "v169-7", "v170-1", "v170-2", "v170-3", "v170-4", "v170-5"],
  265.         allocation: [0.5, 1],
  266.         variants: ["k", "l"],
  267.         desktopOnly: true,
  268.         englishOnly: true,
  269.         canInstallExtension: true
  270.     },
  271.     mobile_cards: {
  272.         pixelId: "mcds",
  273.         versions: ["v169-2", "v169-3", "v169-4", "v169-5", "v169-6", "v169-7", "v170-1", "v170-7", "v171-1", "v171-2"],
  274.         variants: ["a", "b"],
  275.         appsOnly: true,
  276.         displayBrowserName: "DDG iPhone",
  277.         mobileAppVariants: {
  278.             sc: "a",
  279.             se: "b"
  280.         }
  281.     },
  282.     ct_retention_exp: {
  283.         pixelId: "ctexp",
  284.         versions: ["v174-7", "v175-1", "v175-2", "v175-3", "v175-4", "v175-5", "v175-6", "v175-7"],
  285.         variants: ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"],
  286.         countries: ["AT", "AU", "BE", "BR", "CA", "CH", "DE", "DK", "ES", "FI", "FR", "GB", "ID", "IE", "IN", "IT", "JP", "MX", "NL", "NO", "NZ", "PL", "RU", "SE", "SG", "US"],
  287.         desktopOnly: true
  288.     },
  289.     post_install_homepage: {
  290.         pixelId: "pih",
  291.         versions: ["v177-3", "v177-4", "v177-5", "v177-6", "v177-7", "v178-1"],
  292.         variants: ["a", "b"],
  293.         desktopOnly: true,
  294.         englishOnly: true,
  295.         canInstallExtension: true,
  296.         defaultThemeOnly: true,
  297.         minScreenSize: {
  298.             width: 900,
  299.             height: 600
  300.         }
  301.     },
  302.     mixed_modules: {
  303.         variants: ["a", "b"],
  304.         pixelId: "miaexp",
  305.         versions: ["v192-7", "v193-1", "v193-2", "v193-3", "v193-4", "v193-5", "v193-6", "v193-7"],
  306.         mobileAppVariants: {
  307.             sc: "a",
  308.             se: "b"
  309.         }
  310.     },
  311.     mobile_cards_refinements: {
  312.         variants: ["a", "b", "c"],
  313.         pixelId: "crdexp",
  314.         versions: ["v203-2", "v203-3", "v203-4", "v203-5", "v203-6", "v203-7", "v204-1"],
  315.         mobileAppVariants: {
  316.             sc: "a",
  317.             sd: "b",
  318.             se: "c"
  319.         }
  320.     },
  321.     autocomplete_delay: {
  322.         variants: ["a", "b"],
  323.         pixelId: "acdexp",
  324.         versions: ["v208-3", "v208-4", "v208-5", "v208-6", "v208-7", "v209-1"]
  325.     },
  326.     organic_atb_measure: {
  327.         allocation: [0, 0.1],
  328.         variant: "r",
  329.         variants: ["z"],
  330.         desktopOnly: true,
  331.         englishOnly: true,
  332.         atb: true,
  333.         active: false,
  334.         canInstallExtension: true
  335.     },
  336.     mobile_header: {
  337.         pixelId: "mhdr",
  338.         versions: ["v211-4", "v211-5", "v211-6", "v211-7", "v212-1", "v212-2", "v212-3"],
  339.         variants: ["a", "b"],
  340.         appsOnly: true,
  341.         mobileAppVariants: {
  342.             sc: "a",
  343.             se: "b"
  344.         }
  345.     },
  346.     home_brand_messaging: {
  347.         allocation: [0, 0.1, 0.2],
  348.         variants: ["a", "d"],
  349.         desktopOnly: true,
  350.         englishOnly: true,
  351.         atb: true,
  352.         active: false,
  353.         canInstallExtension: true,
  354.         defaultThemeOnly: true,
  355.         minScreenSize: {
  356.             width: 800,
  357.             height: 600
  358.         }
  359.     },
  360.     dynamic_slotting: {
  361.         pixelId: "sltret",
  362.         versions: ["v213-2", "v213-3", "v213-4", "v213-5", "v213-6", "v213-7", "v214-1", "v214-2"],
  363.         variants: ["a", "b"],
  364.         mobileAppVariants: {
  365.             sc: "a",
  366.             se: "b"
  367.         }
  368.     },
  369.     privacy_nudge: {
  370.         allocation: [0.3, 0.5, 0.7],
  371.         variant: "r",
  372.         variants: ["y", "z"],
  373.         desktopOnly: true,
  374.         englishOnly: true,
  375.         atb: true,
  376.         active: false,
  377.         canInstallExtension: true,
  378.         displayBrowserName: "Chrome"
  379.     },
  380.     ct_test: {
  381.         pixelId: "cttest",
  382.         versions: ["v217-2", "v217-3"],
  383.         variants: ["a", "b"]
  384.     },
  385.     larger_extension_tracker_list: {
  386.         allocation: [0.3, 0.5, 0.7],
  387.         variant: "l",
  388.         variants: ["m", "n"],
  389.         desktopOnly: true,
  390.         atb: true,
  391.         active: false,
  392.         canInstallExtension: true
  393.     },
  394.     desktop_mobile_app_promo: {
  395.         allocation: [0, 0.2, 0.4, 0.8],
  396.         variant: "p",
  397.         variants: ["v", "w", "x"],
  398.         desktopOnly: true,
  399.         englishOnly: true,
  400.         trap: true,
  401.         atb: true,
  402.         active: false,
  403.         canInstallExtension: true,
  404.         displayBrowserName: "Chrome"
  405.     },
  406.     cross_product_promotion_mobile: {
  407.         allocation: [0.6, 0.7, 0.8, 0.9, 1],
  408.         variant: "x",
  409.         variants: ["u", "z", "m", "n"],
  410.         mobileOnly: true,
  411.         englishOnly: true,
  412.         atb: true,
  413.         active: false,
  414.         trap: true,
  415.         stickyAtbVariant: true,
  416.         displayBrowserName: "Safari",
  417.         filter: function(a) {
  418.             return (a.device.isSafari && a.device.isEnglish && a.device.isIOS8p && !a.device.isIPad)
  419.         }
  420.     },
  421.     msh2exp: {
  422.         variants: ["a", "b"],
  423.         versions: ["v234-7", "v235-1", "v235-2", "v235-3", "v235-4", "v235-5", "v235-6"],
  424.         pixelId: "msh2exp",
  425.         appsOnly: true,
  426.         mobileAppVariants: {
  427.             sc: "a",
  428.             se: "b"
  429.         },
  430.         filter: function(a) {
  431.             return a.device && a.device.isMobile
  432.         }
  433.     },
  434.     extension_fingerprint_protection_control: {
  435.         allocation: [0.8, 0.9],
  436.         variant: "c",
  437.         variants: ["k"],
  438.         active: true,
  439.         atb: true,
  440.         canInstallExtension: true
  441.     },
  442.     extension_fingerprint_protection_exp: {
  443.         allocation: [0.9, 1],
  444.         variant: "f",
  445.         variants: ["k"],
  446.         active: true,
  447.         atb: true,
  448.         canInstallExtension: true
  449.     },
  450.     default_region_toggle: {
  451.         pixelId: "drt",
  452.         versions: ["v236-2", "v236-3", "v236-4", "v236-5", "v236-6", "v236-7", "v237-1", "v237-2", "v237-3", "v237-4", "v237-5", "v237-6", "v238-7"],
  453.         variants: ["a", "b"],
  454.         countries: ["AU", "AT", "DK", "FI", "FR", "DE", "IT", "IE", "NZ", "NO", "ES", "SE", "GB"]
  455.     }
  456. };
  457. DDG.Data.Onboarding = {
  458.     _: {},
  459.     a: {
  460.         description: "UrbanDictionary campaign 1",
  461.         variant: "z",
  462.         urbanDictionaryLandingPage: true
  463.     },
  464.     b: {},
  465.     c: {
  466.         description: "UrbanDictionary campaign 2",
  467.         variant: "z",
  468.         urbanDictionaryLandingPage: true
  469.     },
  470.     d: {
  471.         description: "UrbanDictionary campaign 3",
  472.         variant: "z",
  473.         urbanDictionaryLandingPage: true
  474.     },
  475.     e: {
  476.         description: "UrbanDictionary campaign 4",
  477.         variant: "z",
  478.         urbanDictionaryLandingPage: true
  479.     },
  480.     f: {},
  481.     g: {},
  482.     h: {},
  483.     i: {},
  484.     j: {},
  485.     k: {
  486.         description: "UrbanDictionary campaign 7",
  487.         variant: "z",
  488.         urbanDictionaryLandingPage: true
  489.     },
  490.     l: {
  491.         description: "UrbanDictionary campaign 8",
  492.         variant: "z",
  493.         urbanDictionaryLandingPage: true
  494.     },
  495.     m: {
  496.         description: "UrbanDictionary campaign 9",
  497.         variant: "z",
  498.         urbanDictionaryLandingPage: true
  499.     },
  500.     n: {
  501.         description: "UrbanDictionary campaign 10",
  502.         variant: "z",
  503.         urbanDictionaryLandingPage: true
  504.     },
  505.     o: {
  506.         description: "UrbanDictionary campaign 11",
  507.         variant: "z",
  508.         urbanDictionaryLandingPage: true
  509.     },
  510.     p: {
  511.         description: "UrbanDictionary campaign 12",
  512.         variant: "z",
  513.         urbanDictionaryLandingPage: true
  514.     },
  515.     q: {
  516.         description: "UrbanDictionary campaign 13",
  517.         variant: "z",
  518.         urbanDictionaryLandingPage: true
  519.     },
  520.     r: {
  521.         description: "UrbanDictionary campaign 14",
  522.         variant: "z",
  523.         urbanDictionaryLandingPage: true
  524.     },
  525.     s: {
  526.         description: "UrbanDictionary campaign 15",
  527.         variant: "z",
  528.         urbanDictionaryLandingPage: true
  529.     },
  530.     t: {},
  531.     u: {
  532.         description: "PortableApps One Button Modal",
  533.         modalButtons: 1
  534.     },
  535.     v: {
  536.         description: "Youtube Video Campaign"
  537.     },
  538.     w: {},
  539.     x: {
  540.         description: "Youtube Video Campaign"
  541.     },
  542.     y: {},
  543.     z: {
  544.         description: "Pagefair 2",
  545.         variant: "y",
  546.         urbanDictionaryLandingPage: true
  547.     }
  548. };
  549. DDG.Data.Apps = {
  550.     isIPhone: "https://itunes.apple.com/us/app/id663592361?mt=8",
  551.     isAndroid: "market://details?id=com.duckduckgo.mobile.android"
  552. };
  553. ! function(a) {
  554.     a.Data.Homepage = {
  555.         queries: [{
  556.             href: "/?q=tilt+shift+images&ia=images",
  557.             label: "tilt shift images"
  558.         }, {
  559.             href: "/?q=thailand+beach+images&ia=images",
  560.             label: "thailand beach images"
  561.         }, {
  562.             href: "/?q=gopro+videos&ia=videos",
  563.             label: "gopro videos"
  564.         }, {
  565.             href: "/?q=jimmy+fallon+videos&ia=videos",
  566.             label: "jimmy fallon videos"
  567.         }, {
  568.             href: "/?q=weather+in+encinitas&ia=weather",
  569.             label: "weather in encinitas"
  570.         }, {
  571.             href: "/?q=weather+in+paris&ia=weather",
  572.             label: "weather in paris"
  573.         }, {
  574.             href: "/?q=sorbet+recipes&ia=recipes",
  575.             label: "sorbet recipes"
  576.         }, {
  577.             href: "/?q=tilapia+recipes&ia=recipes",
  578.             label: "tilapia recipes"
  579.         }, {
  580.             href: "/?q=thai+food+in+San+Francisco&ia=places",
  581.             label: "thai food in San Francisco"
  582.         }, {
  583.             href: "/?q=bars+near+me",
  584.             label: "bars near me"
  585.         }, {
  586.             href: "/?q=katz%27s+deli+new+york&ia=places",
  587.             label: "katz's deli new york"
  588.         }, {
  589.             href: "/?q=orange&ia=meanings",
  590.             label: "orange"
  591.         }, {
  592.             href: "/?q=daft+punk+soundcloud&ia=soundcloud",
  593.             label: "daft punk soundcloud"
  594.         }, {
  595.             href: "/?q=8oz+to+grams&ia=answer",
  596.             label: "8oz to grams"
  597.         }, {
  598.             href: "/?q=define+superlative&ia=definition",
  599.             label: "define superlative"
  600.         }, {
  601.             href: "/?q=people+in+space&ia=answer",
  602.             label: "people in space"
  603.         }]
  604.     }
  605. }(DDG);
  606. DDG.Data.StaticIAs = [{
  607.     id: "images",
  608.     name: "Images",
  609.     type: "static",
  610.     answerType: "Images",
  611.     meta: {
  612.         idField: "image",
  613.         itemType: l("Images"),
  614.         linkPrimaryText: 1,
  615.         autoExpand: 0,
  616.         developer: [{
  617.             name: "DDG Team"
  618.         }],
  619.         signal_from: "images"
  620.     },
  621.     parameters: [{
  622.         key: "size",
  623.         values: [{
  624.             id: "",
  625.             name: lp("size", "All Sizes")
  626.         }, {
  627.             id: "Small",
  628.             name: lp("size", "Small")
  629.         }, {
  630.             id: "Medium",
  631.             name: lp("size", "Medium")
  632.         }, {
  633.             id: "Large",
  634.             name: lp("size", "Large")
  635.         }, {
  636.             id: "Wallpaper",
  637.             name: lp("size", "Wallpaper")
  638.         }]
  639.     }, {
  640.         key: "type",
  641.         values: [{
  642.             id: "",
  643.             name: lp("image-type", "All Types")
  644.         }, {
  645.             id: "photo",
  646.             name: lp("image-type", "Photograph")
  647.         }, {
  648.             id: "clipart",
  649.             name: lp("image-type", "Clipart")
  650.         }, {
  651.             id: "gif",
  652.             name: lp("image-type", "Animated GIF")
  653.         }, {
  654.             id: "transparent",
  655.             name: lp("image-type", "Transparent")
  656.         }]
  657.     }, {
  658.         key: "layout",
  659.         values: [{
  660.             id: "",
  661.             name: lp("image-layout", "All Layouts")
  662.         }, {
  663.             id: "Square",
  664.             name: lp("image-layout", "Square")
  665.         }, {
  666.             id: "Tall",
  667.             name: lp("image-layout", "Tall")
  668.         }, {
  669.             id: "Wide",
  670.             name: lp("image-layout", "Wide")
  671.         }]
  672.     }, {
  673.         key: "color",
  674.         values: [{
  675.             id: "",
  676.             name: lp("image-color", "All Colors")
  677.         }, {
  678.             id: "color",
  679.             name: lp("image-color", "Color Only")
  680.         }, {
  681.             id: "Monochrome",
  682.             name: lp("image-color", "Black and White")
  683.         }, {
  684.             id: "Red",
  685.             name: lp("color", "Red")
  686.         }, {
  687.             id: "Orange",
  688.             name: lp("color", "Orange")
  689.         }, {
  690.             id: "Yellow",
  691.             name: lp("color", "Yellow")
  692.         }, {
  693.             id: "Green",
  694.             name: lp("color", "Green")
  695.         }, {
  696.             id: "Blue",
  697.             name: lp("color", "Blue")
  698.         }, {
  699.             id: "Purple",
  700.             name: lp("color", "Purple")
  701.         }, {
  702.             id: "Pink",
  703.             name: lp("color", "Pink")
  704.         }, {
  705.             id: "Brown",
  706.             name: lp("color", "Brown")
  707.         }, {
  708.             id: "Black",
  709.             name: lp("color", "Black")
  710.         }, {
  711.             id: "Gray",
  712.             name: lp("color", "Gray")
  713.         }, {
  714.             id: "Teal",
  715.             name: lp("color", "Teal")
  716.         }, {
  717.             id: "White",
  718.             name: lp("color", "White")
  719.         }]
  720.     }],
  721.     sources: [{
  722.         id: "ddg",
  723.         name: "DuckDuckGo",
  724.         requeryURL: "/i.js?l=" + window.rl + "&o=json&q="
  725.     }],
  726.     region: true,
  727.     safeSearch: true,
  728.     templates: DDG.Data.templates.groups.images,
  729.     deferredURL: "/i.js?l=" + window.rl + "&o=json&q=",
  730.     allowModuleIA: true,
  731.     isFullPage: true,
  732.     supportsInfiniteScroll: true
  733. }, {
  734.     id: "videos",
  735.     name: "Videos",
  736.     model: "Video",
  737.     type: "static",
  738.     parameters: [{
  739.         key: "publishedAfter",
  740.         values: [{
  741.             id: "",
  742.             name: l("Any Time")
  743.         }, {
  744.             id: "d",
  745.             name: l("Past Day")
  746.         }, {
  747.             id: "w",
  748.             name: l("Past Week")
  749.         }, {
  750.             id: "m",
  751.             name: l("Past Month")
  752.         }]
  753.     }, {
  754.         key: "videoDefinition",
  755.         values: [{
  756.             id: "",
  757.             name: lp("video-resolution", "Any Resolution")
  758.         }, {
  759.             id: "high",
  760.             name: lp("video-resolution", "High Definition")
  761.         }, {
  762.             id: "standard",
  763.             name: lp("video-resolution", "Standard Definition")
  764.         }]
  765.     }, {
  766.         key: "videoDuration",
  767.         showDescriptions: true,
  768.         values: [{
  769.             id: "",
  770.             name: lp("video-duration", "Any Duration"),
  771.             description: lp("video-duration", "Show videos of any length")
  772.         }, {
  773.             id: "short",
  774.             name: lp("video-duration", "Short"),
  775.             description: lp("video-duration", "Less than 4 minutes")
  776.         }, {
  777.             id: "medium",
  778.             name: lp("video-duration", "Medium"),
  779.             description: lp("video-duration", "Between 4 and 20 minutes")
  780.         }, {
  781.             id: "long",
  782.             name: lp("video-duration", "Long"),
  783.             description: lp("video-duration", "More than 20 minutes")
  784.         }]
  785.     }, {
  786.         key: "videoLicense",
  787.         values: [{
  788.             id: "",
  789.             name: lp("video-license", "Any License")
  790.         }, {
  791.             id: "creativeCommon",
  792.             name: lp("video-license", "Creative Commons")
  793.         }, {
  794.             id: "youtube",
  795.             name: lp("video-license", "YouTube Standard")
  796.         }]
  797.     }],
  798.     sources: [{
  799.         id: "ddg",
  800.         name: "DuckDuckGo",
  801.         requeryURL: "/v.js?l=" + window.rl + "&o=json&sr=1&q="
  802.     }],
  803.     region: true,
  804.     safeSearch: true,
  805.     meta: {
  806.         idField: "id",
  807.         itemType: l("Videos"),
  808.         developer: [{
  809.             name: "DDG Team"
  810.         }],
  811.         signal_from: "videos",
  812.         linkPrimaryText: 1,
  813.         autoExpand: 0,
  814.         detailOverlay: "VideoDetailOverlay",
  815.         primaryText: l("Videos")
  816.     },
  817.     templates: DDG.Data.templates.groups.videos,
  818.     deferredURL: "/v.js?l=" + window.rl + "&o=json&sr=1&q=",
  819.     allowModuleIA: true,
  820.     moreText: l("More Videos"),
  821.     isFullPage: true,
  822.     supportsInfiniteScroll: true
  823. }, {
  824.     id: "news",
  825.     name: "News",
  826.     answerType: "News",
  827.     moreText: l("More News"),
  828.     type: "static",
  829.     meta: {
  830.         developer: [{
  831.             name: "DDG Team"
  832.         }],
  833.         signal_from: "news",
  834.         itemType: l("News Articles"),
  835.         rerender: ["image"],
  836.         primaryText: l("Recent News")
  837.     },
  838.     safeSearch: true,
  839.     region: true,
  840.     date: true,
  841.     allowVertical: true,
  842.     isFullPage: true,
  843.     templates: {
  844.         item: "news_item"
  845.     },
  846.     deferredURL: function() {
  847.         return "/news.js?l=" + window.rl + "&o=json&noamp=" + (DDG.device.isDesktop ? 1 : 0) + "&q="
  848.     },
  849.     experimentalDeferredURL: "/news.js?l=" + window.rl + "&o=json&exp=1&q="
  850. }];
  851. ! function(a) {
  852.     a.Data.HiddenFields = {
  853.         DATE_FILTER: "df",
  854.         DATE_SORT: "ds",
  855.         IA_REQUERY: "iar"
  856.     }
  857. }(DDG);
  858. ! function(a) {
  859.     var b = a.Models;
  860.     b.Base = function(c) {
  861.         this.setMaxListeners(500);
  862.         $.extend(this, c)
  863.     };
  864.     b.Base.prototype = $.extend({}, EventEmitter2.prototype, a.Utils.Events, {
  865.         set: function(c, i, f) {
  866.             if (typeof c === "object") {
  867.                 for (var e in c) {
  868.                     this.set(e, c[e], i)
  869.                 }
  870.             }
  871.             f = f || {};
  872.             var h = this[c],
  873.                 g = h !== i;
  874.             this[c] = i;
  875.             !f.silent && g && this._emitChange(c, h)
  876.         },
  877.         clear: function(c, e) {
  878.             this.set(c, null, e)
  879.         },
  880.         UUID: function() {
  881.             return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(g) {
  882.                 var f = Math.random() * 16 | 0,
  883.                     e = g == "x" ? f : (f & 3 | 8);
  884.                 return e.toString(16)
  885.             })
  886.         },
  887.         getInstance: function(c) {
  888.             if (!this["_" + c]) {
  889.                 this["_" + c] = a[c]
  890.             }
  891.             return this["_" + c]
  892.         },
  893.         _emitChange: function(c, e) {
  894.             var f = this[c];
  895.             this.emit("change:" + c, f, e);
  896.             this.emit("change", c, f, e)
  897.         }
  898.     })
  899. }(DDG);
  900. ! function(m) {
  901.     var b = m.Models.Base,
  902.         c, p = 1440,
  903.         o = 1079,
  904.         n = 864,
  905.         g = 590,
  906.         j = 425,
  907.         i = [{
  908.             id: "xl",
  909.             width: p
  910.         }, {
  911.             id: "l",
  912.             width: o
  913.         }, {
  914.             id: "m",
  915.             width: n
  916.         }, {
  917.             id: "s",
  918.             width: g
  919.         }, {
  920.             id: "xs",
  921.             width: j
  922.         }],
  923.         f = {
  924.             xl: 94,
  925.             l: 94,
  926.             m: 58,
  927.             s: 0,
  928.             xs: 0
  929.         },
  930.         e = j,
  931.         a = g,
  932.         h = Math.ceil(g * 1.25);
  933.     m.Models.Device = c = function(y) {
  934.         b.call(this, y);
  935.         this.isEnglish = window.locale && window.locale.substring(0, 2) === "en";
  936.         var q = this.ua,
  937.             z = y.host || window.location.host;
  938.         this.isEdge = !!/edge\//.test(q);
  939.         this.isEdgeChromium = !!/edg\//.test(q);
  940.         this.isEdgeMobile = !!/(edgios|edga)/.test(q);
  941.         if (!(this.isEdge || this.isEdgeChromium)) {
  942.             this.isIE = !!document.all;
  943.             this.isIE9 = !!/msie 9/.test(q);
  944.             this.isIE10p = !!/msie 1[0123456789]/.test(q);
  945.             this.isIE11p = !!(/trident\/[789]/.test(q) || /edge\/[0123456789]/.test(q));
  946.             if (this.isIE10p || this.isIE11p) {
  947.                 this.isIE = true
  948.             }
  949.         }
  950.         this.isWindowsPhone = !!/windows phone/.test(q);
  951.         this.isSafari = !!(!this.isWindowsPhone && !this.isEdgeMobile && /\([windows|macintosh|ipad|iphone].* version.* safari/.test(q));
  952.         this.safariVersion = -1;
  953.         if (this.isSafari) {
  954.             var s = q.match(/version\/([0-9][0-9]?\.[0-9])/);
  955.             this.safariVersion = (s) ? parseFloat(s[1]) : -1
  956.         }
  957.         this.isWebkit = !!/webkit/.test(q);
  958.         this.isYandex = !!/yabrowser/.test(q);
  959.         this.isBeakerBrowser = !!/beakerbrowser/.test(q);
  960.         this.isVivaldi = !!/vivaldi/.test(q);
  961.         this.isBrave = !!navigator.brave && typeof navigator.brave.isBrave === "function" || (this.isIOS8p && this.isFirefox && /(\d{2}\.){3}\d{2}/.test(q)) || /brave chrome/.test(q);
  962.         this.isChromiumBased = !!(/chrome(?!frame)|crios/.test(q) && !this.isIE && !this.isEdge);
  963.         this.isChrome = !!(this.isChromiumBased && !this.isVivaldi && !this.isYandex && !/opr\/[0-9][0-9]?/.test(q) && !this.isBeakerBrowser && !this.isEdgeMobile && !this.isEdgeChromium && !this.isBrave);
  964.         this.isFirefox = !!/firefox|fxios/.test(q);
  965.         this.firefoxVersion = -1;
  966.         if (this.isFirefox) {
  967.             var x = q.match(/(firefox|fxios)\/([0-9]+\.[0-9]+)/);
  968.             this.firefoxVersion = (x) ? parseFloat(x[2]) : -1
  969.         }
  970.         this.isFirefox38AndUp = this.firefoxVersion > 37;
  971.         this.isFirefox51AndUp = this.firefoxVersion > 50;
  972.         this.isFirefoxLessThan57 = this.isFirefox && this.firefoxVersion < 57;
  973.         this.isFirefoxLessThan67 = this.isFirefox && this.firefoxVersion < 67;
  974.         this.isFirefox67 = this.isFirefox && (Math.floor(this.firefoxVersion) === 67);
  975.         this.isFirefox68AndUp = this.isFirefox && this.firefoxVersion >= 68;
  976.         this.isFirefoxFocus = !!/focus/.test(q);
  977.         this.operaVersion = -1;
  978.         this.isOpera = !!/opera/.test(q);
  979.         if (this.isOpera) {
  980.             var t = q.match(/version\/([0-9.]+)/);
  981.             if (t) {
  982.                 this.operaVersion = parseFloat(t[1], 10)
  983.             }
  984.         } else {
  985.             if (/opr\/[0-9][0-9]?/.test(q)) {
  986.                 this.operaVersion = parseInt(q.match(/opr\/([0-9][0-9]?)/)[1], 10)
  987.             }
  988.         }
  989.         this.isOperaMini = !!/opera mini|opios/.test(q);
  990.         this.isOperaMobile = !!/opera mobi/.test(q);
  991.         this.isOSX = !!/mac os x [0-9]/.test(q);
  992.         this.isOSXMavericksAndUp = !!/mac os x 10(_|\.)(1\d|9)/.test(q) || !!/mac os x 11(_|\.)[0-9]{1,2}/.test(q);
  993.         this.isOSXCatalinaAndUp = !!/mac os x 10(_|\.)(1[5-9])/.test(q) || !!/mac os x 11(_|\.)[0-9]{1,2}/.test(q);
  994.         this.isIPod = !!/ipod/.test(q);
  995.         this.isIPadOS = (this.isOSX && navigator.maxTouchPoints);
  996.         this.isIPad = !!(this.isIPadOS || /ipad/.test(q));
  997.         this.isIPhone = !!(!this.isWindowsPhone && /iphone/.test(q));
  998.         this.isIDevice = (this.isIPad || this.isIPhone || /\Wios\W/.test(q));
  999.         this.isIOS8p = !!((this.isIDevice && (this.isIPadOS || /os (8|9|[1-9][0-9])|os 10_10/.test(q))));
  1000.         this.isIOS8pSafari = !!((this.isIOS8p && !this.isChrome && !this.isOperaMini && !this.isFirefox));
  1001.         this.isAndroid = !!(!this.isWindowsPhone && /android/.test(q));
  1002.         this.isLegacyAndroid = this.isAndroid && /android ([1-3](\..+)?|4(\.[0-2].*)?)(;|$)/.test(q);
  1003.         this.isAndroid4_3AndUp = this.isAndroid && !this.isLegacyAndroid;
  1004.         this.isBlackberry = !!/blackberry/.test(q);
  1005.         this.chromeVersion = -1;
  1006.         if (this.isChromiumBased) {
  1007.             var v = q.match(/(chrome|crios)\/([0-9][0-9]?)/);
  1008.             this.chromeVersion = (v) ? parseInt(v[2], 10) : -1
  1009.         }
  1010.         this.isChrome31AndUpOnAndroid = !!(this.isAndroid && this.isChrome && this.chromeVersion > 30);
  1011.         this.isChrome48AndUp = !!(this.isChrome && this.chromeVersion > 47);
  1012.         this.isAndroidChromeNoOpenSearch = !!(this.isAndroid && this.isChrome && this.chromeVersion > 31 && this.chromeVersion < 57);
  1013.         this.isSilk = !!/silk/.test(q);
  1014.         this.isKonqueror = !!/konqueror/.test(q);
  1015.         this.isWindows = !!/windows/.test(q);
  1016.         this.isWindows10 = !!/windows nt 10/.test(q);
  1017.         this.isLinux = !!(!this.isAndroid && /linux/.test(q));
  1018.         this.isOnion = !!z.match(/\.onion$/i);
  1019.         this.isDDGIgnore = !!/ddgignore/.test(q);
  1020.         this.isDDGTest = !!/ddgtest/.test(q);
  1021.         this.isSamsung = !!/samsungbrowser/.test(q);
  1022.         this.isDDGApp = !!(y.qs && y.qs.match(/(\&|\?)t\=(ddg_ios|ddg_android)/)) || /DuckDuckGo\/[57]$/i.test(q);
  1023.         this.isUCBrowser = !!/(ucbrowser)/.test(q);
  1024.         this.isUCBrowserIOS = this.isUCBrowser && this.isIPhone;
  1025.         this.isRetina = is_retina = this.dpr > 1;
  1026.         this.is2x = m.is2x = this.dpr > 1;
  1027.         this.is3x = m.is3x = this.dpr > 2;
  1028.         this.hasFixedHeaderSupport = !this.isIDevice;
  1029.         this.isAppleDevice = this.isIDevice || this.isOSX;
  1030.         if (this.isIDevice) {
  1031.             if (this.isChrome) {
  1032.                 this.hasFixedHeaderSupport = this.chromeVersion >= 57
  1033.             } else {
  1034.                 if (this.isFirefox) {
  1035.                     this.hasFixedHeaderSupport = this.firefoxVersion >= 7.2
  1036.                 } else {
  1037.                     if (this.isUCBrowserIOS) {
  1038.                         this.hasFixedHeaderSupport = false
  1039.                     } else {
  1040.                         this.hasFixedHeaderSupport = this.isIOS8pSafari
  1041.                     }
  1042.                 }
  1043.             }
  1044.         }
  1045.         var u = "Browser";
  1046.         if (this.isDDGIgnore) {
  1047.             u = "Ignore"
  1048.         } else {
  1049.             if (/seamonkey/.test(q)) {
  1050.                 u = "SeaMonkey"
  1051.             } else {
  1052.                 if (/iceape/.test(q)) {
  1053.                     u = "Iceape"
  1054.                 } else {
  1055.                     if (/palemoon/.test(q)) {
  1056.                         u = "PaleMoon"
  1057.                     } else {
  1058.                         if (this.isBrave) {
  1059.                             u = "Brave"
  1060.                         } else {
  1061.                             if (this.isSamsung) {
  1062.                                 u = "Samsung Internet"
  1063.                             } else {
  1064.                                 if (this.isFirefox) {
  1065.                                     u = "Firefox"
  1066.                                 } else {
  1067.                                     if (/opr\//.test(q) || ((this.isAndroid || this.isIDevice) && (this.isOperaMobile || this.isOperaMini || this.operaVersion !== -1))) {
  1068.                                         u = "Opera"
  1069.                                     } else {
  1070.                                         if (this.isFirefoxFocus) {
  1071.                                             u = "Focus"
  1072.                                         } else {
  1073.                                             if (this.isUCBrowser) {
  1074.                                                 u = "UC Browser"
  1075.                                             } else {
  1076.                                                 if (this.isEdge || this.isEdgeChromium || this.isEdgeMobile) {
  1077.                                                     u = "Edge"
  1078.                                                 } else {
  1079.                                                     if (this.isAndroid) {
  1080.                                                         u = "Android"
  1081.                                                     } else {
  1082.                                                         if (/xbox/.test(q)) {
  1083.                                                             u = "xBox"
  1084.                                                         } else {
  1085.                                                             if (/midori/.test(q)) {
  1086.                                                                 u = "Midori"
  1087.                                                             } else {
  1088.                                                                 if (/maxthon/.test(q)) {
  1089.                                                                     u = "Maxthon"
  1090.                                                                 } else {
  1091.                                                                     if (this.isYandex) {
  1092.                                                                         u = "Yandex"
  1093.                                                                     } else {
  1094.                                                                         if (/vivaldi/.test(q)) {
  1095.                                                                             u = "Vivaldi"
  1096.                                                                         } else {
  1097.                                                                             if (this.isChrome) {
  1098.                                                                                 u = "Chrome"
  1099.                                                                             } else {
  1100.                                                                                 if (/fennec/.test(q)) {
  1101.                                                                                     u = "Fennec"
  1102.                                                                                 } else {
  1103.                                                                                     if (/epiphany/.test(q)) {
  1104.                                                                                         u = "Epiphany"
  1105.                                                                                     } else {
  1106.                                                                                         if (this.isFirefox) {
  1107.                                                                                             u = "Firefox"
  1108.                                                                                         } else {
  1109.                                                                                             if (/uzbl/.test(q)) {
  1110.                                                                                                 u = "Uzbl"
  1111.                                                                                             } else {
  1112.                                                                                                 if (this.isIE && navigator.platform === "Win64" && !k() && Modernizr.touch && document.documentElement.clientWidth == screen.width) {
  1113.                                                                                                     u = "IEMetro"
  1114.                                                                                                 } else {
  1115.                                                                                                     if (this.isIE) {
  1116.                                                                                                         u = "IE"
  1117.                                                                                                     } else {
  1118.                                                                                                         if (this.isOpera) {
  1119.                                                                                                             u = "Opera"
  1120.                                                                                                         } else {
  1121.                                                                                                             if (this.isIPad) {
  1122.                                                                                                                 u = "iPad"
  1123.                                                                                                             } else {
  1124.                                                                                                                 if (this.isIPhone) {
  1125.                                                                                                                     u = "iPhone"
  1126.                                                                                                                 } else {
  1127.                                                                                                                     if (/arora/.test(q)) {
  1128.                                                                                                                         u = "Arora"
  1129.                                                                                                                     } else {
  1130.                                                                                                                         if (this.isSafari) {
  1131.                                                                                                                             u = "Safari"
  1132.                                                                                                                         } else {
  1133.                                                                                                                             if (this.isKonqueror) {
  1134.                                                                                                                                 u = "Konqueror"
  1135.                                                                                                                             } else {
  1136.                                                                                                                                 if (this.isBlackberry) {
  1137.                                                                                                                                     u = "Blackberry"
  1138.                                                                                                                                 } else {
  1139.                                                                                                                                     if (/phantomjs/.test(q)) {
  1140.                                                                                                                                         u = "PhantomJS"
  1141.                                                                                                                                     } else {
  1142.                                                                                                                                         if (this.isIDevice) {
  1143.                                                                                                                                             u = "iOS"
  1144.                                                                                                                                         }
  1145.                                                                                                                                     }
  1146.                                                                                                                                 }
  1147.                                                                                                                             }
  1148.                                                                                                                         }
  1149.                                                                                                                     }
  1150.                                                                                                                 }
  1151.                                                                                                             }
  1152.                                                                                                         }
  1153.                                                                                                     }
  1154.                                                                                                 }
  1155.                                                                                             }
  1156.                                                                                         }
  1157.                                                                                     }
  1158.                                                                                 }
  1159.                                                                             }
  1160.                                                                         }
  1161.                                                                     }
  1162.                                                                 }
  1163.                                                             }
  1164.                                                         }
  1165.                                                     }
  1166.                                                 }
  1167.                                             }
  1168.                                         }
  1169.                                     }
  1170.                                 }
  1171.                             }
  1172.                         }
  1173.                     }
  1174.                 }
  1175.             }
  1176.         }
  1177.         if (this.isDDGApp) {
  1178.             u = "DDG " + u
  1179.         }
  1180.         this.browserName = m.browserName = u;
  1181.         this.pixelBrowserName = (this.isUCBrowser) ? "ucbrowser" : u.toLowerCase();
  1182.         this.pixelPlatformName = this._getPixelPlatformName();
  1183.         this.pixelBrowserVersion = this._getPixelBrowserVersion();
  1184.         this.displayBrowserName = this.browserName;
  1185.         if (u === "IEMetro") {
  1186.             this.displayBrowserName = "IE"
  1187.         } else {
  1188.             if (u === "iPhone" || u === "iPad") {
  1189.                 this.displayBrowserName = "Safari"
  1190.             } else {
  1191.                 if (u === "Android") {
  1192.                     this.displayBrowserName = "Chrome"
  1193.                 }
  1194.             }
  1195.         }
  1196.         this._updateScreenSize();
  1197.         this._updateIsMobileDevice();
  1198.         this.isSafariWithNativeDDG = this._isSafariWithNativeDDG();
  1199.         this.isFirefoxWithNativeDDG = this._isFirefoxWithNativeDDG();
  1200.         if ((this.isIPhone && !this.isIPod) || (/mac os x 10[_.]1\d/.test(this.ua)) || (this.isAndroid && /mobile/.test(this.ua) && (this.isChrome || this.isFirefox || this.isEdgeMobile || this.isUCBrowser)) || this.isWindowsPhone || this.isBlackberry) {
  1201.             this.canMakePhoneCalls = true
  1202.         } else {
  1203.             this.canMakePhoneCalls = false
  1204.         }
  1205.         if (this.isMobileDevice && this.browserName === "Firefox") {
  1206.             if (screen.width && screen.width < this.width) {
  1207.                 this.width = viewport_width = screen.width
  1208.             }
  1209.             if (screen.height && screen.height < this.height) {
  1210.                 this.height = viewport_height = screen.height
  1211.             }
  1212.             this._updateIsMobileDevice()
  1213.         }
  1214.         var r = (this.width < 600 || (this.width < 800 && this.height < 500)) ? 1 : 0;
  1215.         if (r !== this.isMobile) {
  1216.             this.isMobile = is_mobile = r;
  1217.             this.emit("changed:mobile")
  1218.         }
  1219.         this.isDesktop = !this.isMobile && !this.isMobileDevice;
  1220.         this.hasMetaReferrerSupport = !!((this.chromeVersion > 20 && !this.isMobileDevice) || (this.chromeVersion >= 50) || (this.safariVersion > 7 && !this.isWindows && !this.isMobileDevice) || (this.isIOS8pSafari || (this.safariVersion >= 8 && this.isIDevice)) || (this.operaVersion > 14 && !this.isMobileDevice) || this.isFirefox38AndUp || (this.isIOS8p && this.isFirefox) || this.isBrave || this.isUCBrowser);
  1221.         this.$scrollDoc = $("html,body");
  1222.         this.pixelId = (this.isMobile || this.isMobileDevice) ? "m" : "d";
  1223.         if (this.isMobileDevice) {
  1224.             this._wasPortrait = this.isMobilePortrait()
  1225.         }
  1226.         window.onresize = $.throttle(200, this._onResize.bind(this));
  1227.         window.onscroll = this._onScroll.bind(this);
  1228.         if (typeof document.hidden !== "undefined") {
  1229.             this._visibilityChange = "visibilitychange";
  1230.             this._visibilityState = "visibilityState"
  1231.         } else {
  1232.             if (typeof document.mozHidden !== "undefined") {
  1233.                 this._visibilityChange = "mozvisibilitychange";
  1234.                 this._visibilityState = "mozVisibilityState"
  1235.             }
  1236.         }
  1237.         if (this._visibilityChange) {
  1238.             d.addEventListener(this._visibilityChange, this._onVisibilityChange.bind(this), false)
  1239.         }
  1240.     };
  1241.     c.prototype = $.extend({}, b.prototype, {
  1242.         scrollTop: function(s, r, q) {
  1243.             if (typeof s === "undefined") {
  1244.                 if (typeof this._scrollTop !== "undefined") {
  1245.                     return this._scrollTop
  1246.                 }
  1247.                 return this._scrollTop = m.$doc.scrollTop()
  1248.             }
  1249.             if (s === this.scrollTop()) {
  1250.                 if (q) {
  1251.                     q()
  1252.                 }
  1253.                 return this._scrollTop = s
  1254.             }
  1255.             if (r && !$.isNumeric(r)) {
  1256.                 r = m.animation_speed
  1257.             }
  1258.             if (!r) {
  1259.                 this.$scrollDoc.scrollTop(s);
  1260.                 if (q) {
  1261.                     q()
  1262.                 }
  1263.             } else {
  1264.                 this.$scrollDoc.animate({
  1265.                     scrollTop: s
  1266.                 }, r, q)
  1267.             }
  1268.             return this._scrollTop = s
  1269.         },
  1270.         getBrowserMoreURL: function() {
  1271.             var q = "https://help.duckduckgo.com/desktop/";
  1272.             if (this.isChrome) {
  1273.                 return q + "chrome"
  1274.             } else {
  1275.                 if (this.isOpera) {
  1276.                     return q + "opera"
  1277.                 } else {
  1278.                     if (this.isSafari && !this.isSafariWithNativeDDG) {
  1279.                         return q + "safari"
  1280.                     } else {
  1281.                         if (this.browserName === "SeaMonkey") {
  1282.                             return "https://addons.mozilla.org/seamonkey/addon/duckduckgo-ssl/"
  1283.                         } else {
  1284.                             if (this.isFirefox) {
  1285.                                 return q + "firefox"
  1286.                             }
  1287.                         }
  1288.                     }
  1289.                 }
  1290.             }
  1291.         },
  1292.         canAddToBrowser: function() {
  1293.             var q = this.getAddToBrowserDirections();
  1294.             return q.useForSearch || q.setAsHomepage
  1295.         },
  1296.         getAddToBrowserDirections: function() {
  1297.             if (this._addToBrowserDirections) {
  1298.                 return this._addToBrowserDirections
  1299.             }
  1300.             var q = this.browserName,
  1301.                 s, r;
  1302.             if (!this._hasInstallationInstructions()) {
  1303.                 return this._addToBrowserDirections = {}
  1304.             }
  1305.             if (q === "IE") {
  1306.                 r = "ie"
  1307.             } else {
  1308.                 if (q === "SeaMonkey") {
  1309.                     r = "seamonkey"
  1310.                 } else {
  1311.                     if (q === "PaleMoon") {
  1312.                         r = "palemoon"
  1313.                     } else {
  1314.                         if (m.addToBrowser.canAddToBraveIOS()) {
  1315.                             r = "brave_ios"
  1316.                         } else {
  1317.                             if (m.addToBrowser.canAddToMobileFirefox() && this.isAndroid) {
  1318.                                 r = "firefox_android"
  1319.                             } else {
  1320.                                 if (m.addToBrowser.canAddToMobileFirefox() && this.isIDevice) {
  1321.                                     r = "firefox_ios"
  1322.                                 } else {
  1323.                                     if (this.isFirefoxWithNativeDDG) {
  1324.                                         r = "firefox"
  1325.                                     } else {
  1326.                                         if (q === "Firefox") {
  1327.                                             r = "firefox_old"
  1328.                                         } else {
  1329.                                             if (m.device.isUCBrowser && (this.isAndroid || this.isIDevice)) {
  1330.                                                 r = "uc_browser_mobile"
  1331.                                             } else {
  1332.                                                 if (m.addToBrowser.canAddToChromeMobile() && this.isAndroid) {
  1333.                                                     r = "chrome_android_default"
  1334.                                                 } else {
  1335.                                                     if (m.addToBrowser.canAddToChromeMobile() && this.isIDevice) {
  1336.                                                         r = "chrome_ios_default"
  1337.                                                     } else {
  1338.                                                         if (this.isEdgeMobile && this.isAndroid) {
  1339.                                                             r = "edge_android_default"
  1340.                                                         } else {
  1341.                                                             if (this.isEdgeMobile && this.isIDevice) {
  1342.                                                                 r = "edge_ios_default"
  1343.                                                             } else {
  1344.                                                                 if (m.addToBrowser.canAddToBraveAndroid()) {
  1345.                                                                     r = "chrome_android_default"
  1346.                                                                 } else {
  1347.                                                                     if (this.isChrome && this.isAndroid) {
  1348.                                                                         r = "chrome_android"
  1349.                                                                     } else {
  1350.                                                                         if (q === "Chrome") {
  1351.                                                                             r = "chrome"
  1352.                                                                         } else {
  1353.                                                                             if (q === "Maxthon" && !this.isOSX) {
  1354.                                                                                 r = "maxthon"
  1355.                                                                             } else {
  1356.                                                                                 if (this.isSafariWithNativeDDG) {
  1357.                                                                                     r = "safari"
  1358.                                                                                 } else {
  1359.                                                                                     if (this.isIOS8p && this.isSafari) {
  1360.                                                                                         r = "ios8"
  1361.                                                                                     } else {
  1362.                                                                                         if (q === "Safari" && window.postMessage && this.isOSX) {
  1363.                                                                                             r = "safari_old"
  1364.                                                                                         } else {
  1365.                                                                                             if (q === "Safari" && window.postMessage) {
  1366.                                                                                                 r = "safari_windows"
  1367.                                                                                             } else {
  1368.                                                                                                 if (q === "Opera") {
  1369.                                                                                                     r = "opera"
  1370.                                                                                                 } else {
  1371.                                                                                                     if (q === "Vivaldi") {
  1372.                                                                                                         r = "vivaldi"
  1373.                                                                                                     } else {
  1374.                                                                                                         if (q === "Edge") {
  1375.                                                                                                             r = "edge"
  1376.                                                                                                         } else {
  1377.                                                                                                             if (q === "Brave") {
  1378.                                                                                                                 r = "brave"
  1379.                                                                                                             }
  1380.                                                                                                         }
  1381.                                                                                                     }
  1382.                                                                                                 }
  1383.                                                                                             }
  1384.                                                                                         }
  1385.                                                                                     }
  1386.                                                                                 }
  1387.                                                                             }
  1388.                                                                         }
  1389.                                                                     }
  1390.                                                                 }
  1391.                                                             }
  1392.                                                         }
  1393.                                                     }
  1394.                                                 }
  1395.                                             }
  1396.                                         }
  1397.                                     }
  1398.                                 }
  1399.                             }
  1400.                         }
  1401.                     }
  1402.                 }
  1403.             }
  1404.             if (q === "IE") {
  1405.                 s = "ie"
  1406.             } else {
  1407.                 if (q.match(/^Firefox|PaleMoon|SeaMonkey$/)) {
  1408.                     s = "firefox"
  1409.                 } else {
  1410.                     if (q === "Maxthon") {
  1411.                         s = "maxthon"
  1412.                     } else {
  1413.                         if (q === "Chrome") {
  1414.                             s = "chrome"
  1415.                         } else {
  1416.                             if (q === "Safari") {
  1417.                                 s = "safari"
  1418.                             } else {
  1419.                                 if (q === "Opera") {
  1420.                                     s = "opera"
  1421.                                 } else {
  1422.                                     if (q === "Vivaldi") {
  1423.                                         s = "vivaldi"
  1424.                                     } else {
  1425.                                         if (q === "Edge") {
  1426.                                             s = "edge"
  1427.                                         }
  1428.                                     }
  1429.                                 }
  1430.                             }
  1431.                         }
  1432.                     }
  1433.                 }
  1434.             }
  1435.             return this._addToBrowserDirections = {
  1436.                 useForSearch: r && ("use_for_search_" + r),
  1437.                 setAsHomepage: s && ("set_as_homepage_" + s)
  1438.             }
  1439.         },
  1440.         DDGisBrowserDefault: function() {
  1441.             return this.ua.match(/palemoon|porteus|qupzilla|lxle/gi)
  1442.         },
  1443.         isTeapot: function() {
  1444.             return this.width >= a && this.height <= h
  1445.         },
  1446.         isMobileLandscape: function() {
  1447.             return this.isMobile && this.width > this.height && (this.isAndroid && this.width >= e)
  1448.         },
  1449.         isMobilePortrait: function() {
  1450.             return this.isMobile && !this.isMobileLandscape()
  1451.         },
  1452.         widthBreakpoint: function() {
  1453.             var q = i.length;
  1454.             while (--q) {
  1455.                 var r = i[q];
  1456.                 if (this.width < r.width) {
  1457.                     return r.id
  1458.                 }
  1459.             }
  1460.             return i[0].id
  1461.         },
  1462.         gutterSize: function() {
  1463.             return f[this.widthBreakpoint()]
  1464.         },
  1465.         isPrv: function() {
  1466.             var s = "prv",
  1467.                 r = w.sessionStorage;
  1468.             try {
  1469.                 r.setItem(s, "1");
  1470.                 r.removeItem(s)
  1471.             } catch (q) {
  1472.                 if (q.code === DOMException.QUOTA_EXCEEDED_ERR && r.length === 0) {
  1473.                     return true
  1474.                 }
  1475.             }
  1476.             return false
  1477.         },
  1478.         getCountry: function(q) {
  1479.             if (this.countryCode) {
  1480.                 return q && q(null, this.countryCode)
  1481.             }
  1482.             $.ajax({
  1483.                 url: "/country.json",
  1484.                 success: function(r) {
  1485.                     this.countryCode = r && r.country;
  1486.                     return q && q(null, this.countryCode)
  1487.                 }.bind(this),
  1488.                 error: function(r) {
  1489.                     return q && q(r)
  1490.                 }
  1491.             })
  1492.         },
  1493.         getLang: function() {
  1494.             var r = "en",
  1495.                 q = m.settings.get(m.settings.LANGUAGE_KEY);
  1496.             if (q && q !== "wt_WT") {
  1497.                 r = q.slice(0, 2)
  1498.             } else {
  1499.                 if (w.locale) {
  1500.                     r = w.locale.slice(0, 2)
  1501.                 }
  1502.             }
  1503.             return r
  1504.         },
  1505.         getLocale: function() {
  1506.             var q = m.settings.get(m.settings.LANGUAGE_KEY);
  1507.             if (q && q !== "wt_WT") {
  1508.                 return q
  1509.             } else {
  1510.                 if (w.locale) {
  1511.                     return w.locale
  1512.                 }
  1513.             }
  1514.             return "en_US"
  1515.         },
  1516.         getColorScheme: function() {
  1517.             var r = window.matchMedia("(prefers-color-scheme: dark)"),
  1518.                 q = window.matchMedia("(prefers-color-scheme: light)");
  1519.             if (r.matches) {
  1520.                 return "dark"
  1521.             } else {
  1522.                 if (q.matches) {
  1523.                     return "light"
  1524.                 }
  1525.             }
  1526.         },
  1527.         _updateScreenSize: function() {
  1528.             var q, r, s = document.documentElement;
  1529.             q = Math.max(s.clientWidth, window.innerWidth || 0);
  1530.             r = Math.max(s.clientHeight, window.innerHeight || 0);
  1531.             if (q !== this.width || r !== this.height) {
  1532.                 this.width = viewport_width = q;
  1533.                 this.height = viewport_height = r;
  1534.                 return true
  1535.             }
  1536.             return false
  1537.         },
  1538.         _updateIsMobileDevice: function() {
  1539.             var q = /mobile/.test(this.ua) ? 1 : 0;
  1540.             if (this.isOperaMobile || this.isOperaMini || this.isIDevice || this.isAndroid || this.isSilk || (this.width < 600 && this.height < 400)) {
  1541.                 q = 1
  1542.             }
  1543.             this.isMobileDevice = is_mobile_device = q
  1544.         },
  1545.         _isSafariWithNativeDDG: function() {
  1546.             if (this.browserName !== "Safari" || this.isMobileDevice) {
  1547.                 return false
  1548.             }
  1549.             var q = new RegExp("version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*safari/").exec(this.ua);
  1550.             if (!q || !q.length) {
  1551.                 return false
  1552.             }
  1553.             q.shift();
  1554.             q = q.map(function(r) {
  1555.                 return r || 0
  1556.             }).join("");
  1557.             return q && q > 706
  1558.         },
  1559.         _isFirefoxWithNativeDDG: function() {
  1560.             if (this.browserName !== "Firefox") {
  1561.                 return false
  1562.             }
  1563.             return navigator.buildID && parseInt(navigator.buildID, 10) >= 20141028112145
  1564.         },
  1565.         _getPixelBrowserVersion: function() {
  1566.             var q = 0;
  1567.             if (this.isChrome) {
  1568.                 q = this.chromeVersion
  1569.             } else {
  1570.                 if (this.isFirefox) {
  1571.                     q = this.firefoxVersion
  1572.                 } else {
  1573.                     if (this.isSafari) {
  1574.                         q = this.safariVersion
  1575.                     } else {
  1576.                         if (this.operaVersion !== -1) {
  1577.                             q = this.operaVersion
  1578.                         } else {
  1579.                             if (this.isIE11p) {
  1580.                                 q = 11
  1581.                             } else {
  1582.                                 if (this.isIE10p) {
  1583.                                     q = 10
  1584.                                 } else {
  1585.                                     if (this.isIE9) {
  1586.                                         q = 9
  1587.                                     }
  1588.                                 }
  1589.                             }
  1590.                         }
  1591.                     }
  1592.                 }
  1593.             }
  1594.             return q
  1595.         },
  1596.         _getPixelPlatformName: function() {
  1597.             var q = "other";
  1598.             if (this.isAndroid) {
  1599.                 q = "android"
  1600.             } else {
  1601.                 if (this.isIPod) {
  1602.                     q = "ipod"
  1603.                 } else {
  1604.                     if (this.isIPad) {
  1605.                         q = "ipad"
  1606.                     } else {
  1607.                         if (this.isIPhone) {
  1608.                             q = "iphone"
  1609.                         } else {
  1610.                             if (this.isWindowsPhone) {
  1611.                                 q = "winphone"
  1612.                             } else {
  1613.                                 if (this.isWindows) {
  1614.                                     q = "windows"
  1615.                                 } else {
  1616.                                     if (this.isLinux) {
  1617.                                         q = "linux"
  1618.                                     } else {
  1619.                                         if (this.isBlackberry) {
  1620.                                             q = "blackberry"
  1621.                                         } else {
  1622.                                             if (this.isOSX) {
  1623.                                                 q = "mac"
  1624.                                             } else {
  1625.                                                 if (this.browserName === "DDG iOS") {
  1626.                                                     q = "ios"
  1627.                                                 }
  1628.                                             }
  1629.                                         }
  1630.                                     }
  1631.                                 }
  1632.                             }
  1633.                         }
  1634.                     }
  1635.                 }
  1636.             }
  1637.             return q
  1638.         },
  1639.         _hasInstallationInstructions: function() {
  1640.             if (this.isSilk) {
  1641.                 return false
  1642.             }
  1643.             var q = true;
  1644.             if (this.isMobileDevice || this.isMobile) {
  1645.                 q = m.addToBrowser.canAddToMobileBrowser() || this.isAndroidChromeNoOpenSearch
  1646.             }
  1647.             return q
  1648.         },
  1649.         _onResize: function(q) {
  1650.             if (this._updateScreenSize()) {
  1651.                 q.isRotation = this.isMobileDevice && this._wasPortrait != this.isMobilePortrait();
  1652.                 this._wasPortrait = this.isMobilePortrait();
  1653.                 this.emit("resize", q)
  1654.             }
  1655.         },
  1656.         _onScroll: function(q) {
  1657.             delete this._scrollTop;
  1658.             this.emit("scroll", q)
  1659.         },
  1660.         _onVisibilityChange: function(q) {
  1661.             this.emit("visibilitychange", d[this._visibilityState])
  1662.         }
  1663.     });
  1664.  
  1665.     function k() {
  1666.         var q;
  1667.         try {
  1668.             q = !!new ActiveXObject("htmlfile")
  1669.         } catch (r) {}
  1670.         return q
  1671.     }
  1672. }(DDG);
  1673. ! function(c) {
  1674.     var a = c.Models.Base,
  1675.         e = 500,
  1676.         b = {
  1677.             13: "enter",
  1678.             27: "escape",
  1679.             32: "space",
  1680.             37: "left",
  1681.             38: "up",
  1682.             39: "right",
  1683.             40: "down",
  1684.             16: "shift",
  1685.             17: "ctrl",
  1686.             18: "alt",
  1687.             91: "cmd",
  1688.             74: "k",
  1689.             75: "j"
  1690.         };
  1691.     c.Models.Keyboard = function(f) {
  1692.         a.call(this, f);
  1693.         if (!c.device.isMobileDevice) {
  1694.             $(document).on("keydown", this._onKeydown.bind(this))
  1695.         }
  1696.     };
  1697.     c.Models.Keyboard.prototype = $.extend({}, a.prototype, {
  1698.         namespaced: function(f) {
  1699.             if (!f) {
  1700.                 return !!this.namespace
  1701.             }
  1702.             return this.namespace && this.namespace.match(f)
  1703.         },
  1704.         focusedOnInput: function() {
  1705.             var f = document.activeElement;
  1706.             return f && (f.nodeName === "INPUT" || f.nodeName === "TEXTAREA" || f.localName === "button")
  1707.         },
  1708.         keyCodeIsOneOf: function(h, g) {
  1709.             var f = b[h];
  1710.             return (f && g.indexOf(f) > -1)
  1711.         },
  1712.         _onKeydown: function(h) {
  1713.             var g = h.keyCode;
  1714.             clearTimeout(this._activeTimeout);
  1715.             this.set("active", 1);
  1716.             if (!fq && (!kk || kk == "1") && !h.ctrlKey && !h.metaKey && !this.focusedOnInput() && c.duckbar && c.duckbar.areOrganicsShowing) {
  1717.                 if (this.enableSERPShortcuts) {
  1718.                     this._onSERPKeydown(h)
  1719.                 }
  1720.                 if (g == 13) {
  1721.                     nke()
  1722.                 }
  1723.                 if (g == 84) {
  1724.                     nkt()
  1725.                 }
  1726.             }
  1727.             var f = b[g];
  1728.             if (f && !h.altKey && !h.shiftKey) {
  1729.                 if (this.namespace) {
  1730.                     this.emit(f + "." + this.namespace, h)
  1731.                 }
  1732.                 this.emit(f, h)
  1733.             }
  1734.             this._activeTimeout = setTimeout(function() {
  1735.                 clearTimeout(this._activeTimeout);
  1736.                 this.set("active")
  1737.             }.bind(this), e)
  1738.         },
  1739.         _onSERPKeydown: function(g) {
  1740.             var f = g.keyCode;
  1741.             if (f == 40 || f == 74) {
  1742.                 if (this.nativeUpDown) {
  1743.                     return
  1744.                 }
  1745.                 g.preventDefault();
  1746.                 nkda()
  1747.             }
  1748.             if (f == 38 || f == 75) {
  1749.                 if (this.nativeUpDown) {
  1750.                     return
  1751.                 }
  1752.                 g.preventDefault();
  1753.                 nkua()
  1754.             }
  1755.             if (f == 191) {
  1756.                 if (c.device.isFirefox) {
  1757.                     g.preventDefault()
  1758.                 }
  1759.                 nks()
  1760.             }
  1761.             if (f == 79 || f == 76) {
  1762.                 nko()
  1763.             }
  1764.             if (f == 222 || f == 86) {
  1765.                 nkn()
  1766.             }
  1767.             if (f == 111 || f == 72) {
  1768.                 nks()
  1769.             }
  1770.             if (f == 32) {
  1771.                 nksb()
  1772.             }
  1773.             if (f == 77) {
  1774.                 nkm()
  1775.             }
  1776.             if (f == 68) {
  1777.                 nkd(g)
  1778.             }
  1779.         }
  1780.     })
  1781. }(DDG);
  1782. ! function(c) {
  1783.     var b = c.Models,
  1784.         a = b.Base;
  1785.     b.SelectList = function(e) {
  1786.         a.call(this, e);
  1787.         this.select(e.selectedId || this.values[0].id)
  1788.     };
  1789.     b.SelectList.prototype = $.extend({}, a.prototype, {
  1790.         select: function(e) {
  1791.             var f;
  1792.             this.values.forEach(function(g) {
  1793.                 if (g.id === e) {
  1794.                     g.selected = true;
  1795.                     f = g
  1796.                 } else {
  1797.                     g.selected = false
  1798.                 }
  1799.             });
  1800.             if (!f) {
  1801.                 this.select(this.values[0].id)
  1802.             } else {
  1803.                 this.set("selected", f)
  1804.             }
  1805.         }
  1806.     })
  1807. }(DDG);
  1808. ! function(f) {
  1809.     var e = f.Models,
  1810.         c = e.Base,
  1811.         b = "d",
  1812.         a = 10;
  1813.     e.Deep = function(h) {
  1814.         this._backData = h.backData;
  1815.         this._device = h.device;
  1816.         this._page = h.page;
  1817.         this._pixel = h.pixel;
  1818.         this._settings = h.settings;
  1819.         this._adFeed = h.adFeed;
  1820.         this.hideRelated = window.iqa;
  1821.         this.results = {};
  1822.         this.resultDomains = {};
  1823.         var g = this.getInstance("adFeed");
  1824.         g.on("change:ads", function() {
  1825.             if (this.results.a && this.results.a.length) {
  1826.                 this.getInstance("pixel").fire("sad", {
  1827.                     b: 1,
  1828.                     r: "ad"
  1829.                 });
  1830.                 return
  1831.             }
  1832.             if (this._heldOrganics) {
  1833.                 this.nrnWrapper("d", this._heldOrganics);
  1834.                 delete this._heldOrganics
  1835.             }
  1836.         }.bind(this));
  1837.         g.on("change:lateAds", function() {
  1838.             if (g.lateAds.length) {
  1839.                 nrn("a", g.lateAds, 1)
  1840.             }
  1841.         })
  1842.     };
  1843.     e.Deep.prototype = $.extend({}, c.prototype, {
  1844.         isLastResult: false,
  1845.         isOutOfResults: false,
  1846.         pageNumber: 1,
  1847.         started: 0,
  1848.         finished: 0,
  1849.         _currentPageItems: {
  1850.             a: [],
  1851.             d: []
  1852.         },
  1853.         timeSinceStarted: function() {
  1854.             return this.started ? new Date().getTime() - this.started : 0
  1855.         },
  1856.         timeSinceFinished: function() {
  1857.             return this.finished ? new Date().getTime() - this.finished : 0
  1858.         },
  1859.         getResultCount: function() {
  1860.             return r1c
  1861.         },
  1862.         getFirstSource: function() {
  1863.             return this.results && this.results.d && this.results.d[0] && this.results.d[0].s
  1864.         },
  1865.         getAttributionSource: function() {
  1866.             if (!this.results || !this.results.d || this.results.d.length <= 5) {
  1867.                 return ""
  1868.             }
  1869.             var g = this.getFirstSource();
  1870.             if (g === "yandexru" || g === "yandextr") {
  1871.                 return "yandex"
  1872.             }
  1873.             return ""
  1874.         },
  1875.         canShowAttribution: function() {
  1876.             return !this.showedAttribution && !!this.getAttributionSource()
  1877.         },
  1878.         getNewsItems: function(h) {
  1879.             if (!this.results.d || !this.results.d.length) {
  1880.                 return
  1881.             }
  1882.             var g = [];
  1883.             for (var k = 0; k < this.results.d.length; k++) {
  1884.                 var m = this.results.d[k],
  1885.                     j = m.da && m.da.split(",");
  1886.                 if (j && j.indexOf("news") > -1) {
  1887.                     var n = m.d.split("/")[0];
  1888.                     g.push({
  1889.                         title: m.t,
  1890.                         excerpt: m.a,
  1891.                         url: m.u,
  1892.                         source: n,
  1893.                         fetch_image: f.Data.NewsImageDomains.indexOf(n) > -1,
  1894.                         rank: k
  1895.                     })
  1896.                 }
  1897.             }
  1898.             if (h && g.length === 1 && g[0].rank < 5) {
  1899.                 return []
  1900.             }
  1901.             return g
  1902.         },
  1903.         addResults: function(h, g) {
  1904.             if (!this.results[h]) {
  1905.                 this.results[h] = g
  1906.             } else {
  1907.                 this.results[h] = this.results[h].concat(g)
  1908.             }
  1909.             this._emitChange("results")
  1910.         },
  1911.         _checkBackClickFromSecondPage: function() {
  1912.             if (!this.getInstance("settings").autoloadDisabled() || this._hasShownFirstPage) {
  1913.                 return
  1914.             }
  1915.             var h = this.getInstance("backData").getId(),
  1916.                 g = h && h.match(/r([1a])-([0-9]*)/);
  1917.             if (g) {
  1918.                 this._hasShownFirstPage = (g[1] === "1" && parseInt(g[2], 10) > 8) || (g[1] === "a" && parseInt(g[2], 10) > 0)
  1919.             }
  1920.         },
  1921.         nrnWrapper: function(o, j) {
  1922.             var n = this.getInstance("page").ads,
  1923.                 k = this.getInstance("adFeed"),
  1924.                 h = this.getInstance("settings").autoloadDisabled() && o === b;
  1925.             if (o === "d" && !this._hasShownFirstPage) {
  1926.                 for (var m = 0; m < j.length; m++) {
  1927.                     if (j[m].k) {
  1928.                         k.setDefaultAds([j[m]], n.adxExperiment);
  1929.                         break
  1930.                     }
  1931.                 }
  1932.                 var g = k.getAds();
  1933.                 if (k.yjsFeedActive) {
  1934.                     if (k.loading) {
  1935.                         this._heldOrganics = j;
  1936.                         k.organicsLoaded();
  1937.                         return
  1938.                     } else {
  1939.                         if (g.length) {
  1940.                             this.nrnWrapper("a", g)
  1941.                         }
  1942.                     }
  1943.                 } else {
  1944.                     if (!(this.results.a && this.results.a.length) && g.length) {
  1945.                         this.nrnWrapper("a", g)
  1946.                     }
  1947.                 }
  1948.             }
  1949.             this._checkBackClickFromSecondPage();
  1950.             if (h && !this._hasShownFirstPage) {
  1951.                 this._currentPageItems[o] = j.slice(0, a);
  1952.                 this._pendingOrganics = j.slice(a);
  1953.                 this._hasShownFirstPage = true;
  1954.                 j = this._currentPageItems[o]
  1955.             } else {
  1956.                 this._currentPageItems[o] = j
  1957.             }
  1958.             this.addResults(o, j);
  1959.             if (o === "a" && !n.isBlocked() && j.length) {
  1960.                 this._sendAdImpressions(j)
  1961.             }
  1962.             if (o === "a" && this.pageNumber === 1) {
  1963.                 n.setAds(j)
  1964.             }
  1965.             if (this._currentPageItems.a.length && this._currentPageItems.d.length) {
  1966.                 this._splitNrnResults()
  1967.             } else {
  1968.                 if (o === "d") {
  1969.                     nrn(o, j, true, true);
  1970.                     this._setFirstPageRendered();
  1971.                     this._currentPageItemsReset()
  1972.                 }
  1973.             }
  1974.         },
  1975.         pageNumberIncrement: function() {
  1976.             return ++this.pageNumber
  1977.         },
  1978.         pageNumberDecrement: function() {
  1979.             return --this.pageNumber
  1980.         },
  1981.         hasPendingResults: function() {
  1982.             return this._pendingOrganics && this._pendingOrganics.length
  1983.         },
  1984.         showPendingResults: function() {
  1985.             if (this.hasPendingResults()) {
  1986.                 var g = this._pendingOrganics;
  1987.                 this._pendingOrganics = null;
  1988.                 this.nrnWrapper("d", g);
  1989.                 f.ImageLoader.registerAll($(".js-lazyload-icons"), "scrollY")
  1990.             }
  1991.         },
  1992.         hasMoreResultsToLoad: function() {
  1993.             var h = this.results.d ? this.results.d.length : 0;
  1994.             var i = this.hasPendingResults();
  1995.             var g = "";
  1996.             if (i) {
  1997.                 g = this._pendingOrganics[i - 1].n
  1998.             } else {
  1999.                 if (h) {
  2000.                     g = this.results.d[h - 1].n
  2001.                 }
  2002.             }
  2003.             return !!g
  2004.         },
  2005.         _currentPageItemsReset: function() {
  2006.             this._currentPageItems.a = [];
  2007.             this._currentPageItems.d = []
  2008.         },
  2009.         _sendAdImpressions: function(j) {
  2010.             var h = {},
  2011.                 k = this.getInstance("page"),
  2012.                 i = false;
  2013.             h.n = j.length;
  2014.             h.rl = window.rl;
  2015.             j.forEach(function(q, p) {
  2016.                 q.adn = j.length;
  2017.                 if (q.l && q.l.indexOf("sponsored__sitelink-description") > -1) {
  2018.                     i = true
  2019.                 }
  2020.                 if (this.pageNumber === 1) {
  2021.                     q.adf = 1
  2022.                 }
  2023.             }.bind(this));
  2024.             h.sld = i ? 1 : 0;
  2025.             var o = j[0].d;
  2026.             o = o.split("/");
  2027.             o = o.shift();
  2028.             if (o) {
  2029.                 h.d = o
  2030.             }
  2031.             var n = k.ads.adx;
  2032.             if (n && n !== "ctl") {
  2033.                 h.adx = n
  2034.             }
  2035.             if (window.sourceTag) {
  2036.                 h.st = window.sourceTag
  2037.             }
  2038.             if (k.ads.adxExperiment) {
  2039.                 h.adx_name = k.ads.adxExperiment
  2040.             }
  2041.             try {
  2042.                 var g = j.map(function(p) {
  2043.                     return p.d
  2044.                 }).join(",");
  2045.                 h.ds = g
  2046.             } catch (m) {}
  2047.             this.getInstance("pixel").fire("ad", j[0].s || "default", h)
  2048.         },
  2049.         _canShowSouthAds: function() {
  2050.             return this.pageNumber === 1 && f.settings.isDefault("kav") && f.settings.isDefault("k1") && !this.getInstance("adFeed").isUsingDefaultAds()
  2051.         },
  2052.         _splitNrnResults: function() {
  2053.             var m = true,
  2054.                 h = false,
  2055.                 k, g, i = this.getInstance("page").ads,
  2056.                 j = this.getInstance("device").isMobile ? 1 : 2;
  2057.             if (this.getInstance("settings").autoloadDisabled() && !this._hasRenderedFirstPage) {
  2058.                 this._blockResultSplit = true;
  2059.                 if (this._currentPageItems.d.length < 10) {
  2060.                     this._blockResultSplit = false
  2061.                 }
  2062.             }
  2063.             if (this._currentPageItems.a.length > j && !this._blockResultSplit) {
  2064.                 nrn("a", this._currentPageItems.a.slice(0, j), m);
  2065.                 nrn("d", this._currentPageItems.d.slice(0, 15), m, h);
  2066.                 this.pageNumber++;
  2067.                 this.emit("add-separator");
  2068.                 nrn("a", this._currentPageItems.a.slice(j, this._currentPageItems.a.length), m);
  2069.                 h = true;
  2070.                 nrn("d", this._currentPageItems.d.slice(15, this._currentPageItems.d.length), m, h)
  2071.             } else {
  2072.                 if (this._currentPageItems.a.length && i.adx !== "rel2" && this._canShowSouthAds()) {
  2073.                     k = i.getNorthAds(this._currentPageItems.a);
  2074.                     nrn("a", k, m, h);
  2075.                     g = i.getSouthAds(this._currentPageItems.a);
  2076.                     h = g.length === 0;
  2077.                     nrn("d", this._currentPageItems.d, m, h);
  2078.                     if (g.length) {
  2079.                         h = true;
  2080.                         nrn("a", g, m, h)
  2081.                     }
  2082.                 } else {
  2083.                     if (this._currentPageItems.a.length) {
  2084.                         nrn("a", this._currentPageItems.a, m, h);
  2085.                         h = true;
  2086.                         nrn("d", this._currentPageItems.d, m, h)
  2087.                     }
  2088.                 }
  2089.             }
  2090.             this._currentPageItemsReset();
  2091.             this._setFirstPageRendered()
  2092.         },
  2093.         _setFirstPageRendered: function() {
  2094.             if (!this.finished) {
  2095.                 this.set("finished", new Date().getTime())
  2096.             }
  2097.             this.emit("rendered");
  2098.             if (this.getInstance("settings").autoloadDisabled()) {
  2099.                 this._hasRenderedFirstPage = true;
  2100.                 this._blockResultSplit = false
  2101.             }
  2102.         }
  2103.     })
  2104. }(DDG);
  2105. ! function(c) {
  2106.     var b = c.Models,
  2107.         a = b.Base,
  2108.         f = [{
  2109.             name: l("Any Time"),
  2110.             id: ""
  2111.         }, {
  2112.             name: l("Past Day"),
  2113.             id: "d"
  2114.         }, {
  2115.             name: l("Past Week"),
  2116.             id: "w"
  2117.         }, {
  2118.             name: l("Past Month"),
  2119.             id: "m"
  2120.         }, {
  2121.             name: l("Past Year"),
  2122.             id: "y"
  2123.         }],
  2124.         e = 4;
  2125.     b.Search = function(g) {
  2126.         this.dateFilterId = window[c.Data.HiddenFields.DATE_FILTER];
  2127.         this.deepAnswerIAs = {};
  2128.         this.isAdultQuery = window.iqa;
  2129.         this.isMinusQuery = window.iqm;
  2130.         this.isQuoteQuery = window.iqq;
  2131.         this.isDomainQuery = window.iqd;
  2132.         this.isVertical = false;
  2133.         this.isSiteQuery = window.rq && window.rq.indexOf("site%3A") !== -1;
  2134.         a.call(this, g);
  2135.         this.on("change:dateFilterId", this._setDateFilter.bind(this));
  2136.         this.on("change:isVertical", this._changedVertical.bind(this));
  2137.         this._setDateFilter()
  2138.     };
  2139.     b.Search.prototype = $.extend({}, a.prototype, {
  2140.         _dateFilters: f,
  2141.         requery: function() {
  2142.             this.emit("requery")
  2143.         },
  2144.         addBangToSiteInQuery: function(g, h) {
  2145.             return h.replace(new RegExp("(^|\\s)(" + g + ")($|\\s)", "i"), "$1!$2$3")
  2146.         },
  2147.         isLatLonQuery: function() {
  2148.             return !!c.get_query().match(/latitude|longitude/gi)
  2149.         },
  2150.         getDateFilterName: function() {
  2151.             return this._dateFilterName
  2152.         },
  2153.         getResultCount: function() {
  2154.             return window.r1c || 0
  2155.         },
  2156.         _changedVertical: function() {
  2157.             if (this.isVertical && this.dateFilterId === f[e].id) {
  2158.                 this._hadPastYear = true;
  2159.                 this.set("dateFilterId", "")
  2160.             } else {
  2161.                 if (!this.isVertical && this._hadPastYear) {
  2162.                     this.set("dateFilterId", f[e].id)
  2163.                 }
  2164.             }
  2165.         },
  2166.         _setDateFilter: function() {
  2167.             this._dateFilters.forEach(function(g) {
  2168.                 if (g.id === this.dateFilterId) {
  2169.                     g.selected = 1;
  2170.                     this._dateFilterName = g.name
  2171.                 } else {
  2172.                     g.selected = 0
  2173.                 }
  2174.             }.bind(this))
  2175.         },
  2176.         getDateFilters: function() {
  2177.             if (this.isVertical) {
  2178.                 return this._dateFilters.slice(0, e)
  2179.             }
  2180.             return this._dateFilters
  2181.         },
  2182.         getSiteQuery: function(q) {
  2183.             if (!q) {
  2184.                 return false
  2185.             }
  2186.             q = decodeURIComponentSafe(q);
  2187.             q = c.strip_html(q);
  2188.             var h, g, t = false,
  2189.                 n, s = [],
  2190.                 o, r = q,
  2191.                 p = [];
  2192.             n = q.match(/((NOT )?SITE:)([^\s]+)/);
  2193.             if (n) {
  2194.                 t = !!n[2];
  2195.                 p = n[3].split(",");
  2196.                 r = q.substring(0, n.index - 1);
  2197.                 for (var m = 0; m < p.length; m++) {
  2198.                     if (!p[m]) {
  2199.                         continue
  2200.                     }
  2201.                     h = [];
  2202.                     for (var k = 0; k < p.length; k++) {
  2203.                         if (k !== m) {
  2204.                             h.push(p[k])
  2205.                         }
  2206.                     }
  2207.                     o = (t) ? " NOT SITE:" : " SITE:";
  2208.                     g = (h.length) ? o + h.join(",") : "";
  2209.                     s.push({
  2210.                         site: p[m],
  2211.                         clearQuery: encodeURIComponent(r + g)
  2212.                     })
  2213.                 }
  2214.             }
  2215.             if (!this.isYhsSource() && t && (s.length > 1 || rqd.toLowerCase().indexOf("not site:") !== -1)) {
  2216.                 s = []
  2217.             }
  2218.             return {
  2219.                 str: q,
  2220.                 query: r,
  2221.                 sites: s,
  2222.                 isExcluding: t
  2223.             }
  2224.         },
  2225.         isYhsSource: function() {
  2226.             return this.src === "yhs"
  2227.         },
  2228.         isQuotedQuery: function() {
  2229.             return c.get_query().match(/(\'.+\')|(\".+\")/)
  2230.         }
  2231.     })
  2232. }(DDG);
  2233. ! function(b) {
  2234.     var a = b.Models.Base;
  2235.     b.Models.Search.Spelling = function(c) {
  2236.         a.call(this, c);
  2237.         this.type = this.type.toLowerCase();
  2238.         this.query = decodeURIComponentSafe(c.link);
  2239.         this.recourseQuery = decodeURIComponentSafe(c.recourseLink);
  2240.         this.parsedQuery = c.suggestion && c.suggestion.replace(/<\/?[^>]+(>|$)/g, "");
  2241.         if (this.type === "nmrc") {
  2242.             this.parsedQuery = window.rq
  2243.         }
  2244.     };
  2245.     b.Models.Search.Spelling.prototype = $.extend({}, a.prototype, {
  2246.         isValidType: function() {
  2247.             return (this.type && this.type.match(/irf|dym|nmrc/))
  2248.         },
  2249.         makeSpellingURL: function(f, e, c) {
  2250.             if (c) {
  2251.                 f += "&iar=" + c + "&ia=" + c
  2252.             }
  2253.             var g = b.searchExperiments ? b.searchExperiments.getExperimentGroup("rspexp2") : null;
  2254.             return "/?q=" + f + (e ? "&norw=1" : "") + (w.rv ? "&v=" + w.rv : "") + (w.kurl ? w.kurl : "") + (g ? "&rspexp=" + g : "")
  2255.         }
  2256.     })
  2257. }(DDG);
  2258. var d = document;
  2259. var w = window;
  2260. var cd, dz, da, fk, fb, fs, fm, fe, fl, fo, fa, fn, fq, fz, ie, io, ir, is, ga, gd, rc, rd, rs, rsd, rdc, rsc, rtc, rii, rin, rir, rl, rp, reb, rebc, sx, sy, tl, tlz, tac, tr, ts, tn, tsl, tz, nir, kurl, is_mobile, dow, iosx;
  2261. fb = irl = il = dz = da = dam = daiq = daia = fz = tl = tlz = sx = sy = fl = fo = fa = fn = rdc = rtc = rsc = rii = rin = rebc = tsl = tac = tn = tz = fe = fmx = fmy = ieof = iad = iad2 = iad3 = iadt = 0;
  2262. kurl = "";
  2263. rpc = fk = fs = 1;
  2264. tr = new Array();
  2265. ts = new Array();
  2266. rsd = new Array();
  2267. reb = new Array();
  2268. ! function(c) {
  2269.     var b = c.Models,
  2270.         a = b.Base;
  2271.     b.Hidden = function(f) {
  2272.         a.call(this, f);
  2273.         this._vals = {};
  2274.         for (var g in c.Data.HiddenFields) {
  2275.             var e = c.Data.HiddenFields[g];
  2276.             if (window[e]) {
  2277.                 this.set(e, window[e])
  2278.             }
  2279.         }
  2280.     };
  2281.     b.Hidden.prototype = $.extend({}, a.prototype, {
  2282.         set: function(e, f) {
  2283.             this._vals[e] = f;
  2284.             this.emit("change")
  2285.         },
  2286.         get: function(e) {
  2287.             return this._vals[e]
  2288.         },
  2289.         clear: function(e) {
  2290.             delete this._vals[e];
  2291.             this.emit("change")
  2292.         },
  2293.         toJSON: function() {
  2294.             return $.extend({}, this._vals)
  2295.         }
  2296.     })
  2297. }(DDG);
  2298. ! function(c) {
  2299.     var a = c.Models.Base,
  2300.         b = {
  2301.             Firefox: {
  2302.                 canInstall: function() {
  2303.                     return !this.device.isMobileDevice && this.device.isFirefox && !this.device.isFirefoxLessThan57
  2304.                 },
  2305.                 url: "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/addon-385621-latest.xpi",
  2306.                 reviewsUrl: "https://addons.mozilla.org/firefox/addon/duckduckgo-for-firefox/reviews/",
  2307.                 watchCSSForSuccess: true
  2308.             },
  2309.             Chrome: {
  2310.                 canInstall: function() {
  2311.                     return !this.device.isMobileDevice && this.device.isChrome && ((this.device.isWindows && this.device.chromeVersion >= 36) || (this.device.isOSX && this.device.chromeVersion >= 56))
  2312.                 },
  2313.                 url: "https://chrome.google.com/webstore/detail/bkdgflcldnnnapblkhphbgpggdiikppg"
  2314.             },
  2315.             Edge: {
  2316.                 canInstall: function() {
  2317.                     if (c.device.isEnglish) {
  2318.                         return false
  2319.                     }
  2320.                     return !this.device.isMobileDevice && this.device.isEdgeChromium && ((this.device.isWindows && this.device.chromeVersion >= 36) || (this.device.isOSX && this.device.chromeVersion >= 56))
  2321.                 },
  2322.                 url: "https://chrome.google.com/webstore/detail/bkdgflcldnnnapblkhphbgpggdiikppg"
  2323.             },
  2324.             Brave: {
  2325.                 canInstall: function() {
  2326.                     return !this.device.isMobileDevice && this.device.isBrave && ((this.device.isWindows && this.device.chromeVersion >= 36) || (this.device.isOSX && this.device.chromeVersion >= 56))
  2327.                 },
  2328.                 url: "https://chrome.google.com/webstore/detail/bkdgflcldnnnapblkhphbgpggdiikppg"
  2329.             },
  2330.             Vivaldi: {
  2331.                 canInstall: function() {
  2332.                     return false
  2333.                 },
  2334.                 url: "https://chrome.google.com/webstore/detail/bkdgflcldnnnapblkhphbgpggdiikppg"
  2335.             },
  2336.             Safari: {
  2337.                 canInstall: function() {
  2338.                     return !this.device.isMobileDevice && this.device.isOSX && this.device.isOSXCatalinaAndUp && !this.device.isIPadOS && this.device.isSafari && this.device.safariVersion >= 13 && document.location.pathname.indexOf("/app") === 0
  2339.                 },
  2340.                 url: "https://apps.apple.com/app/duckduckgo-privacy-essentials/id1482920575",
  2341.                 watchCSSForSuccess: true
  2342.             }
  2343.         };
  2344.     c.Models.Extension = function(e) {
  2345.         a.call(this, e);
  2346.         this.device = (e && e.device) || c.device;
  2347.         $.extend(this, b[this.device.browserName] || {})
  2348.     };
  2349.     c.Models.Extension.prototype = $.extend({}, a.prototype, {
  2350.         canInstall: function() {
  2351.             return false
  2352.         },
  2353.         isInstalled: function(f) {
  2354.             if (typeof this._isInstalled !== "undefined" && !(f && f.nocache)) {
  2355.                 return this._isInstalled
  2356.             }
  2357.             var e = $('<div class="ddg-extension-check ddg-extension-hide"></div>');
  2358.             $("body").append(e);
  2359.             this._isInstalled = e.is(":hidden") && !c.device.isDDGApp;
  2360.             e.remove();
  2361.             return this._isInstalled
  2362.         }
  2363.     })
  2364. }(DDG);
  2365. ! function(c) {
  2366.     var b = c.Models.Base,
  2367.         a = "kos";
  2368.     c.Models.Onboarding = function(f) {
  2369.         b.call(this, f);
  2370.         var e = this.getLastRecordedStep();
  2371.         this.set("step", e >= 2 && !c.extension.isInstalled({
  2372.             nocache: true
  2373.         }) ? 1 : e)
  2374.     };
  2375.     c.Models.Onboarding.prototype = $.extend({}, b.prototype, {
  2376.         setStep: function(e) {
  2377.             switch (e) {
  2378.                 case 0:
  2379.                     if (!this.hasBeenExposed()) {
  2380.                         c.settings.set(a, "0")
  2381.                     }
  2382.                     this.set("step", e);
  2383.                     break;
  2384.                 case 1:
  2385.                     if (this.getLastRecordedStep() < 1) {
  2386.                         c.settings.set(a, "1")
  2387.                     }
  2388.                     this.set("step", e);
  2389.                     break;
  2390.                 case 2:
  2391.                     if (this.getLastRecordedStep() !== 2) {
  2392.                         c.settings.set(a, "2")
  2393.                     }
  2394.                     this.set("step", e);
  2395.                     break;
  2396.                 case 3:
  2397.                     if (this.getLastRecordedStep() < 3) {
  2398.                         c.settings.set(a, "3")
  2399.                     }
  2400.                     this.set("step", e);
  2401.                     break
  2402.             }
  2403.         },
  2404.         getStep: function() {
  2405.             return this.step
  2406.         },
  2407.         getLastRecordedStep: function() {
  2408.             var e = parseInt(c.settings.get(a), 10);
  2409.             return e > 0 ? e : 0
  2410.         },
  2411.         hasBeenExposed: function() {
  2412.             return !c.settings.isDefault(a)
  2413.         },
  2414.         hasStarted: function() {
  2415.             return this.step > 0
  2416.         },
  2417.         hasCompleted: function() {
  2418.             return this.step === 3 && c.extension.isInstalled({
  2419.                 nocache: true
  2420.             })
  2421.         },
  2422.         isResumable: function() {
  2423.             return this.step > 0
  2424.         },
  2425.         hasCompletedStep1: function() {
  2426.             return c.extension.isInstalled({
  2427.                 nocache: true
  2428.             }) || this.step >= 2
  2429.         }
  2430.     })
  2431. }(DDG);
  2432. ! function(h) {
  2433.     var b = h.Models.Base,
  2434.         k = 3,
  2435.         e = "cppm-s-v2",
  2436.         j = "cppm-i-v2",
  2437.         g = "cppm-d-v2";
  2438.     h.Models.MobileOnboarding = function(m) {
  2439.         b.call(this, m);
  2440.         var p, s, q;
  2441.         this.hasStorage = true;
  2442.         this.wasExposedToV1 = false;
  2443.         try {
  2444.             if (window.localStorage) {
  2445.                 for (var o = 0; o < window.localStorage.length; o++) {
  2446.                     var n = window.localStorage.key(o);
  2447.                     if (n && /^cppm-.*-v[12]$/.test(n)) {
  2448.                         window.localStorage.removeItem(n)
  2449.                     }
  2450.                 }
  2451.                 if (this.useLocalStorage) {
  2452.                     p = window.localStorage.getItem(e);
  2453.                     s = window.localStorage.getItem(j);
  2454.                     q = window.localStorage.getItem(g)
  2455.                 }
  2456.             } else {
  2457.                 this.hasStorage = false
  2458.             }
  2459.         } catch (r) {
  2460.             this.hasStorage = false
  2461.         }
  2462.         this.set("statuses", i(p));
  2463.         this.set("impressions", a(s));
  2464.         this.set("isDirty", String(q) === "true");
  2465.         this.set("openStatuses", i())
  2466.     };
  2467.     h.Models.MobileOnboarding.prototype = $.extend({}, b.prototype, {
  2468.         completeStep: function(n) {
  2469.             this.set("statuses", this.statuses.map(function(q, p) {
  2470.                 if (p === n) {
  2471.                     return "completed"
  2472.                 }
  2473.                 return q
  2474.             }));
  2475.             if (this.useLocalStorage) {
  2476.                 var m = c(this.statuses);
  2477.                 try {
  2478.                     if (window.localStorage) {
  2479.                         window.localStorage.setItem(e, m)
  2480.                     }
  2481.                 } catch (o) {}
  2482.             }
  2483.         },
  2484.         trackRenderedStep: function(n) {
  2485.             this.set("impressions", this.impressions.map(function(q, p) {
  2486.                 if (p === n) {
  2487.                     return true
  2488.                 }
  2489.                 return q
  2490.             }));
  2491.             if (this.useLocalStorage) {
  2492.                 var m = f(this.impressions);
  2493.                 try {
  2494.                     if (window.localStorage) {
  2495.                         window.localStorage.setItem(j, m)
  2496.                     }
  2497.                 } catch (o) {}
  2498.             }
  2499.         },
  2500.         markDirty: function() {
  2501.             if (!this.isResumable()) {
  2502.                 this.set("isDirty", true);
  2503.                 if (this.useLocalStorage) {
  2504.                     try {
  2505.                         if (window.localStorage) {
  2506.                             window.localStorage.setItem(g, "true")
  2507.                         }
  2508.                     } catch (m) {}
  2509.                 }
  2510.             }
  2511.         },
  2512.         setOpenStatuses: function() {
  2513.             this.set("openStatuses", this.getStatuses())
  2514.         },
  2515.         isResumable: function() {
  2516.             return this.isDirty || this.statuses.some(function(m) {
  2517.                 return m === "completed"
  2518.             })
  2519.         },
  2520.         hasBeenExposed: function() {
  2521.             return this.getImpressions().some(function(m) {
  2522.                 return m
  2523.             })
  2524.         },
  2525.         hasCompletedAllSteps: function() {
  2526.             return this.statuses.every(function(m) {
  2527.                 return m === "completed"
  2528.             })
  2529.         },
  2530.         hasDdgAsDefault: function() {
  2531.             return this.statuses[0] === "completed"
  2532.         },
  2533.         hasDdgApp: function() {
  2534.             return this.statuses[1] === "completed"
  2535.         },
  2536.         hasDdgExtension: function() {
  2537.             return this.statuses[2] === "completed"
  2538.         },
  2539.         getStatuses: function() {
  2540.             return this.statuses.slice()
  2541.         },
  2542.         getOpenStatuses: function() {
  2543.             return this.openStatuses.slice()
  2544.         },
  2545.         getImpressions: function() {
  2546.             return this.impressions.slice()
  2547.         },
  2548.         getPixelStatuses: function(m) {
  2549.             m = m || this.getStatuses();
  2550.             return (c(m).replace("0", this.createPixelStep(0)).replace("1", this.createPixelStep(1)).replace("2", this.createPixelStep(2)).replace("3", this.createPixelStep(3)) + "n")
  2551.         },
  2552.         createPixelStep: function(m) {
  2553.             switch (m) {
  2554.                 case 0:
  2555.                     return "d";
  2556.                 case 1:
  2557.                     return "a";
  2558.                 case 2:
  2559.                     return "e";
  2560.                 case 3:
  2561.                     return "c";
  2562.                 default:
  2563.                     return ""
  2564.             }
  2565.         },
  2566.         getPixelOpenStatuses: function() {
  2567.             return this.getPixelStatuses(this.getOpenStatuses())
  2568.         },
  2569.         getPixelImpressionStatuses: function() {
  2570.             return (f(this.getImpressions()).replace("0", this.createPixelStep(0)).replace("1", this.createPixelStep(1)).replace("2", this.createPixelStep(2)).replace("3", this.createPixelStep(3)) + "n")
  2571.         },
  2572.         getStatus: function(m) {
  2573.             return this.statuses[m]
  2574.         },
  2575.         getResumeStep: function(m) {
  2576.             m = m || 0;
  2577.             var o = m;
  2578.             for (var n = m; n < this.statuses.length; n++) {
  2579.                 if (this.statuses[n] !== "completed") {
  2580.                     o = n;
  2581.                     break
  2582.                 }
  2583.             }
  2584.             return this.statuses[o] === "completed" ? this.statuses.length : o
  2585.         },
  2586.         getProgressValue: function() {
  2587.             return this.statuses.filter(function(m) {
  2588.                 return m === "completed"
  2589.             }).length
  2590.         }
  2591.     });
  2592.  
  2593.     function i(o) {
  2594.         var m, n = [];
  2595.         if (!o) {
  2596.             for (m = 0; m < k; m++) {
  2597.                 n.push("pending")
  2598.             }
  2599.         } else {
  2600.             var p = o.split("-");
  2601.             for (m = 0; m < k; m++) {
  2602.                 n.push(p.indexOf(m.toString()) === -1 ? "pending" : "completed")
  2603.             }
  2604.         }
  2605.         return n
  2606.     }
  2607.  
  2608.     function c(o) {
  2609.         var m = [];
  2610.         for (var n = 0; n < o.length; n++) {
  2611.             if (o[n] === "completed") {
  2612.                 m.push(n)
  2613.             }
  2614.         }
  2615.         return m.join("-")
  2616.     }
  2617.  
  2618.     function a(n) {
  2619.         var m, o = [];
  2620.         if (!n) {
  2621.             for (m = 0; m < (k + 1); m++) {
  2622.                 o.push(false)
  2623.             }
  2624.         } else {
  2625.             var p = n.split("-");
  2626.             for (m = 0; m < (k + 1); m++) {
  2627.                 o.push(p.indexOf(m.toString()) !== -1)
  2628.             }
  2629.         }
  2630.         return o
  2631.     }
  2632.  
  2633.     function f(o) {
  2634.         var m = [];
  2635.         for (var n = 0; n < o.length; n++) {
  2636.             if (o[n]) {
  2637.                 m.push(n)
  2638.             }
  2639.         }
  2640.         return m.join("-")
  2641.     }
  2642. }(DDG);
  2643. ! function(c) {
  2644.     var a = c.Models.Base,
  2645.         b = 700,
  2646.         e = 2500;
  2647.     c.Models.AdFeed = function(f) {
  2648.         this._pixel = f.pixel;
  2649.         a.call(this, f);
  2650.         this.ads = [];
  2651.         this.defaultAds = []
  2652.     };
  2653.     c.Models.AdFeed.prototype = $.extend({}, a.prototype, {
  2654.         setDefaultAds: function(f, h) {
  2655.             var g = DDG.searchExperiments.v7exp && DDG.searchExperiments.v7exp.activeGroup === "a";
  2656.             if (this.ads.length || !f || !f.length || g) {
  2657.                 return
  2658.             }
  2659.             this.set("defaultAds", f.map(function(j) {
  2660.                 var i = this._makeAffiliateAd(j, h);
  2661.                 return {
  2662.                     a: j.a.substring(0, 75) + (j.a.length > 75 ? "..." : ""),
  2663.                     d: j.d,
  2664.                     m: 0,
  2665.                     s: i.s,
  2666.                     p: 1,
  2667.                     c: i.c,
  2668.                     u: i.u,
  2669.                     h: 0,
  2670.                     k: 0,
  2671.                     i: j.i,
  2672.                     t: j.t.substring(0, 60) + (j.t.length > 60 ? "..." : ""),
  2673.                     "IE fix": 1
  2674.                 }
  2675.             }.bind(this)))
  2676.         },
  2677.         getAds: function() {
  2678.             var f = [];
  2679.             if (this.ads && this.ads.length) {
  2680.                 f = this.ads
  2681.             } else {
  2682.                 if (this.defaultAds && this.defaultAds.length) {
  2683.                     f = this.defaultAds
  2684.                 }
  2685.             }
  2686.             return f
  2687.         },
  2688.         setAds: function(g) {
  2689.             var f = this.getInstance("pixel");
  2690.             if (this.blockReallyLateAds) {
  2691.                 f.fire("sad", {
  2692.                     b: 1,
  2693.                     r: "late"
  2694.                 });
  2695.                 return
  2696.             } else {
  2697.                 if (!this.loading) {
  2698.                     if (g && g.length) {
  2699.                         g.forEach(function(h) {
  2700.                             h.late = true;
  2701.                             delete h.l
  2702.                         })
  2703.                     }
  2704.                     f.fire("sad", {
  2705.                         b: 0,
  2706.                         r: "late"
  2707.                     });
  2708.                     this.set("lateAds", g || []);
  2709.                     return
  2710.                 }
  2711.             }
  2712.             clearTimeout(this._fallbackToDefaultTimeout);
  2713.             delete this._fallbackToDefaultTimeout;
  2714.             this.set("loading", false);
  2715.             this.set("ads", g || [])
  2716.         },
  2717.         isUsingDefaultAds: function() {
  2718.             return !this.ads.length && this.defaultAds.length
  2719.         },
  2720.         load: function(g) {
  2721.             if (this.loading) {
  2722.                 return
  2723.             }
  2724.             var f = nrj(g);
  2725.             f.addEventListener("error", function() {
  2726.                 this.setAds([])
  2727.             }.bind(this));
  2728.             this.set("yjsFeedActive", true);
  2729.             this.set("loading", true)
  2730.         },
  2731.         organicsLoaded: function() {
  2732.             this._fallbackToDefaultTimeout = setTimeout(function() {
  2733.                 this.set("loading");
  2734.                 this.set("ads", [])
  2735.             }.bind(this), b);
  2736.             this._blockAdsCompletelyTimeout = setTimeout(function() {
  2737.                 this.set("blockReallyLateAds", true)
  2738.             }.bind(this), e)
  2739.         },
  2740.         _makeAffiliateAd: function(g, h) {
  2741.             var f = h ? "&adx_name=" + h : "";
  2742.             return {
  2743.                 c: "/y.js?u2=" + encodeURIComponent(g.c) + f + (window.ra ? "&a=" + window.ra : "") + ("&vqd=" + window.vqd),
  2744.                 u: "/y.js?u2=" + encodeURIComponent(g.u) + f + (window.ra ? "&a=" + window.ra : "") + ("&vqd=" + window.vqd),
  2745.                 s: g.k
  2746.             }
  2747.         }
  2748.     })
  2749. }(DDG);
  2750. ! function(c) {
  2751.     var a = c.Models.Base,
  2752.         b = {
  2753.             ctl: {
  2754.                 rightRailSecond: true
  2755.             },
  2756.             def: {
  2757.                 rightRailSecond: true
  2758.             },
  2759.             nav: {
  2760.                 rightRailSecond: true
  2761.             },
  2762.             tasb: {
  2763.                 siteLinksBothAds: true
  2764.             },
  2765.             tas1: {
  2766.                 siteLinksFirstAdOnly: true
  2767.             },
  2768.             tas2: {
  2769.                 siteLinksSecondAdOnly: true
  2770.             },
  2771.             oag: {
  2772.                 rightRailSecond: true,
  2773.                 siteLinksFirstAdOnly: true
  2774.             },
  2775.             rel2: {
  2776.                 rightRailBoth: true
  2777.             },
  2778.             none: {
  2779.                 rightRailSecond: false,
  2780.                 rightRailBoth: false,
  2781.                 smallFirst: false,
  2782.                 smallSecond: false,
  2783.                 siteLinksFirstAdOnly: false,
  2784.                 siteLinksSecondAdOnly: false,
  2785.                 siteLinksBothAds: false
  2786.             }
  2787.         };
  2788.     c.Models.Ads = function(e) {
  2789.         this._deep = e.deep;
  2790.         this._device = e.device;
  2791.         this._settings = e.settings;
  2792.         a.call(this, e);
  2793.         this.ads = [];
  2794.         this.setBucket("def");
  2795.         this.on("change:ads", this._updateLayout.bind(this))
  2796.     };
  2797.     c.Models.Ads.prototype = $.extend({}, a.prototype, {
  2798.         block: function() {
  2799.             this.set("blocked", 1)
  2800.         },
  2801.         isBlocked: function() {
  2802.             return !!(this.blocked || !this.getInstance("settings").isDefault("k1"))
  2803.         },
  2804.         setAds: function(e) {
  2805.             if (this.isBlocked() || !e || !e.length) {
  2806.                 return
  2807.             }
  2808.             this.set("ads", e)
  2809.         },
  2810.         getAds: function() {
  2811.             return this.ads
  2812.         },
  2813.         getNorthAds: function(f) {
  2814.             return f;
  2815.             var e = 2;
  2816.             if (this.rightRailSecond) {
  2817.                 e = 1
  2818.             } else {
  2819.                 if (this.rightRailBoth) {
  2820.                     e = 0
  2821.                 }
  2822.             }
  2823.             e = Math.min(f.length, e);
  2824.             if (!this.canShowRightRailAds()) {
  2825.                 return f.slice(0, e)
  2826.             }
  2827.             return f.slice(0, e + 1)
  2828.         },
  2829.         getSouthAds: function(h) {
  2830.             return [];
  2831.             var e, g = (h.length > 1) ? this.numTopAds : 0,
  2832.                 f = h.length;
  2833.             if (g - f === 0) {
  2834.                 g = 0;
  2835.                 f = 1
  2836.             }
  2837.             if (f - g > 1) {
  2838.                 g = f - 1
  2839.             }
  2840.             e = h.slice(g, f);
  2841.             e.forEach(function(i) {
  2842.                 delete i.l
  2843.             });
  2844.             return e
  2845.         },
  2846.         hasAds: function() {
  2847.             var e = this.getAds();
  2848.             return !!e.length
  2849.         },
  2850.         getNumberOfTopAds: function() {
  2851.             return this.numTopAds
  2852.         },
  2853.         hasGoodAds: function() {
  2854.             return true;
  2855.             return (this.adx === "tas" || this.adx === "tasb" || this.adx === "tas1" || this.adx === "tas2" || this.adx === "oag")
  2856.         },
  2857.         canShowGoodAdsLayout: function() {
  2858.             return (!this.getInstance("device").isMobile && this.hasGoodAds() && (this.getInstance("deep").pageNumber === 1))
  2859.         },
  2860.         canShowEnhancedSiteLinks: function(e) {
  2861.             if (!this.canShowGoodAdsLayout()) {
  2862.                 return false
  2863.             }
  2864.             return (this.siteLinksSecondAdOnly && e > 0) || (this.siteLinksFirstAdOnly && e === 0) || this.siteLinksBothAds
  2865.         },
  2866.         setBucket: function(f, e) {
  2867.             f = "tas1";
  2868.             if (this._firstBatchShown) {
  2869.                 return
  2870.             }
  2871.             if (this.getInstance("device").isMobile) {
  2872.                 f = "none"
  2873.             }
  2874.             if (b[f]) {
  2875.                 this.adx = f
  2876.             }
  2877.             var g = c.backData.getData();
  2878.             this.adxExperiment = g.adx_name || e || "none"
  2879.         },
  2880.         _updateLayout: function() {
  2881.             var e = this.ads.length;
  2882.             $.extend(this, b.none);
  2883.             if (this.adx !== "none") {
  2884.                 $.extend(this, b[this.adx])
  2885.             }
  2886.             if (e < 2) {
  2887.                 this.rightRailSecond = false
  2888.             }
  2889.             if (this.rightRailSecond) {
  2890.                 this.smallSecond = true
  2891.             } else {
  2892.                 if (this.rightRailBoth) {
  2893.                     this.smallFirst = true;
  2894.                     this.smallSecond = true
  2895.                 }
  2896.             }
  2897.             if (!this.canShowRightRailAds()) {
  2898.                 this.rightRailBoth = false;
  2899.                 this.rightRailSecond = false
  2900.             }
  2901.         },
  2902.         setFirstBatchShown: function() {
  2903.             if (this._firstBatchShown) {
  2904.                 return
  2905.             }
  2906.             this._firstBatchShown = true;
  2907.             var e = 2;
  2908.             if (this.rightRailSecond) {
  2909.                 e = 1
  2910.             } else {
  2911.                 if (this.rightRailBoth) {
  2912.                     e = 0
  2913.                 }
  2914.             }
  2915.             if (DDG.pageLayout.isSlottingExperiment()) {
  2916.                 e = 10
  2917.             }
  2918.             this.numTopAds = Math.min(this.getAds().length, e);
  2919.             this.smallFirst = false;
  2920.             this.smallSecond = false;
  2921.             this.rightRailSecond = false;
  2922.             this.rightRailBoth = false
  2923.         },
  2924.         canShowRightRailAds: function() {
  2925.             var f = this.getInstance("device"),
  2926.                 e = this.getInstance("settings");
  2927.             return !f.isMobileDevice && e.isDefault("kw") && e.isDefault("km")
  2928.         },
  2929.         hasRightRailAds: function() {
  2930.             if (!this.canShowRightRailAds()) {
  2931.                 return false
  2932.             }
  2933.             var e = this.getAds().length;
  2934.             if (e && (e > 2 || this.rightRailBoth || this.rightRailSecond || this.rightRailFirst)) {
  2935.                 return true
  2936.             }
  2937.             return false
  2938.         },
  2939.         canShowAdExtensions: function(f, e) {
  2940.             return !this.getInstance("device").isMobile && f === 0 && this.adx !== "rel2" && e === 1
  2941.         }
  2942.     })
  2943. }(DDG);
  2944. ! function(b) {
  2945.     var a = b.Models.Base;
  2946.     b.Models.AdSitelinks = function(c) {
  2947.         a.call(this, c);
  2948.         this.hasSitelinkDescriptions = c.sitelinksMarkup && c.sitelinksMarkup.indexOf("sponsored__sitelink-description") > -1;
  2949.         if (c.isShowingLargeSitelinks) {
  2950.             this.hasSitelinkDescriptions = false;
  2951.             this.showEnhancedSiteLinks = false
  2952.         }
  2953.         if (/ebay\.co\.uk|amazon\.co\.uk/i.test(this.domain)) {
  2954.             this.hasSitelinkDescriptions = false;
  2955.             this.showEnhancedSiteLinks = false
  2956.         }
  2957.     };
  2958.     b.Models.AdSitelinks.prototype = $.extend({}, a.prototype, {
  2959.         canShowLargeSitelinks: function() {
  2960.             if (this.isShowingLargeSitelinks || !this.hasSitelinkDescriptions || !this.isFirstPageOfAds) {
  2961.                 return false
  2962.             }
  2963.             return this.canShowGoodAdsLayout || this.layoutName === "def"
  2964.         },
  2965.         getSitelinkHtml: function() {
  2966.             return this._getSitelinkHtml(this.sitelinksMarkup, this.showEnhancedSiteLinks, this.canShowGoodAdsLayout)
  2967.         },
  2968.         _getSitelinkHtml: function(g, j, e) {
  2969.             if (!g) {
  2970.                 return ""
  2971.             }
  2972.             var c = this._splitSitelinks(g, j || this.canShowLargeSitelinks());
  2973.             var h = (j && g.indexOf("sponsored__sitelink-description") > -1);
  2974.             var i;
  2975.             var f = "result__sitelinks";
  2976.             if (this.canShowLargeSitelinks()) {
  2977.                 c = c.slice(0, 4);
  2978.                 f += " result__sitelinks--large";
  2979.                 i = this._getLargeAdSitelinks(c)
  2980.             } else {
  2981.                 if (e && h) {
  2982.                     c = c.slice(0, 3);
  2983.                     i = this._getGoodAdSitelinks(c)
  2984.                 } else {
  2985.                     if (e && !h) {
  2986.                         f += " result__sitelinks--nodesc";
  2987.                         c = c.slice(0, 6);
  2988.                         i = c.join('<span class="js-sitelink-comma sponsored__sitelink__comma">,</span>')
  2989.                     } else {
  2990.                         c = c.slice(0, 3);
  2991.                         i = c.join('<span class="js-sitelink-comma sponsored__sitelink__comma">,</span>')
  2992.                     }
  2993.                 }
  2994.             }
  2995.             this.tid = this._matchTids(this.tid, c.length);
  2996.             if (this.canShowLargeSitelinks()) {
  2997.                 return '<div class="result__snippet"><span class="' + f + '">' + i + "</span></div>"
  2998.             }
  2999.             return '<span class="' + f + '">' + i + "</span>"
  3000.         },
  3001.         _splitSitelinks: function(i, c) {
  3002.             var e = [],
  3003.                 j = "</a>",
  3004.                 f = "</div>",
  3005.                 g, h;
  3006.             while (i.length) {
  3007.                 if (i.indexOf("<a") !== 0) {
  3008.                     break
  3009.                 }
  3010.                 h = i.indexOf(j);
  3011.                 if (h === -1) {
  3012.                     break
  3013.                 }
  3014.                 h += j.length;
  3015.                 g = i.slice(0, h);
  3016.                 i = i.slice(h);
  3017.                 if (i.indexOf("<div") === 0) {
  3018.                     h = i.indexOf(f);
  3019.                     if (h === -1) {
  3020.                         break
  3021.                     }
  3022.                     h += f.length;
  3023.                     if (c) {
  3024.                         g += i.slice(0, h)
  3025.                     }
  3026.                     i = i.slice(h)
  3027.                 }
  3028.                 e.push(g)
  3029.             }
  3030.             return e
  3031.         },
  3032.         _getLargeAdSitelinks: function(e) {
  3033.             var c = '<div class="sponsored__sitelink-row">';
  3034.             e.forEach(function(g, f) {
  3035.                 if (f % 2 === 0 && f > 0) {
  3036.                     c += '</div><div class="sponsored__sitelink-row">'
  3037.                 }
  3038.                 c += '<div class="sponsored__sitelink-col">' + g + "</div>"
  3039.             });
  3040.             return c + "</div>"
  3041.         },
  3042.         _getGoodAdSitelinks: function(e) {
  3043.             var c = "";
  3044.             e.forEach(function(f) {
  3045.                 f = f.replace(/(<div[^>]+>)/, "$1 - ");
  3046.                 c += '<div class="sponsored__sitelink-wrap">' + f + "</div>"
  3047.             });
  3048.             return c
  3049.         },
  3050.         _matchTids: function(h, e) {
  3051.             if (!e || !h) {
  3052.                 return h
  3053.             }
  3054.             var c = h.split("\t"),
  3055.                 g = {
  3056.                     ad: c.splice(0, 1),
  3057.                     sitelinks: c
  3058.                 };
  3059.             g.sitelinks = g.sitelinks.slice(0, e);
  3060.             var f = g.ad.concat(g.sitelinks).join("\t");
  3061.             return f
  3062.         }
  3063.     })
  3064. }(DDG);
  3065. ! function(e) {
  3066.     var i = e.Data.Settings.regions,
  3067.         h = "kl",
  3068.         f = "kah",
  3069.         c = "wt-wt",
  3070.         j = 3,
  3071.         a = e.Models.Base,
  3072.         n;
  3073.     n = e.Models.Settings.Region = function(o) {
  3074.         this.settings = o.settings;
  3075.         this.prevRegions = [];
  3076.         o.id = o.id || this.settings.get(h);
  3077.         o.prevId = o.prevId || this.settings.get(f);
  3078.         a.call(this, o);
  3079.         this.settings.on("change:" + h, this.setId.bind(this));
  3080.         this.settings.on("change:" + f, this.setPrevId.bind(this))
  3081.     };
  3082.     n.prototype = $.extend({}, a.prototype, {
  3083.         getId: function() {
  3084.             return (window.rlo && window.rl) || this.id || this.getDefaultId()
  3085.         },
  3086.         getPrevId: function() {
  3087.             return (this.id === this.prevId || this.prevId === this.getDefaultId()) ? null : this.prevId
  3088.         },
  3089.         getPrevRegions: function() {
  3090.             return this.prevRegions
  3091.         },
  3092.         getDefaultId: function() {
  3093.             return c
  3094.         },
  3095.         hasRegion: function() {
  3096.             return this.getId() && this.getId() !== this.getDefaultId()
  3097.         },
  3098.         hasPrevRegion: function() {
  3099.             return this.getPrevId() && this.getPrevId() !== this.getDefaultId()
  3100.         },
  3101.         hasRegionOrSuggested: function() {
  3102.             return this.hasRegion() || this.hasPrevRegion() || this.suggestedRegion
  3103.         },
  3104.         hasUSRegion: function() {
  3105.             return this.getId() && this.getId() !== this.getDefaultId() && this.getId().split("-")[0] === "us"
  3106.         },
  3107.         isValidRegion: function(o) {
  3108.             return !!i[o]
  3109.         },
  3110.         setId: function(s, q, p) {
  3111.             if (s === this.id || !this.isValidRegion(s)) {
  3112.                 return p && p()
  3113.             }
  3114.             var o = this,
  3115.                 r;
  3116.             this.id = s;
  3117.             if (s !== c) {
  3118.                 r = this.prevRegions.indexOf(s);
  3119.                 if (r !== -1) {
  3120.                     this.prevRegions.splice(r, 1)
  3121.                 }
  3122.                 this.prevRegions.unshift(s);
  3123.                 this._trimPrevRegions()
  3124.             }
  3125.             if (q && q.saveToSettings) {
  3126.                 if (!q.dontSavePrev) {
  3127.                     this.settings.set(f, this.prevRegions.join(","))
  3128.                 }
  3129.                 this.settings.set(h, s, {
  3130.                     saveToCloud: true,
  3131.                     updateURLParams: true,
  3132.                     fallbackToURLParam: q.fallbackToURLParam
  3133.                 }, function() {
  3134.                     o.emit("change:id", o.id);
  3135.                     p && p()
  3136.                 })
  3137.             } else {
  3138.                 this.emit("change:id", this.id);
  3139.                 p && p()
  3140.             }
  3141.         },
  3142.         setPrevId: function(o) {
  3143.             if (o) {
  3144.                 this.prevRegions = o.split(",")
  3145.             } else {
  3146.                 this.prevRegions = []
  3147.             }
  3148.             this._trimPrevRegions();
  3149.             this.prevId = this.prevRegions[0]
  3150.         },
  3151.         setDefault: function() {
  3152.             this.setId(this.getDefaultId(), {
  3153.                 saveToSettings: true
  3154.             })
  3155.         },
  3156.         reset: function(o) {
  3157.             this.prevId = null;
  3158.             this.settings.clear(f);
  3159.             this.setId(this.getDefaultId(), {
  3160.                 saveToSettings: true,
  3161.                 dontSavePrev: true
  3162.             }, o)
  3163.         },
  3164.         disableSuggested: function(o) {
  3165.             this.setPrevId(this.getDefaultId());
  3166.             this.set({
  3167.                 suggestedRegion: null
  3168.             });
  3169.             this.settings.set(f, this.prevId, {
  3170.                 saveToCloud: true
  3171.             }, o)
  3172.         },
  3173.         disabledSuggested: function() {
  3174.             return this.prevId && this.prevId === this.getDefaultId()
  3175.         },
  3176.         getName: function(o) {
  3177.             o = o || this.getId();
  3178.             return l(i[o] || i[this.getDefaultId()])
  3179.         },
  3180.         getSmallIconURL: function(o) {
  3181.             return k(o || this.getId())
  3182.         },
  3183.         getXSmallIconURL: function(o) {
  3184.             return b(o || this.getId())
  3185.         },
  3186.         getLargeIconURL: function(o) {
  3187.             return g(o || this.getId())
  3188.         },
  3189.         getAll: function() {
  3190.             var u = [],
  3191.                 s, p = this.getId(),
  3192.                 o = function(y, v, x) {
  3193.                     return {
  3194.                         id: y,
  3195.                         name: l(v),
  3196.                         countryCode: m(y),
  3197.                         selected: x
  3198.                     }
  3199.                 };
  3200.             var r = this.getPrevRegions();
  3201.             if (this.suggestedRegion && r.indexOf(this.suggestedRegion) === -1) {
  3202.                 r.push(this.suggestedRegion)
  3203.             }
  3204.             for (var t in i) {
  3205.                 if (t !== c && r.indexOf(t) === -1) {
  3206.                     u.push(o(t, i[t], p === t))
  3207.                 }
  3208.             }
  3209.             u.unshift(o(c, i[c], p === c));
  3210.             if (r.length && !(r.length === 1 && r[0] === c)) {
  3211.                 u[0].showDivider = true
  3212.             }
  3213.             for (var q = r.length - 1; q >= 0; q--) {
  3214.                 s = o(r[q], i[r[q]], p === r[q]);
  3215.                 if (r[q] !== c && s.name) {
  3216.                     u.unshift(s)
  3217.                 }
  3218.             }
  3219.             return u
  3220.         },
  3221.         fetchSuggested: function(o) {
  3222.             e.device.getCountry(this._onFetchedSuggested.bind(this, o))
  3223.         },
  3224.         _onFetchedSuggested: function(y, r, q) {
  3225.             if (!q) {
  3226.                 return y && y()
  3227.             }
  3228.             var u = q.toLowerCase(),
  3229.                 t = [],
  3230.                 x = function(A) {
  3231.                     this.set({
  3232.                         suggestedRegion: A
  3233.                     });
  3234.                     y && y(null, A)
  3235.                 }.bind(this);
  3236.             if (u === "us") {
  3237.                 return y && y()
  3238.             }
  3239.             if (u === "gb") {
  3240.                 u = "uk"
  3241.             }
  3242.             for (var z in i) {
  3243.                 var o = z.split("-")[0];
  3244.                 if (o === u) {
  3245.                     t.push(z)
  3246.                 }
  3247.             }
  3248.             if (!t.length) {
  3249.                 return y && y()
  3250.             }
  3251.             if (t.length === 1 || !window.locale) {
  3252.                 return x(t[0])
  3253.             }
  3254.             var p = window.locale.split("_")[0];
  3255.             for (var s = 0; s < t.length; s++) {
  3256.                 var v = t[s].split("-")[1];
  3257.                 if (p === v) {
  3258.                     return x(t[s])
  3259.                 }
  3260.             }
  3261.             return x(t[0])
  3262.         },
  3263.         _trimPrevRegions: function() {
  3264.             var o = j;
  3265.             if (this.suggestedRegion) {
  3266.                 o -= 1
  3267.             }
  3268.             if (this.prevRegions.length > o) {
  3269.                 this.prevRegions = this.prevRegions.slice(0, o)
  3270.             }
  3271.         }
  3272.     });
  3273.     var m = function(o) {
  3274.             return o.split("-")[0]
  3275.         },
  3276.         k = function(o) {
  3277.             return "/assets/flags/" + (DDG.is3x ? "60" : DDG.is2x ? "40" : "20") + "/" + m(o) + ".png?v=4"
  3278.         },
  3279.         b = function(o) {
  3280.             return "/assets/flags/" + (DDG.is3x ? "48" : DDG.is2x ? "32" : "16") + "/" + m(o) + ".png?v=3"
  3281.         },
  3282.         g = function(o) {
  3283.             return "/assets/flags/" + (DDG.is3x ? "96" : DDG.is2x ? "64" : "32") + "/" + m(o) + ".png?v=4"
  3284.         }
  3285. }(DDG);
  3286. ! function(b) {
  3287.     var a = "kae",
  3288.         c = b.Data.Settings[a];
  3289.     b.Models.Settings.Themes = {
  3290.         KEY: a,
  3291.         getSystemTheme: function() {
  3292.             if (!b.device.getColorScheme) {
  3293.                 return
  3294.             }
  3295.             var e = b.device.getColorScheme();
  3296.             if (e) {
  3297.                 return this._getThemeForColorScheme(e)
  3298.             }
  3299.         },
  3300.         getAll: function() {
  3301.             return DDG.objectToArray(c.values)
  3302.         },
  3303.         getSettingsForTheme: function(i) {
  3304.             var h = c.values[i],
  3305.                 e = c.values[c["default"]].settings;
  3306.             if (h) {
  3307.                 return $.extend({}, e, h.settings)
  3308.             }
  3309.             var f = tinycolor(i);
  3310.             if (f.isValid()) {
  3311.                 var g = f.toHexString();
  3312.                 return $.extend({}, e, {
  3313.                     kj: g,
  3314.                     k7: g
  3315.                 })
  3316.             }
  3317.             return $.extend({}, e)
  3318.         },
  3319.         enableColorSchemeDetection: function(e) {
  3320.             if (!this.colorSchemeMatching) {
  3321.                 this.matcher = e;
  3322.                 this.prefersDarkMode = window.matchMedia("(prefers-color-scheme: dark)");
  3323.                 this.prefersLightMode = window.matchMedia("(prefers-color-scheme: light)");
  3324.                 this.prefersDarkMode.addListener(e);
  3325.                 this.prefersLightMode.addListener(e);
  3326.                 this.colorSchemeMatching = true
  3327.             }
  3328.         },
  3329.         disableColorSchemeDetection: function() {
  3330.             if (this.colorSchemeMatching) {
  3331.                 this.prefersDarkMode.removeListener(this.matcher);
  3332.                 this.prefersLightMode.removeListener(this.matcher);
  3333.                 this.colorSchemeMatching = false
  3334.             }
  3335.         },
  3336.         _getThemeForColorScheme: function(f) {
  3337.             if (!f) {
  3338.                 return
  3339.             }
  3340.             var e = this.getAll(),
  3341.                 g = e.find(function(h) {
  3342.                     return h.colorScheme && h.colorScheme === f
  3343.                 });
  3344.             if (g) {
  3345.                 return g
  3346.             }
  3347.         }
  3348.     }
  3349. }(DDG);
  3350. ! function(h) {
  3351.     var b = "/settings.js",
  3352.         g = "application/json",
  3353.         j = "Error ",
  3354.         f = " CloudSave Settings",
  3355.         e = j + "Loading" + f,
  3356.         c = j + "Saving" + f,
  3357.         i = j + "Deleting" + f,
  3358.         a = {
  3359.             url: b,
  3360.             type: "POST",
  3361.             dataType: "json",
  3362.             contentType: g,
  3363.             processData: false
  3364.         };
  3365.     h.Models.Settings.CloudSave = {
  3366.         keyField: "objectKey",
  3367.         isKeyField: function(k) {
  3368.             return k === this.keyField || k === "key"
  3369.         },
  3370.         load: function(k, m) {
  3371.             if (!k) {
  3372.                 return m(e)
  3373.             }
  3374.             $.ajax({
  3375.                 url: b + "?key=" + k,
  3376.                 dataType: "json",
  3377.                 success: function(n) {
  3378.                     m(null, n)
  3379.                 },
  3380.                 error: function() {
  3381.                     m(e)
  3382.                 }
  3383.             })
  3384.         },
  3385.         save: function(k, n, m) {
  3386.             if (!k || !n) {
  3387.                 return m && m(c)
  3388.             }
  3389.             $.ajax($.extend({
  3390.                 data: JSON.stringify({
  3391.                     command: "write",
  3392.                     objectKey: k,
  3393.                     obj: n
  3394.                 }),
  3395.                 success: function() {
  3396.                     m && m(null, n)
  3397.                 },
  3398.                 error: function() {
  3399.                     m && m(c)
  3400.                 }
  3401.             }, a))
  3402.         },
  3403.         destroy: function(k, m) {
  3404.             if (!k) {
  3405.                 return m(i)
  3406.             }
  3407.             $.ajax($.extend({
  3408.                 type: "POST",
  3409.                 data: JSON.stringify({
  3410.                     command: "delete",
  3411.                     objectKey: k
  3412.                 }),
  3413.                 success: function() {
  3414.                     m && m(null, true)
  3415.                 },
  3416.                 error: function(n) {
  3417.                     m && m(i)
  3418.                 }
  3419.             }, a))
  3420.         },
  3421.         phraseToKey: function(k) {
  3422.             var m = new jsSHA(k, "ASCII"),
  3423.                 n = m.getHash("SHA-512", "HEX");
  3424.             return n
  3425.         },
  3426.         validatePassPhrase: function(k, n) {
  3427.             if (!k) {
  3428.                 return n(lp("cloudsave", "Please enter a pass phrase"))
  3429.             }
  3430.             if (k.length < 9) {
  3431.                 return n(lp("cloudsave", "Pass phrase must be at least 9 characters long"))
  3432.             }
  3433.             var m = this.phraseToKey(k);
  3434.             $.ajax({
  3435.                 url: b + "?key=" + m,
  3436.                 dataType: "json",
  3437.                 success: function() {
  3438.                     n(lp("cloudsave", "Pass phrase is already taken."))
  3439.                 },
  3440.                 error: function() {
  3441.                     n(null, true)
  3442.                 }
  3443.             })
  3444.         },
  3445.         suggestPassPhrase: function(m) {
  3446.             var n = 20,
  3447.                 k = 4;
  3448.             $.ajax($.extend({
  3449.                 type: "POST",
  3450.                 data: JSON.stringify({
  3451.                     command: "passphrase",
  3452.                     n: n
  3453.                 }),
  3454.                 success: function(o) {
  3455.                     var q = o.passphrase.split(" "),
  3456.                         r = "";
  3457.                     q.sort(function() {
  3458.                         return 0.5 - Math.random()
  3459.                     });
  3460.                     for (var p = 0; p < k; p++) {
  3461.                         r += q[p] + " "
  3462.                     }
  3463.                     m(null, r.trim())
  3464.                 },
  3465.                 error: function() {
  3466.                     m(true)
  3467.                 }
  3468.             }, a))
  3469.         }
  3470.     }
  3471. }(DDG);
  3472. ! function(g) {
  3473.     var b = g.Models.Base,
  3474.         f = g.Models.Settings,
  3475.         e = "kp",
  3476.         a = {
  3477.             "1": {
  3478.                 name: lp("safe search", "Strict"),
  3479.                 description: lp("safe search", "No adult content")
  3480.             },
  3481.             "-1": {
  3482.                 name: lp("safe search", "Moderate"),
  3483.                 description: lp("safe search", "No explicit images or videos")
  3484.             },
  3485.             "-2": {
  3486.                 name: lp("setting", "Off"),
  3487.                 description: lp("safe search", "Don't filter adult content")
  3488.             }
  3489.         },
  3490.         c = "-1";
  3491.     f.SafeSearch = function(h) {
  3492.         b.call(this, h);
  3493.         this.settings.on("change:" + e, this._onSettingChange.bind(this))
  3494.     };
  3495.     f.SafeSearch.prototype = $.extend({}, b.prototype, {
  3496.         getId: function() {
  3497.             return this.id || c
  3498.         },
  3499.         getAll: function() {
  3500.             var h = [],
  3501.                 j;
  3502.             for (var i in a) {
  3503.                 j = {
  3504.                     id: i,
  3505.                     name: a[i].name,
  3506.                     description: a[i].description
  3507.                 };
  3508.                 j.selected = j.id === this.getId();
  3509.                 h.push(j)
  3510.             }
  3511.             return h
  3512.         },
  3513.         isActive: function() {
  3514.             return this.getId() !== c
  3515.         },
  3516.         getName: function() {
  3517.             return a[this.getId()].name
  3518.         },
  3519.         isStrict: function() {
  3520.             return this.getId() === "1"
  3521.         },
  3522.         isModerate: function() {
  3523.             return this.getId() === "-1"
  3524.         },
  3525.         isOff: function() {
  3526.             return this.getId() === "-2"
  3527.         },
  3528.         setId: function(j, i) {
  3529.             var h = {
  3530.                 saveToCloud: true,
  3531.                 updateURLParams: true,
  3532.                 fallbackToURLParam: true
  3533.             };
  3534.             this.settings.set(e, j, h, i)
  3535.         },
  3536.         setTemporaryId: function(i, h) {
  3537.             g.hidden.set(e, i);
  3538.             h && h()
  3539.         },
  3540.         _onSettingChange: function() {
  3541.             var h = this.settings.get(e);
  3542.             this.set("id", h)
  3543.         }
  3544.     })
  3545. }(DDG);
  3546. ! function(p, i) {
  3547.     var u = "January 12, 2025",
  3548.         q = "abcdefghijklmnopqrstuvwxyz",
  3549.         j = i.location.protocol + "//" + i.location.host + "/",
  3550.         v = /<|>|\//g,
  3551.         s = p.Data.Settings,
  3552.         n = "kay",
  3553.         g = "mapkit.SpileTestResults",
  3554.         e = p.Models.Settings.CloudSave,
  3555.         k = p.Models.Settings.Themes,
  3556.         f = p.Models.Base,
  3557.         r;
  3558.     r = p.Models.Settings.Settings = function(x) {
  3559.         x = x || {};
  3560.         if (x.cloudSaveKey) {
  3561.             this.setCloudSaveKey(x.cloudSaveKey)
  3562.         }
  3563.         this._settings = {};
  3564.         this._savedSettings = {};
  3565.         this._urlSettings = {};
  3566.         this.region = new p.Models.Settings.Region({
  3567.             settings: this
  3568.         });
  3569.         this.safeSearch = new p.Models.Settings.SafeSearch({
  3570.             settings: this
  3571.         });
  3572.         this.cloudsave = e;
  3573.         this.themes = k;
  3574.         this._updateDeviceDependentSettings();
  3575.         this._setFromURLParams();
  3576.         this._setFromQuerystring();
  3577.         this._backfillGlobals();
  3578.         this._setFromCookie();
  3579.         this._restoreCloudSaveKey();
  3580.         this._useColorScheme()
  3581.     };
  3582.     r.prototype = $.extend({}, f.prototype, {
  3583.         THEME_KEY: k.KEY,
  3584.         AUTOCOMPLETE_KEY: "kac",
  3585.         LANGUAGE_KEY: "kad",
  3586.         POST_KEY: "kg",
  3587.         MOBILE_INSTRUCTIONS_KEY: "kas",
  3588.         DEFAULT_FIELD_CLASS: "FormField",
  3589.         TYPE_TO_FIELD_CLASS: {
  3590.             "boolean": "BooleanFormField",
  3591.             color: "ColorFormField",
  3592.             composite: "CompositeFormField",
  3593.             thumbnail: "ThumbnailFormField",
  3594.             theme: "ThemeFormField",
  3595.             dropdowncustom: "DropDownCustomFormField",
  3596.             clear: "ClearFormField"
  3597.         },
  3598.         get: function(x) {
  3599.             if (x === "kl") {
  3600.                 return this._getRegionSetting()
  3601.             }
  3602.             var y = this._settings[x] || this.getDefault(x);
  3603.             y = o(x, y);
  3604.             return y
  3605.         },
  3606.         _getRegionSetting: function() {
  3607.             if (this._settings.kl) {
  3608.                 return this._settings.kl
  3609.             }
  3610.             if (this._isInRegionToggleExp() && this._isRegionWithDefaultRegionToggle()) {
  3611.                 var z = navigator.language || "en-US";
  3612.                 var y = window.ct === "GB" ? "uk" : (window.ct || "US").toLowerCase();
  3613.                 if (y === "us") {
  3614.                     return "wt-wt"
  3615.                 }
  3616.                 var A = z.split("-")[0];
  3617.                 var x = y + "-" + A;
  3618.                 var B = p.Data.Settings.regions;
  3619.                 return Object.keys(B).indexOf(x) !== -1 ? x : "wt-wt"
  3620.             }
  3621.             return "wt-wt"
  3622.         },
  3623.         _isInRegionToggleExp: function() {
  3624.             var z = p.Data.Experiments.default_region_toggle;
  3625.             if (!z) {
  3626.                 return false
  3627.             }
  3628.             var A = p.history.get("atb");
  3629.             if (!A) {
  3630.                 return false
  3631.             }
  3632.             var x = z.versions || [];
  3633.             var y = A.slice(0, 6);
  3634.             return x.includes(y) && A[6] === "b"
  3635.         },
  3636.         _isRegionWithDefaultRegionToggle: function() {
  3637.             var x = ["AU", "AT", "DK", "FI", "FR", "DE", "IT", "IE", "NZ", "NO", "ES", "SE", "GB"];
  3638.             return x.indexOf(window.ct) !== -1
  3639.         },
  3640.         getDefault: function(x) {
  3641.             var y = s[x];
  3642.             return y && y["default"]
  3643.         },
  3644.         isDefault: function(x) {
  3645.             return this.get(x) === this.getDefault(x)
  3646.         },
  3647.         hasCustomLinkStyles: function() {
  3648.             return !(this.isDefault("kae") && this.isDefault("k9") && this.isDefault("kaa") && this.isDefault("k8") && this.isDefault("kx") && this.isDefault("kaf") && this.isDefault("kai") && this.isDefault("kf") && this.isDefault("k7") && this.isDefault("k18"))
  3649.         },
  3650.         getData: function(z) {
  3651.             var A = $.extend({}, s[z]);
  3652.             A.id = z;
  3653.             if (typeof A.values === "string") {
  3654.                 A.values = $.extend({}, s[A.values])
  3655.             }
  3656.             if (A.values && A.order) {
  3657.                 var B, x = {};
  3658.                 for (var y = 0; y < A.order.length; y++) {
  3659.                     B = A.order[y];
  3660.                     if (A.values[B]) {
  3661.                         x[B] = A.values[B]
  3662.                     }
  3663.                 }
  3664.                 for (B in A.values) {
  3665.                     if (!x[B]) {
  3666.                         x[B] = A.values[B]
  3667.                     }
  3668.                 }
  3669.                 A.values = x
  3670.             }
  3671.             return A
  3672.         },
  3673.         getFieldClass: function(x) {
  3674.             return this.TYPE_TO_FIELD_CLASS[x] || this.DEFAULT_FIELD_CLASS
  3675.         },
  3676.         set: function(x, A, z, y) {
  3677.             z = z || {};
  3678.             A = o(x, A);
  3679.             if (typeof A === "undefined" || A === "" || A === null || (x !== this.THEME_KEY && this.isDefault(this.THEME_KEY) && A === this.getDefault(x))) {
  3680.                 this.clear(x, z, y);
  3681.                 if (x === this.THEME_KEY && z.forceTheme) {
  3682.                     this._applyTheme(this.getDefault(x), z)
  3683.                 }
  3684.                 return y && y()
  3685.             }
  3686.             this._settings[x] = A;
  3687.             i[x] = A;
  3688.             if (z.saveToCookie || typeof z.saveToCookie === "undefined") {
  3689.                 if (typeof A === "string") {
  3690.                     A = A.replace("#", "")
  3691.                 }
  3692.                 this._savedSettings[x] = A;
  3693.                 t(h(x), A, z);
  3694.                 if (z.fallbackToURLParam && !document.cookie) {
  3695.                     this._urlSettings[x] = A
  3696.                 }
  3697.             }
  3698.             if (z.updateURLParams && this._urlSettings[x]) {
  3699.                 this._urlSettings[x] = A
  3700.             }
  3701.             if (!z.silent) {
  3702.                 this.emit("change:" + x, A)
  3703.             }
  3704.             this.emit("change", x);
  3705.             if (x === this.THEME_KEY) {
  3706.                 this._applyTheme(A, z)
  3707.             }
  3708.             if (z.saveToCloud && this._cloudSaveKey) {
  3709.                 this.saveToCloud(y)
  3710.             } else {
  3711.                 y && y()
  3712.             }
  3713.         },
  3714.         setTheme: function(z, y, x) {
  3715.             y = y || {};
  3716.             y.forceTheme = true;
  3717.             this.set(this.THEME_KEY, z, y, x)
  3718.         },
  3719.         setBulk: function(z, y) {
  3720.             if (z[this.THEME_KEY]) {
  3721.                 this.set(this.THEME_KEY, z[this.THEME_KEY], y)
  3722.             }
  3723.             for (var x in z) {
  3724.                 if (x !== this.THEME_KEY) {
  3725.                     this.set(x, z[x], y)
  3726.                 }
  3727.             }
  3728.         },
  3729.         setTParam: function(x) {
  3730.             this._urlSettings.t = x;
  3731.             this.set("t", x, {
  3732.                 saveToCookie: false
  3733.             })
  3734.         },
  3735.         clear: function(x, z, y) {
  3736.             z = z || {};
  3737.             i[x] = "";
  3738.             delete this._settings[x];
  3739.             delete this._savedSettings[x];
  3740.             if (z.saveToCookie || typeof z.saveToCookie === "undefined") {
  3741.                 t(h(x), "", {
  3742.                     expires: new Date(),
  3743.                     clear: true
  3744.                 })
  3745.             }
  3746.             if (z.updateURLParams) {
  3747.                 delete this._urlSettings[x]
  3748.             }
  3749.             if (z.saveToCloud) {
  3750.                 this.saveToCloud(y)
  3751.             }
  3752.             try {
  3753.                 if (x === n) {
  3754.                     i.localStorage && i.localStorage.removeItem(g)
  3755.                 } else {
  3756.                     if (x === e.keyField) {
  3757.                         i.localStorage && i.localStorage.removeItem(e.keyField)
  3758.                     }
  3759.                 }
  3760.             } catch (A) {}
  3761.             if (!z.silent) {
  3762.                 this.emit("change:" + x)
  3763.             }
  3764.             this.emit("change", x)
  3765.         },
  3766.         clearAll: function() {
  3767.             for (var x in this._settings) {
  3768.                 this.clear(x)
  3769.             }
  3770.         },
  3771.         toQueryString: function(x) {
  3772.             return $.param(this.toJSON(x))
  3773.         },
  3774.         toJSON: function(x) {
  3775.             x = x || {};
  3776.             if (x.onlyURLParams) {
  3777.                 return $.extend({}, this._urlSettings)
  3778.             }
  3779.             return $.extend({}, x.all ? this._settings : this._savedSettings)
  3780.         },
  3781.         toBookmarkletURL: function(y) {
  3782.             var x = this.toQueryString(y);
  3783.             return x ? j + "?" + x : j
  3784.         },
  3785.         toCloudSaveBookmarkletURL: function() {
  3786.             var x = this.getCloudSaveKey();
  3787.             return x ? j + "?key=" + x : j
  3788.         },
  3789.         getCloudSaveKey: function() {
  3790.             return this._cloudSaveKey
  3791.         },
  3792.         setCloudSaveKey: function(x) {
  3793.             b(e.keyField, x);
  3794.             this._cloudSaveKey = x;
  3795.             this.emit("change:cloudsave");
  3796.             return x
  3797.         },
  3798.         setCloudSavePassPhrase: function(x) {
  3799.             return this.setCloudSaveKey(e.phraseToKey(x))
  3800.         },
  3801.         loadFromCloud: function(x) {
  3802.             x = x || {};
  3803.             e.load(this._cloudSaveKey, function(A, z) {
  3804.                 if (z) {
  3805.                     if (x && x.clearAll) {
  3806.                         this.clearAll()
  3807.                     }
  3808.                     this._cloudSettings = z;
  3809.                     for (var y in z) {
  3810.                         if (this._urlSettings[y]) {
  3811.                             delete z[y]
  3812.                         }
  3813.                     }
  3814.                     this.setBulk(z);
  3815.                     b(e.keyField, this._cloudSaveKey)
  3816.                 } else {
  3817.                     this.clearCloudSave()
  3818.                 }
  3819.                 this.emit(x.initial ? "loaded-initial" : "loaded", A, z)
  3820.             }.bind(this))
  3821.         },
  3822.         saveToCloud: function(x) {
  3823.             e.save(this._cloudSaveKey, this._savedSettings, x)
  3824.         },
  3825.         clearCloudSave: function(y, x) {
  3826.             if (y && y.deleteFromServer) {
  3827.                 e.destroy(this._cloudSaveKey, x)
  3828.             }
  3829.             this.clear(e.keyField);
  3830.             this._cloudSaveKey = null;
  3831.             this.emit("change:cloudsave")
  3832.         },
  3833.         getFontName: function(y) {
  3834.             var x = s.fonts[y];
  3835.             if ((x && x === "Proxima Nova") || (y && !y.match(/^([a-zA-Z0-9\-\s]+)$/))) {
  3836.                 x = "DDG_ProximaNova, DDG_ProximaNova_UI_1, DDG_ProximaNova_UI_2, DDG_ProximaNova_UI_3, DDG_ProximaNova_UI_4, DDG_ProximaNova_UI_5, DDG_ProximaNova_UI_6"
  3837.             }
  3838.             return x
  3839.         },
  3840.         useRedirect: function() {
  3841.             return this.isDefault("kd") && !p.device.hasMetaReferrerSupport
  3842.         },
  3843.         autoloadDisabled: function() {
  3844.             return this.isDefault("kav")
  3845.         },
  3846.         getDropdownSettings: function() {
  3847.             var z = {};
  3848.             for (var x in s) {
  3849.                 if (s[x].dropdownSettings && s[x].dropdownSettings.category) {
  3850.                     var y = s[x].dropdownSettings.category;
  3851.                     if (!z[y]) {
  3852.                         z[y] = []
  3853.                     }
  3854.                     z[y][x] = s[x]
  3855.                 }
  3856.             }
  3857.             return z
  3858.         },
  3859.         getThemePalette: function(y, z) {
  3860.             var x = this.get("kae"),
  3861.                 A = k.getSettingsForTheme(x);
  3862.             if (A.palette && A[y] === z) {
  3863.                 return A.palette
  3864.             }
  3865.         },
  3866.         _updateDeviceDependentSettings: function() {
  3867.             var y, z, x;
  3868.             for (y in s) {
  3869.                 if (s[y].deviceDependent) {
  3870.                     x = s[y].values;
  3871.                     if (typeof x === "string") {
  3872.                         x = s[x]
  3873.                     }
  3874.                     for (z in x) {
  3875.                         if (!this._isValueValidForDevice(x[z])) {
  3876.                             delete x[z]
  3877.                         } else {
  3878.                             if (!s[y]["default"]) {
  3879.                                 s[y]["default"] = z
  3880.                             }
  3881.                         }
  3882.                     }
  3883.                 }
  3884.             }
  3885.         },
  3886.         _isValueValidForDevice: function(A) {
  3887.             var z = true,
  3888.                 y, x;
  3889.             if (A.onDevices) {
  3890.                 z = false;
  3891.                 for (y = 0; y < A.onDevices.length; y++) {
  3892.                     x = A.onDevices[y];
  3893.                     if (p.device[x]) {
  3894.                         z = true;
  3895.                         break
  3896.                     }
  3897.                 }
  3898.             }
  3899.             if (z && A.notOnDevices) {
  3900.                 for (y = 0; y < A.notOnDevices.length; y++) {
  3901.                     x = A.notOnDevices[y];
  3902.                     if (p.device[x]) {
  3903.                         z = false;
  3904.                         break
  3905.                     }
  3906.                 }
  3907.             }
  3908.             return z
  3909.         },
  3910.         isDarkTheme: function() {
  3911.             return p.settings.get("kae") === "d" || p.settings.get("kae") === "t"
  3912.         },
  3913.         _applyTheme: function(A, y) {
  3914.             y = y || {};
  3915.             var z = k.getSettingsForTheme(A);
  3916.             this.applyingTheme = true;
  3917.             for (var x in z) {
  3918.                 if (!y.forceTheme && this._settings[x]) {
  3919.                     continue
  3920.                 }
  3921.                 this.clear(x);
  3922.                 this.set(x, z[x] || this.getDefault(x), {
  3923.                     saveToCookie: false
  3924.                 })
  3925.             }
  3926.             this.applyingTheme = false;
  3927.             this.emit("change:themeApplied")
  3928.         },
  3929.         _setFromQuerystring: function() {
  3930.             for (var x in p.history.curState) {
  3931.                 var y = p.history.curState[x];
  3932.                 if (y.match(v)) {
  3933.                     continue
  3934.                 }
  3935.                 if (e.isKeyField(x) && !this.getCloudSaveKey()) {
  3936.                     this._urlSettings[x] = y;
  3937.                     this.setCloudSaveKey(y)
  3938.                 } else {
  3939.                     if (x.charAt(0) === "k" || x === "t" || x === "atb" || x === "va") {
  3940.                         this._urlSettings[x] = y
  3941.                     }
  3942.                 }
  3943.             }
  3944.             this.setBulk(this._urlSettings, {
  3945.                 saveToCookie: false
  3946.             })
  3947.         },
  3948.         _setFromURLParams: function() {
  3949.             if (!i.settings_url_params) {
  3950.                 return
  3951.             }
  3952.             for (var x in i.settings_url_params) {
  3953.                 var y = i.settings_url_params[x];
  3954.                 if (e.isKeyField(x) && !this.getCloudSaveKey()) {
  3955.                     this._urlSettings[x] = y;
  3956.                     this.setCloudSaveKey(y)
  3957.                 } else {
  3958.                     if (!this._urlSettings[x]) {
  3959.                         this._urlSettings[x] = y
  3960.                     }
  3961.                 }
  3962.             }
  3963.             this.setBulk(this._urlSettings, {
  3964.                 saveToCookie: false
  3965.             })
  3966.         },
  3967.         _setFromCookie: function() {
  3968.             if (!document.cookie) {
  3969.                 return
  3970.             }
  3971.             var A = {},
  3972.                 z = document.cookie.split("; ");
  3973.             for (var y = 0; y < z.length; y++) {
  3974.                 var B = z[y].split("=");
  3975.                 if (B && B.length == 2) {
  3976.                     var x = a(B[0]),
  3977.                         C = c(B[1]);
  3978.                     if (C.match(v)) {
  3979.                         continue
  3980.                     }
  3981.                     if (e.isKeyField(x)) {
  3982.                         this.clear(e.keyField);
  3983.                         p.pixel.fire("cls", {
  3984.                             c: 1
  3985.                         });
  3986.                         this.setCloudSaveKey(C)
  3987.                     } else {
  3988.                         if (C && !this._urlSettings[x]) {
  3989.                             A[x] = C
  3990.                         }
  3991.                     }
  3992.                 }
  3993.             }
  3994.             this.setBulk(A)
  3995.         },
  3996.         _isLoadableSetting: function(x, y) {
  3997.             if (!x || !y) {
  3998.                 return false
  3999.             }
  4000.             if (!s.hasOwnProperty(x) && !e.isKeyField(x)) {
  4001.                 return false
  4002.             }
  4003.             if (y.match(v)) {
  4004.                 return false
  4005.             }
  4006.             return !this._urlSettings[x]
  4007.         },
  4008.         _backfillGlobals: function() {
  4009.             var y = 0,
  4010.                 x, A;
  4011.             for (; y < 10; y++) {
  4012.                 x = a(y.toString());
  4013.                 if (!i[x]) {
  4014.                     i[x] = ""
  4015.                 }
  4016.             }
  4017.             for (y = 0; y < q.length; y++) {
  4018.                 var z = q.charAt(y);
  4019.                 x = a(z);
  4020.                 A = a("a" + z);
  4021.                 if (!i[x]) {
  4022.                     i[x] = ""
  4023.                 }
  4024.                 if (!i[A]) {
  4025.                     i[A] = ""
  4026.                 }
  4027.             }
  4028.         },
  4029.         _setDefaultTheme: function(y) {
  4030.             var x = y || k.getSystemTheme();
  4031.             if (x && x.id !== this.getDefault(this.THEME_KEY)) {
  4032.                 p.Data.Settings.kae["default"] = x.id
  4033.             }
  4034.         },
  4035.         _useColorScheme: function() {
  4036.             var y = k.getSystemTheme();
  4037.             if (!y) {
  4038.                 return
  4039.             }
  4040.             if (!this._settings[this.THEME_KEY] && !this._hasCustomizedTheme()) {
  4041.                 this.setTheme(y.id, {
  4042.                     saveToCookie: false
  4043.                 });
  4044.                 this._enableColorSchemeMatching()
  4045.             } else {
  4046.                 if (this._savedSettings[this.THEME_KEY] == y.id && !this._hasCustomizedTheme()) {
  4047.                     this.clear(this.THEME_KEY);
  4048.                     this._useColorScheme()
  4049.                 } else {
  4050.                     if (!this._settings[this.THEME_KEY] && this._hasCustomizedTheme()) {
  4051.                         var x = DDG.Data.Settings.kae.values["-1"];
  4052.                         y = x
  4053.                     }
  4054.                 }
  4055.             }
  4056.             this.on("change:themeApplied", this._themeSettingListener);
  4057.             this._setDefaultTheme(y)
  4058.         },
  4059.         _colorSchemeMatch: function(y) {
  4060.             if (y.matches) {
  4061.                 var x = k.getSystemTheme();
  4062.                 if (x) {
  4063.                     this._setDefaultTheme(x);
  4064.                     this.setTheme(x.id, {
  4065.                         saveToCookie: false
  4066.                     })
  4067.                 }
  4068.             }
  4069.         },
  4070.         _enableColorSchemeMatching: function() {
  4071.             this.themes.enableColorSchemeDetection(this._colorSchemeMatch.bind(this));
  4072.             this._toggleAppearanceSettingListeners(true)
  4073.         },
  4074.         _disableColorSchemeMatching: function() {
  4075.             this.themes.disableColorSchemeDetection();
  4076.             this._toggleAppearanceSettingListeners(false)
  4077.         },
  4078.         _themeSettingListener: function() {
  4079.             var x = k.getSystemTheme(),
  4080.                 y = this.get(this.THEME_KEY) === x.id;
  4081.             if (y && !this._hasCustomizedTheme()) {
  4082.                 this.clear("kae");
  4083.                 if (!this.themes.colorSchemeMatching) {
  4084.                     this._enableColorSchemeMatching()
  4085.                 }
  4086.             } else {
  4087.                 this._disableColorSchemeMatching()
  4088.             }
  4089.         },
  4090.         _appearanceSettingListener: function(z) {
  4091.             var x = z.substring(7);
  4092.             if (this.themes.colorSchemeMatching && !this.isDefault(x) && !this.applyingTheme) {
  4093.                 var y = this.get(this.THEME_KEY);
  4094.                 this.set(this.THEME_KEY, y);
  4095.                 this._disableColorSchemeMatching()
  4096.             }
  4097.         },
  4098.         _toggleAppearanceSettingListeners: function(y) {
  4099.             if (y === null) {
  4100.                 return
  4101.             }
  4102.             var x = this.get(this.THEME_KEY),
  4103.                 A = this.themes.getSettingsForTheme(x);
  4104.             for (var z in A) {
  4105.                 if (y) {
  4106.                     this.on("change:" + z, function() {
  4107.                         this._appearanceSettingListener(this.event)
  4108.                     }.bind(this))
  4109.                 } else {
  4110.                     this.off("change:" + z, function() {
  4111.                         this._appearanceSettingListener(this.event)
  4112.                     }.bind(this))
  4113.                 }
  4114.             }
  4115.         },
  4116.         _hasCustomizedTheme: function() {
  4117.             var B = this.get(this.THEME_KEY),
  4118.                 y = this.themes.getSettingsForTheme(B);
  4119.             for (var A in y) {
  4120.                 var x = this.get(A),
  4121.                     z = y[A];
  4122.                 if (x === this.getDefault(A)) {
  4123.                     x = null
  4124.                 }
  4125.                 if (x != z) {
  4126.                     return true
  4127.                 }
  4128.             }
  4129.             return false
  4130.         },
  4131.         _restoreCloudSaveKey: function() {
  4132.             try {
  4133.                 for (var y = 0; y < localStorage.length; y++) {
  4134.                     var x = localStorage.key(y),
  4135.                         A = localStorage.getItem(x);
  4136.                     x = a(x);
  4137.                     if (this._isLoadableSetting(x, A) && e.isKeyField(x)) {
  4138.                         this.setCloudSaveKey(A)
  4139.                     }
  4140.                 }
  4141.             } catch (z) {}
  4142.         }
  4143.     });
  4144.     var c = function(x) {
  4145.         if (!x) {
  4146.             return ""
  4147.         }
  4148.         if (x.indexOf('"') === 0) {
  4149.             x = x.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\")
  4150.         }
  4151.         return x ? decodeURIComponent(x.replace(/\+/g, " ")) : ""
  4152.     };
  4153.     var t = function(y, B, z) {
  4154.         z = z || {};
  4155.         z.expires = z.expires || new Date(u);
  4156.         var A = encodeURIComponent(y),
  4157.             x = encodeURIComponent(B);
  4158.         if (!x && (!document.cookie || !document.cookie.match(new RegExp("(^|;)\\s?" + A + "=")))) {
  4159.             return
  4160.         }
  4161.         document.cookie = [A, "=", x, "; sameSite=Strict", (z.secure || location.protocol === "https:") ? "; secure" : "", z.expires ? "; expires=" + z.expires.toUTCString() : "", z.path ? "; path=" + z.path : "", z.domain ? "; domain=" + z.domain : ""].join("")
  4162.     };
  4163.     var b = function(x, A, y) {
  4164.         try {
  4165.             if (y && y.clear) {
  4166.                 localStorage.removeItem(x)
  4167.             } else {
  4168.                 localStorage.setItem(x, A)
  4169.             }
  4170.         } catch (z) {}
  4171.     };
  4172.     var h = function(x) {
  4173.         if (x.charAt(0) === "k") {
  4174.             return x.substr(1, x.length)
  4175.         }
  4176.         return x
  4177.     };
  4178.     var a = function(x) {
  4179.         if (e.isKeyField(x)) {
  4180.             return x
  4181.         }
  4182.         return "k" + x
  4183.     };
  4184.     var m = function(x) {
  4185.         var y = s[x];
  4186.         return typeof y.values === "object" ? y.values : s[y.values]
  4187.     };
  4188.     var o = function(y, A) {
  4189.         if (!A || !y) {
  4190.             return A
  4191.         }
  4192.         var z = s[y];
  4193.         if (z && z.type === "color") {
  4194.             var x = m(y);
  4195.             A = x[A] || A
  4196.         }
  4197.         return A
  4198.     }
  4199. }(DDG, this);
  4200. ! function(a) {
  4201.     a.Models.TParam = function() {
  4202.         this._param = this.DEFAULT_VARIANT;
  4203.         this.set(a.settings.get("t"))
  4204.     };
  4205.     a.Models.TParam.prototype = $.extend({}, {
  4206.         DEFAULT_VARIANT: "_",
  4207.         get: function() {
  4208.             return this._param
  4209.         },
  4210.         set: function(b) {
  4211.             if (!b) {
  4212.                 return
  4213.             }
  4214.             if (this._isValidHomepageParam(b)) {
  4215.                 this._param = (b.length === 1) ? this.DEFAULT_VARIANT : b.substr(1);
  4216.                 this._fromHomepage = true;
  4217.                 this._hasValue = true
  4218.             } else {
  4219.                 if (/^[a-z0-9]+$/.test(b)) {
  4220.                     this._param = b;
  4221.                     this._hasValue = true
  4222.                 }
  4223.             }
  4224.         },
  4225.         hasValue: function() {
  4226.             return this._hasValue
  4227.         },
  4228.         fromDefaultSearch: function() {
  4229.             return this._hasValue && !this.fromHomepage()
  4230.         },
  4231.         setFromHomepage: function(b) {
  4232.             var c = "h" + b;
  4233.             if (!a.settings.get("t") && this._isValidHomepageParam(c)) {
  4234.                 a.settings.setTParam(c)
  4235.             }
  4236.         },
  4237.         fromHomepage: function() {
  4238.             return this._fromHomepage
  4239.         },
  4240.         _isValidHomepageParam: function(b) {
  4241.             return /^h[a-z_]?$/.test(b)
  4242.         }
  4243.     })
  4244. }(DDG);
  4245. ! function(b) {
  4246.     var a = b.Models.Base;
  4247.     b.Models.AddToBrowser = function() {
  4248.         this.viewType = (b.device.isMobileDevice) ? "AddToBrowserBanner" : "AddToBrowserBadge"
  4249.     };
  4250.     b.Models.AddToBrowser.prototype = $.extend({}, a.prototype, {
  4251.         BADGE_DISMISS_KEY: "kak",
  4252.         BADGE_RECURRING_KEY: "kax",
  4253.         canAddToChromeMobile: function() {
  4254.             var e = b.device.isAndroid && b.device.isChrome && b.device.chromeVersion >= 57,
  4255.                 c = b.device.isIDevice && b.device.isChrome && b.device.chromeVersion >= 72;
  4256.             return (e || c) && !b.device.isBrave && !b.device.isFirefoxFocus && !b.device.isSamsung && !b.device.isUCBrowser
  4257.         },
  4258.         canAddToBraveAndroid: function() {
  4259.             return b.device.isAndroid && b.device.isBrave
  4260.         },
  4261.         canAddToBraveIOS: function() {
  4262.             return b.device.isIOS8p && b.device.isBrave
  4263.         },
  4264.         canAddToMobileFirefox: function() {
  4265.             return ((b.device.isIOS8p && b.device.isFirefox) || (b.device.isAndroid && (b.device.isFirefox38AndUp || b.device.isFirefoxFocus)))
  4266.         },
  4267.         canAddToMobileUCBrowser: function() {
  4268.             return b.device.isUCBrowser && (b.device.isAndroid || b.device.isIDevice)
  4269.         },
  4270.         canAddToMobileBrowser: function() {
  4271.             return (this.canAddToChromeMobile() || (b.device.isIOS8pSafari && !b.device.isUCBrowser) || this.canAddToMobileFirefox() || this.canAddToBraveAndroid() || this.canAddToBraveIOS() || b.device.isEdgeMobile || this.canAddToMobileUCBrowser())
  4272.         },
  4273.         canShowMobileBanner: function() {
  4274.             return (this.canAddToMobileBrowser() && b.settings.isDefault(this.BADGE_DISMISS_KEY) && this._canShowAgain())
  4275.         },
  4276.         canShowBadgeAgain: function() {
  4277.             return !(b.device.isDesktop && !this._canShowAgain())
  4278.         },
  4279.         canShowMobileButton: function() {
  4280.             return (this.canAddToMobileBrowser() && (!b.settings.isDefault(this.BADGE_DISMISS_KEY) || !this._canShowAgain()))
  4281.         },
  4282.         showDarkInstructions: function() {
  4283.             return this.canAddToMobileBrowser()
  4284.         },
  4285.         dismiss: function() {
  4286.             var f = (b.opensearch.atbVariant !== b.tParam.DEFAULT_VARIANT) ? b.opensearch.atbVariant : "",
  4287.                 g = 4,
  4288.                 e = new Date(),
  4289.                 c;
  4290.             if (!b.settings.isDefault(this.BADGE_RECURRING_KEY)) {
  4291.                 g = 30
  4292.             }
  4293.             e.setDate(e.getDate() + g);
  4294.             c = b.opensearch.getATBVersionInfo(e).version;
  4295.             if (this._canShowAgain()) {
  4296.                 b.settings.set(this.BADGE_RECURRING_KEY, c + f, {
  4297.                     saveToCloud: true,
  4298.                     fallbackToURLParam: true
  4299.                 })
  4300.             }
  4301.         },
  4302.         _canShowAgain: function() {
  4303.             var c = b.opensearch.getDaysSinceCohort(b.settings.get(this.BADGE_RECURRING_KEY)),
  4304.                 e = !b.settings.isDefault(this.BADGE_RECURRING_KEY);
  4305.             return !e || (e && b.device.isDesktop && c >= 0 && c <= 15) || (e && !b.device.isDesktop && c >= 0)
  4306.         },
  4307.         canShowOnMobileSerp: function() {
  4308.             return (this.canShowMobileBanner() && b.page.canShowAddToBrowser() && b.tParam.fromHomepage())
  4309.         },
  4310.         canShowOnDesktopSerp: function() {
  4311.             return (this.canShowBadgeAgain() && b.page.canShowAddToBrowser() && b.tParam.fromHomepage())
  4312.         },
  4313.         canNotYetShowOnDesktopSerp: function() {
  4314.             return (!this.canShowBadgeAgain() && b.page.canShowAddToBrowserButton() && b.tParam.fromHomepage())
  4315.         },
  4316.         usesOpenSearch: function() {
  4317.             return this.canAddToChromeMobile() || (b.device.isAndroid && b.device.isEdgeMobile)
  4318.         }
  4319.     })
  4320. }(DDG);
  4321. ! function(b) {
  4322.     var a = b.Models.Base,
  4323.         c = "kao";
  4324.     b.Models.Settings.OnboardingEducation = function() {
  4325.         this.KEY = c;
  4326.         this.isDismissed = !b.settings.isDefault(c);
  4327.         this.didUserScroll = false;
  4328.         this.isSVGAnimated = false;
  4329.         this.scrollToAnimationDurationMS = 350;
  4330.         this.pauseForAnimationMS = 1000
  4331.     };
  4332.     b.Models.Settings.OnboardingEducation.prototype = $.extend({}, a.prototype, {
  4333.         canShow: function() {
  4334.             return (b.settings.isDefault(this.KEY) && !window.extensionsuccess)
  4335.         },
  4336.         dismiss: function() {
  4337.             b.settings.set(c, -1, {
  4338.                 saveToCloud: true
  4339.             });
  4340.             this.isDismissed = true
  4341.         }
  4342.     })
  4343. }(DDG);
  4344. ! function(a) {
  4345.     a.Models.Settings.OnboardingEducationSlide = function(b) {
  4346.         return {
  4347.             slideIndex: b.model.slideIndex || null,
  4348.             isSVGAnimated: b.model.isSVGAnimated || false,
  4349.             pauseBeforeAnimation: 300,
  4350.             pauseBetweenAnimationIterations: 5000,
  4351.             maxAnimationLoops: 3,
  4352.             animationAnchorEl: {
  4353.                 slide1: "monster-eye",
  4354.                 slide2: "ghost-girl-face",
  4355.                 slide3: "bathtub-periscope",
  4356.                 slide4: "scarf-back"
  4357.             }
  4358.         }
  4359.     }
  4360. }(DDG);
  4361. ! function(r) {
  4362.     var j, e = {
  4363.             s: "set-text--small",
  4364.             m: "set-text--medium",
  4365.             l: "set-text--larger",
  4366.             t: "set-text--largest"
  4367.         },
  4368.         a = {
  4369.             w: "set-wide",
  4370.             s: "set-super-wide"
  4371.         },
  4372.         u = "set-theme--dark",
  4373.         b = "set-theme--terminal",
  4374.         o = "no-theme",
  4375.         p = r.Data.languages.languageFontLookup,
  4376.         h = r.Data.languages.fontSubsets,
  4377.         g = tinycolor;
  4378.     r.Models.Settings.LiveUpdater = j = function(x) {
  4379.         this.settings = x.settings;
  4380.         this.$html = r.$html || $("html");
  4381.         this.$body = $("body");
  4382.         this.isHomePage = x.isHomePage;
  4383.         this.$html.removeClass(u);
  4384.         this.$html.removeClass(b);
  4385.         this.$html.removeClass(o);
  4386.         var v = this;
  4387.         this.settings.on("change", function(y) {
  4388.             v[y] && v[y](v.settings.get(y))
  4389.         })
  4390.     };
  4391.     j.prototype = {
  4392.         updateAll: function() {
  4393.             for (var v in j.prototype) {
  4394.                 if (v.charAt(0) == "k") {
  4395.                     this[v](this.settings.get(v))
  4396.                 }
  4397.             }
  4398.         },
  4399.         loadFonts: function() {
  4400.             if (!this.settings.isDefault("kt") && !this.settings.isDefault("ka")) {
  4401.                 return
  4402.             }
  4403.             var E = r.Data.languages.resultLanguages || {},
  4404.                 A = Object.keys(E) || [],
  4405.                 v = [],
  4406.                 x = 0,
  4407.                 D = 6,
  4408.                 C = "";
  4409.             if (!this.settings.isDefault("kad")) {
  4410.                 A.unshift(this.settings.get("kad").split("_")[0])
  4411.             }
  4412.             if (locale) {
  4413.                 A.unshift(locale.split("_")[0])
  4414.             }
  4415.             if (A && A.length) {
  4416.                 for (var B = 0; B < A.length; B++) {
  4417.                     var y = A[B];
  4418.                     if (p[y] && v.indexOf(y) === -1) {
  4419.                         var F = $.isArray(p[y]) ? p[y] : [p[y]];
  4420.                         for (var z = 0; z < F.length; z++) {
  4421.                             C += r.exec_template("theme_font", {
  4422.                                 name: "_UI_" + x,
  4423.                                 lang: F[z]
  4424.                             });
  4425.                             v = v.concat(h[F[z]]);
  4426.                             x++
  4427.                         }
  4428.                         if (x >= D) {
  4429.                             break
  4430.                         }
  4431.                     }
  4432.                 }
  4433.             }
  4434.             this._clearCSS("customFonts");
  4435.             if (C) {
  4436.                 this.$customFontscss = s(C)
  4437.             }
  4438.         },
  4439.         k1: function(x) {
  4440.             var v = (x && x == "-1") ? "addClass" : "removeClass";
  4441.             this.$html[v]("no-ads")
  4442.         },
  4443.         km: function(x) {
  4444.             var v = (x && x === "m") ? "addClass" : "removeClass";
  4445.             this.$html[v]("set-align-center")
  4446.         },
  4447.         ks: function(y) {
  4448.             for (var v in e) {
  4449.                 this.$html.removeClass(e[v])
  4450.             }
  4451.             var x = e[y];
  4452.             x && this.$html.addClass(x)
  4453.         },
  4454.         kw: function(x) {
  4455.             this.$html.removeClass("set-wide").removeClass("set-super-wide");
  4456.             var v = a[x];
  4457.             v && this.$html.addClass(v)
  4458.         },
  4459.         kh: function(x) {
  4460.             var v = $("form[name=x]");
  4461.             if (!v.length) {
  4462.                 return
  4463.             }
  4464.             if ((!x || x === "1") && !d.location.port && d.location.protocol !== "https:" && w.location.hostname.indexOf(".onion") === -1) {
  4465.                 v.attr("action", "https://" + w.location.host + "/")
  4466.             } else {
  4467.                 if ((x && x === "-1") && d.location.protocol !== "http:") {
  4468.                     v.attr("action", "http://" + w.location.host + "/")
  4469.                 } else {
  4470.                     if (this.settings.get("kg") === "p" && r.device.isChrome) {
  4471.                         v.attr("action", w.location.protocol + "//" + w.location.host + "/")
  4472.                     } else {
  4473.                         v.attr("action", "/")
  4474.                     }
  4475.                 }
  4476.             }
  4477.         },
  4478.         kg: function(x) {
  4479.             var v = $("form[name=x]");
  4480.             if (!v.length) {
  4481.                 return
  4482.             }
  4483.             var y = (x && x === "p") ? "POST" : "GET";
  4484.             v.attr("method", y);
  4485.             if (x && x === "p") {
  4486.                 d.title = "DuckDuckGo"
  4487.             }
  4488.             if (r.device.isChrome && x && x === "p") {
  4489.                 v.attr("action", window.location.protocol + "//" + window.location.host + "//")
  4490.             }
  4491.         },
  4492.         ko: function(v) {
  4493.             if (this.isHomePage) {
  4494.                 return
  4495.             }
  4496.             r.isHeaderFixed = false;
  4497.             this.$html.removeClass("set-header--menu");
  4498.             this.$html.removeClass("set-header--fixed");
  4499.             if (v == "1" && r.device.hasFixedHeaderSupport) {
  4500.                 r.isHeaderFixed = true;
  4501.                 this.$html.addClass("set-header--fixed")
  4502.             } else {
  4503.                 if (v == "-2" || v == "-1") {
  4504.                     this.$html.addClass("set-header--menu");
  4505.                     delete r._header_height
  4506.                 }
  4507.             }
  4508.         },
  4509.         ku: function(v) {
  4510.             this.$html[k(v)]("set-underlined-links")
  4511.         },
  4512.         kaf: function(v) {
  4513.             this.$html[k(v)]("full-urls")
  4514.         },
  4515.         kad: function() {
  4516.             this.loadFonts()
  4517.         },
  4518.         kag: function(v) {
  4519.             $(".search__button")[k(v)]("search__button--active")
  4520.         },
  4521.         kt: function(z) {
  4522.             this._clearCSS("kt");
  4523.             if (!z || z == this.settings.getDefault("kt")) {
  4524.                 return
  4525.             }
  4526.             var v = this.settings.getFontName(z) || z,
  4527.                 y = this.settings.getFontName(this.settings.getDefault("kt")),
  4528.                 x = !!v.match(/Helvetica|Arial|Sans-serif/);
  4529.             if (v.match(/Helvetica/)) {
  4530.                 v += ",sans-serif"
  4531.             }
  4532.             this.$ktcss = s(r.exec_template("theme_custom_font", {
  4533.                 fontStack: v + "," + y,
  4534.                 lightenWeight: x
  4535.             }))
  4536.         },
  4537.         ka: function(y) {
  4538.             this._clearCSS("ka");
  4539.             if (!y || y == this.settings.getDefault("ka")) {
  4540.                 return
  4541.             }
  4542.             var v = this.settings.getFontName(y) || y,
  4543.                 x = this.settings.getFontName(this.settings.getDefault("ka"));
  4544.             if (v.match(/Helvetica/)) {
  4545.                 v += ",sans-serif"
  4546.             }
  4547.             this.$kacss = s(".result__a { font-family:" + v + "," + x + ";}")
  4548.         },
  4549.         kj: function(y) {
  4550.             var G = this.settings.getThemePalette("kj", y);
  4551.             this.$html.removeClass("dark-header");
  4552.             this._clearCSS("kj");
  4553.             if (!y || y == this.settings.getDefault("kj")) {
  4554.                 return ""
  4555.             }
  4556.             var B = y,
  4557.                 x = f(B),
  4558.                 E = x.root.toHsl().l > 0.5,
  4559.                 D = x.root.toRgbString().replace(/rgb\(|\)/g, ""),
  4560.                 A = x.root.toHexString(),
  4561.                 C = "",
  4562.                 z = {},
  4563.                 F = {},
  4564.                 v = {};
  4565.             if (!E || x.root.toHsl().s > 0.5) {
  4566.                 this.$html.addClass("dark-header")
  4567.             }
  4568.             if (G) {
  4569.                 z = {
  4570.                     color: G.tertiary,
  4571.                     rgb: D,
  4572.                     primary: G.primary,
  4573.                     bottomBorder: G.secondary,
  4574.                     link: G.text.secondary,
  4575.                     activeLink: G.text.primary
  4576.                 };
  4577.                 F = {
  4578.                     icon: G.text.secondary,
  4579.                     hoverBg: G.secondary,
  4580.                     hoverText: G.text.primary,
  4581.                     hoverColor: G.text.primary,
  4582.                     background: G.tertiary
  4583.                 };
  4584.                 v = {
  4585.                     color: A,
  4586.                     bg: A,
  4587.                     fullPageBg: G.base,
  4588.                     detail: x.darker[2],
  4589.                     border: G.primary,
  4590.                     bottomBorder: G.secondary,
  4591.                     outline: G.secondary,
  4592.                     text: G.text.secondary,
  4593.                     link: G.text.primary,
  4594.                     activeLink: G.text.primary,
  4595.                     modeBg: G.primary,
  4596.                     modeText: G.text.primary,
  4597.                     accent1: G.text.secondary,
  4598.                     accent2: G.text.primary,
  4599.                     accent3: G.secondary,
  4600.                     accentText: G.text.primary,
  4601.                     accentText2: G.text.secondary,
  4602.                     accentText3: G.text.tertiary,
  4603.                     btnHoverBg: G.quaternary,
  4604.                     btnHoverBorder: G.quaternary,
  4605.                     isDark: !E
  4606.                 }
  4607.             } else {
  4608.                 if (E) {
  4609.                     z = {
  4610.                         color: A,
  4611.                         rgb: D,
  4612.                         primary: x.darker[2],
  4613.                         bottomBorder: x.darker[0],
  4614.                         link: x.text[2],
  4615.                         activeLink: x.text[0]
  4616.                     };
  4617.                     F = {
  4618.                         icon: x.text[3],
  4619.                         hoverBg: x.text[2],
  4620.                         hoverText: x[2],
  4621.                         hoverColor: x.lighter[2],
  4622.                         background: x.lighter[4]
  4623.                     };
  4624.                     v = {
  4625.                         color: A,
  4626.                         bg: x.lighter[4],
  4627.                         detail: x.lighter[2],
  4628.                         border: x.darker[0],
  4629.                         bottomBorder: x.darker[0],
  4630.                         outline: x.darker[5],
  4631.                         text: x.text[1],
  4632.                         link: x.text[0],
  4633.                         activeLink: x.text[0],
  4634.                         tileNav: x.darker[2],
  4635.                         modeBg: x.darker[2],
  4636.                         modeText: x.text[1],
  4637.                         accent1: x.darker[3],
  4638.                         accent2: x.darker[4],
  4639.                         accent3: x.darker[2],
  4640.                         accentText: x.text[2],
  4641.                         accentText2: x.text[3],
  4642.                         btnHoverBg: A,
  4643.                         btnHoverBorder: x.darker[4],
  4644.                         isDark: !E
  4645.                     }
  4646.                 } else {
  4647.                     z = {
  4648.                         color: A,
  4649.                         rgb: D,
  4650.                         primary: x.lighter[2],
  4651.                         bottomBorder: x.lighter[3],
  4652.                         link: x.text[2],
  4653.                         activeLink: x.text[0]
  4654.                     };
  4655.                     F = {
  4656.                         icon: x.text[4],
  4657.                         hoverBg: x.text[2],
  4658.                         hoverText: x.text[2],
  4659.                         hoverColor: x.darker[2],
  4660.                         background: x.darker[4]
  4661.                     };
  4662.                     v = {
  4663.                         color: A,
  4664.                         bg: A,
  4665.                         detail: x.darker[2],
  4666.                         border: x.lighter[3],
  4667.                         bottomBorder: x.lighter[3],
  4668.                         outline: x.lighter[7],
  4669.                         text: x.text[1],
  4670.                         link: x.text[0],
  4671.                         activeLink: x.text[3],
  4672.                         modeBg: x.lighter[1],
  4673.                         modeText: x.text[4],
  4674.                         accent1: x.lighter[2],
  4675.                         accent2: x.lighter[3],
  4676.                         accent3: x.lighter[7],
  4677.                         accentText: x.text[2],
  4678.                         accentText2: x.text[3],
  4679.                         accentText3: x.text[4],
  4680.                         btnHoverBg: A,
  4681.                         btnHoverBorder: x.lighter[3],
  4682.                         isDark: !E
  4683.                     };
  4684.                     C += t(x, G);
  4685.                     C += i(x, G)
  4686.                 }
  4687.             }
  4688.             C += r.exec_template("theme_header", z);
  4689.             if (!this.isHomePage) {
  4690.                 if (E) {
  4691.                     C += q(x)
  4692.                 } else {
  4693.                     C += t(x, G);
  4694.                     C += i(x, G)
  4695.                 }
  4696.                 C += r.exec_template("theme_header_menu_button", F);
  4697.                 C += r.exec_template("theme_zci", v)
  4698.             }
  4699.             this.$kjcss = s(C)
  4700.         },
  4701.         k7: function(C) {
  4702.             var M = this.settings.getThemePalette("k7", C);
  4703.             this.$html.removeClass("dark-bg");
  4704.             this.$k7css && this.$k7css.remove();
  4705.             delete this.$k7css;
  4706.             if (!C || C == this.settings.getDefault("k7")) {
  4707.                 return
  4708.             }
  4709.             var I = g(C),
  4710.                 F = I.toHexString(),
  4711.                 K = I.toPercentageRgbString(),
  4712.                 D = f(F),
  4713.                 L = D.root.toHsl().l > 0.5,
  4714.                 y = K.replace("rgb(", "").replace(")", ""),
  4715.                 J = "",
  4716.                 B, z = {},
  4717.                 E = {},
  4718.                 G = {},
  4719.                 x = {},
  4720.                 H = {},
  4721.                 v = {},
  4722.                 A = {};
  4723.             if (M) {
  4724.                 B = g(M.text.primary);
  4725.                 z = {
  4726.                     bg: F,
  4727.                     rgbBg: y,
  4728.                     text: M.text.primary,
  4729.                     rgbText: B.toPercentageRgbString().replace("rgb(", "").replace(")", ""),
  4730.                     textTint: M.text.secondary,
  4731.                     textTint2: M.text.tertiary,
  4732.                     bgTint: M.primary,
  4733.                     bgTint2: M.secondary,
  4734.                     bgDark: M.tertiary,
  4735.                     btnHoverBg: M.quaternary,
  4736.                     btnHoverBorder: M.quaternary
  4737.                 };
  4738.                 E = {
  4739.                     bg: M.secondary,
  4740.                     border: M.tertiary,
  4741.                     text: M.text.secondary,
  4742.                     link: M.text.primary,
  4743.                     activeLink: M.text.primary
  4744.                 };
  4745.                 G = {
  4746.                     icon: M.text.secondary,
  4747.                     hoverBg: M.primary,
  4748.                     border: M.primary,
  4749.                     hoverText: M.text.primary,
  4750.                     background: M.tertiary
  4751.                 };
  4752.                 x = {
  4753.                     primary: M.text.primary,
  4754.                     color: M.text.secondary,
  4755.                     tertiaryColor: M.text.tertiary,
  4756.                     dateColor: M.text.primary
  4757.                 };
  4758.                 H = {
  4759.                     color: M.text.secondary,
  4760.                     bgTint: M.primary
  4761.                 };
  4762.                 v = {
  4763.                     color: M.primary
  4764.                 };
  4765.                 A = {
  4766.                     bgColor: M.secondary,
  4767.                     borderColor: M.tertiary,
  4768.                     textColor: M.text.secondary,
  4769.                     linkColor: M.text.primary
  4770.                 }
  4771.             } else {
  4772.                 B = g(D.text[0]);
  4773.                 z = {
  4774.                     bg: F,
  4775.                     rgbBg: y,
  4776.                     text: D.text[0],
  4777.                     rgbText: B.toPercentageRgbString().replace("rgb(", "").replace(")", ""),
  4778.                     textTint: D.text[3],
  4779.                     textTint2: D.text[5],
  4780.                     bgTint: L ? D.darker[1] : D.lighter[1],
  4781.                     bgTint2: L ? D.darker[0] : D.lighter[2],
  4782.                     bgDark: L ? D.lighter[1] : D.darker[1],
  4783.                     btnHoverBg: L ? D.darker[0] : D.lighter[2],
  4784.                     btnHoverBorder: L ? D.darker[0] : D.lighter[2]
  4785.                 };
  4786.                 E = {
  4787.                     bg: D.darker[1],
  4788.                     border: D.darker[2],
  4789.                     text: D.text[5],
  4790.                     link: D.text[3],
  4791.                     activeLink: D.text[0]
  4792.                 };
  4793.                 G = {
  4794.                     icon: L ? D.darker[4] : D.text[4],
  4795.                     hoverBg: L ? D.darker[1] : D.lighter[1],
  4796.                     border: L ? D.darker[1] : D.lighter[1],
  4797.                     hoverText: D.text[2],
  4798.                     background: L ? D.darker[3] : D.text[2]
  4799.                 };
  4800.                 x = {
  4801.                     primary: D.text[0],
  4802.                     color: D.text[3],
  4803.                     tertiaryColor: D.text[5],
  4804.                     dateColor: D.text[0]
  4805.                 };
  4806.                 H = {
  4807.                     color: D.text[3],
  4808.                     bgTint: L ? D.darker[1] : D.lighter[1]
  4809.                 };
  4810.                 v = {
  4811.                     color: L ? D.darker[1] : D.lighter[1]
  4812.                 };
  4813.                 A = {
  4814.                     bgColor: D.darker[1],
  4815.                     borderColor: D.darker[2],
  4816.                     textColor: D.text[3],
  4817.                     linkColor: D.text[0]
  4818.                 }
  4819.             }
  4820.             z.isDark = !L;
  4821.             z.rgbBgDark = g(z.bgDark).toPercentageRgbString().replace("rgb(", "").replace(")", "");
  4822.             J += r.exec_template("theme_background", z);
  4823.             J += r.exec_template("theme_sidemenu", E);
  4824.             if (this.isHomePage) {
  4825.                 J += r.exec_template("theme_header_menu_button", G);
  4826.                 if (!L) {
  4827.                     J += t(D, M);
  4828.                     J += i(D, M)
  4829.                 } else {
  4830.                     J += q(D, M)
  4831.                 }
  4832.             } else {
  4833.                 J += r.exec_template("theme_result_snippet", x);
  4834.                 J += r.exec_template("theme_result_web_links", H);
  4835.                 J += r.exec_template("theme_result_highlight", v);
  4836.                 J += r.exec_template("theme_result_message", A)
  4837.             }
  4838.             if (!L || D.root.toHsl().s > 0.5) {
  4839.                 this.$html.addClass("dark-bg");
  4840.                 this.isDarkBg = true
  4841.             }
  4842.             this.$k7css = s(J)
  4843.         },
  4844.         k9: function(x) {
  4845.             this._clearCSS("k9");
  4846.             if (!x || x == this.settings.getDefault("k9")) {
  4847.                 return
  4848.             }
  4849.             var v = g(x);
  4850.             if (v.isValid()) {
  4851.                 this.$k9css = s(r.exec_template("theme_result_title", {
  4852.                     color: v.toHexString()
  4853.                 }))
  4854.             }
  4855.         },
  4856.         k8: function(z) {
  4857.             this._clearCSS("k8");
  4858.             if (!z || z == this.settings.getDefault("k8")) {
  4859.                 return
  4860.             }
  4861.             var x = g(z),
  4862.                 v = this.settings.getThemePalette("k8", z),
  4863.                 y = {};
  4864.             if (x.isValid()) {
  4865.                 if (v) {
  4866.                     y = {
  4867.                         color: x.toHexString(),
  4868.                         primary: v.primary
  4869.                     }
  4870.                 } else {
  4871.                     y = {
  4872.                         color: x.toHexString(),
  4873.                         primary: x.toHexString()
  4874.                     }
  4875.                 }
  4876.                 this.$k8css = s(r.exec_template("theme_result_snippet", y))
  4877.             }
  4878.         },
  4879.         kaa: function(x) {
  4880.             this._clearCSS("kaa");
  4881.             if (!x || x == this.settings.getDefault("kaa")) {
  4882.                 return
  4883.             }
  4884.             var v = g(x);
  4885.             if (v.isValid()) {
  4886.                 this.$kaacss = s(".results a.result__a:visited,.sitelinks__title a.result__a:visited,.module--news__body__title:visited,.module__link:visited, .module__link:visited:hover,.module__link a:visited, .module__link a:visited:hover{ color:" + v.toHexString() + ";}")
  4887.             }
  4888.         },
  4889.         kx: function(x) {
  4890.             this._clearCSS("kx");
  4891.             if (!x || x == this.settings.getDefault("kx")) {
  4892.                 return
  4893.             }
  4894.             var v = g(x);
  4895.             if (v.isValid()) {
  4896.                 this.$kxcss = s(r.exec_template("theme_result_web_links", {
  4897.                     color: v.toHexString()
  4898.                 }))
  4899.             }
  4900.         },
  4901.         k21: function(B) {
  4902.             this._clearCSS("k21");
  4903.             if (!B || B == this.settings.getDefault("k21")) {
  4904.                 return
  4905.             }
  4906.             var x = g(B),
  4907.                 v = this.settings.getThemePalette("k21", B),
  4908.                 y = f(x),
  4909.                 A = y.root.toHsl().l > 0.5,
  4910.                 z = {};
  4911.             if (v) {
  4912.                 z = {
  4913.                     moduleBg: x.toHexString(),
  4914.                     moduleBgRgb: x.toRgbString().replace(/rgb\(|\)/g, ""),
  4915.                     primary: v.primary,
  4916.                     secondary: v.secondary,
  4917.                     primaryText: v.text.primary,
  4918.                     secondaryText: v.text.secondary,
  4919.                     tertiaryText: v.text.tertiary,
  4920.                     border: x.toHexString(),
  4921.                     borderHover: v.text.tertiary,
  4922.                     separator: v.primary,
  4923.                     shadows: true,
  4924.                     btnHoverBg: v.quaternary,
  4925.                     btnHoverBorder: v.quaternary,
  4926.                     isDark: !A
  4927.                 }
  4928.             } else {
  4929.                 if (A) {
  4930.                     z = {
  4931.                         moduleBg: x.toHexString(),
  4932.                         moduleBgRgb: x.toRgbString().replace(/rgb\(|\)/g, ""),
  4933.                         primary: y.darker[3],
  4934.                         secondary: y.darker[4],
  4935.                         primaryText: y.text[3],
  4936.                         secondaryText: y.text[1],
  4937.                         tertiaryText: y.text[2],
  4938.                         border: y.darker[1],
  4939.                         borderHover: y.darker[2],
  4940.                         shadows: false,
  4941.                         separator: y.darker[1],
  4942.                         btnHoverBg: y.darker[3],
  4943.                         btnHoverBorder: y.darker[3],
  4944.                         isDark: !A
  4945.                     }
  4946.                 } else {
  4947.                     z = {
  4948.                         moduleBg: x.toHexString(),
  4949.                         moduleBgRgb: x.toRgbString().replace(/rgb\(|\)/g, ""),
  4950.                         primary: x.toHexString(),
  4951.                         secondary: y.lighter[4],
  4952.                         primaryText: y.text[0],
  4953.                         secondaryText: y.text[3],
  4954.                         tertiaryText: x.toHexString(),
  4955.                         border: y.lighter[2],
  4956.                         borderHover: y.lighter[5],
  4957.                         shadows: false,
  4958.                         separator: y.lighter[2],
  4959.                         btnHoverBg: x.toHexString(),
  4960.                         btnHoverBorder: y.lighter[2],
  4961.                         isDark: !A
  4962.                     }
  4963.                 }
  4964.             }
  4965.             if (x.isValid()) {
  4966.                 this.$k21css = s(r.exec_template("theme_module", z))
  4967.             }
  4968.         },
  4969.         k20: function(x) {
  4970.             this._clearCSS("k20");
  4971.             if (!x || x == this.settings.getDefault("k20")) {
  4972.                 return
  4973.             }
  4974.             var v = g(x);
  4975.             if (v.isValid()) {
  4976.                 this.$k20css = s(".sitelinks__title a.result__a:visited { color:" + v.toHexString() + " !important;}")
  4977.             }
  4978.         },
  4979.         k19: function(x) {
  4980.             this._clearCSS("k19");
  4981.             if (!x || x == this.settings.getDefault("k19")) {
  4982.                 return
  4983.             }
  4984.             var v = g(x);
  4985.             if (v.isValid()) {
  4986.                 this.$k19css = s(".module__more-at, .module__more-at:hover, .module__official-url, .module__official-url:hover {color: " + v.toHexString() + ";}")
  4987.             }
  4988.         },
  4989.         k18: function(v) {
  4990.             this._clearCSS("k18");
  4991.             if (v !== this.settings.getDefault("k18")) {
  4992.                 this.$k18css = s(".result__check { display: block;}")
  4993.             }
  4994.         },
  4995.         k17: function(x) {
  4996.             this._clearCSS("k17");
  4997.             if (!x || x == this.settings.getDefault("k17")) {
  4998.                 return
  4999.             }
  5000.             var v = g(x);
  5001.             if (v.isValid()) {
  5002.                 this.$k17css = s(".result__url:hover {color: " + v.toHexString() + ";}")
  5003.             }
  5004.         },
  5005.         k16: function(x) {
  5006.             this._clearCSS("k16");
  5007.             if (!x || x == this.settings.getDefault("k16")) {
  5008.                 return
  5009.             }
  5010.             var v = g(x);
  5011.             if (v.isValid()) {
  5012.                 this.$k16css = s(".result__url:visited {color: " + v.toHexString() + ";}")
  5013.             }
  5014.         },
  5015.         k15: function(v) {
  5016.             this._clearCSS("k15");
  5017.             if (!v || v == this.settings.getDefault("k15")) {
  5018.                 return
  5019.             }
  5020.             this.$k15css = s(".result__title {font-weight: " + v + ";}")
  5021.         },
  5022.         k14: function(v) {
  5023.             this._clearCSS("k14");
  5024.             if (!v || v == this.settings.getDefault("k14")) {
  5025.                 return
  5026.             }
  5027.             this.$k14css = s(".result__title {font-size: " + v + ";}")
  5028.         },
  5029.         k13: function(v) {
  5030.             this._clearCSS("k13");
  5031.             if (v === "off") {
  5032.                 this.$k13css = s(".result__title b {font-weight: normal;}")
  5033.             }
  5034.         },
  5035.         k12: function(x) {
  5036.             this._clearCSS("k12");
  5037.             if (!x || x == this.settings.getDefault("k12")) {
  5038.                 return
  5039.             }
  5040.             var v = g(x);
  5041.             if (v.isValid()) {
  5042.                 this.$k12css = s(".badge--ad {background-color: " + v.toHexString() + ";}")
  5043.             }
  5044.         },
  5045.         k11: function(x) {
  5046.             this._clearCSS("k11");
  5047.             if (!x || x == this.settings.getDefault("k11")) {
  5048.                 return
  5049.             }
  5050.             var v = g(x);
  5051.             if (v.isValid()) {
  5052.                 this.$k11css = s(".msg--spelling :link,.msg--spelling :visited,.msg--spelling a:hover,.msg__clear,.msg__clear:hover,.msg__all,.msg__all:visited {color: " + v.toHexString() + " !important;}")
  5053.             }
  5054.         },
  5055.         k10: function(x) {
  5056.             this._clearCSS("k10");
  5057.             if (!x || x == this.settings.getDefault("k10")) {
  5058.                 return
  5059.             }
  5060.             var v = g(x);
  5061.             if (v.isValid()) {
  5062.                 this.$k10css = s(".highlight .result__a,.result__a:hover,.result__a:visited:hover {color: " + v.toHexString() + " !important;}")
  5063.             }
  5064.         },
  5065.         kf: function(v) {
  5066.             if (v && v === "-1") {
  5067.                 $(".result__icon").addClass("is-hidden")
  5068.             } else {
  5069.                 $(".result__icon").removeClass("is-hidden");
  5070.                 r.ImageLoader.loadMore()
  5071.             }
  5072.         },
  5073.         kai: function(v) {
  5074.             if (!v || v != this.settings.getDefault("kai")) {
  5075.                 $(".result--url-above-snippet").removeClass("result--url-above-snippet");
  5076.                 $(".js-result-snippet").each(function(y, z) {
  5077.                     var x = $(z),
  5078.                         A = x.parent().find(".result__extras");
  5079.                     A.before(x)
  5080.                 })
  5081.             } else {
  5082.                 $(".result").addClass("result--url-above-snippet");
  5083.                 $(".js-result-snippet").each(function(y, z) {
  5084.                     var x = $(z),
  5085.                         A = x.parent().find(".result__extras");
  5086.                     A.after(x)
  5087.                 })
  5088.             }
  5089.         },
  5090.         _clearCSS: function(v) {
  5091.             var y = "$" + v + "css",
  5092.                 x = this[y];
  5093.             x && x.remove();
  5094.             delete this[y]
  5095.         }
  5096.     };
  5097.     var s = function(v) {
  5098.             return $("<div />", {
  5099.                 html: "&shy;<style>" + v + "</style>"
  5100.             }).children().appendTo("body")
  5101.         },
  5102.         k = function(v) {
  5103.             return (v && v == "1") ? "addClass" : "removeClass"
  5104.         },
  5105.         n = function(x, v) {
  5106.             x = g(x);
  5107.             return g.lighten(x, v * (1 - x.toHsl().l)).toHexString()
  5108.         },
  5109.         c = function(x, v) {
  5110.             x = g(x);
  5111.             return g.darken(x, v * x.toHsl().l).toHexString()
  5112.         },
  5113.         m = function(v, x, B, A) {
  5114.             var z = [];
  5115.             for (var y = 1; y <= x; y++) {
  5116.                 z.push(A(v, B * y))
  5117.             }
  5118.             return z
  5119.         },
  5120.         f = function(y) {
  5121.             y = g(y);
  5122.             var E = y.toHsl().l > 0.5,
  5123.                 A = g.monochromatic(g.desaturate(y, 80), 20),
  5124.                 F = g.mostReadable(y, A),
  5125.                 B = g(F).toHsl().l > 0.5,
  5126.                 v = E ? 10 : 4,
  5127.                 D = E ? 4 : 10;
  5128.             if (E) {
  5129.                 D += D * y.toHsl().s
  5130.             }
  5131.             var x = m(F, 10, 5, B ? c : n),
  5132.                 C = m(y, 8, D, c),
  5133.                 z = m(y, 8, v, n);
  5134.             return {
  5135.                 root: y,
  5136.                 text: x,
  5137.                 lighter: z,
  5138.                 darker: C
  5139.             }
  5140.         },
  5141.         t = function(y, x) {
  5142.             var v = {};
  5143.             if (x) {
  5144.                 v = {
  5145.                     bg: x.primary,
  5146.                     border: x.secondary,
  5147.                     iconText: x.text.secondary,
  5148.                     buttonBg: x.quaternary,
  5149.                     inputText: x.text.primary,
  5150.                     iconHover: x.text.primary,
  5151.                     sepColor: x.text.tertiary
  5152.                 }
  5153.             } else {
  5154.                 v = {
  5155.                     bg: y.darker[1],
  5156.                     border: y.darker[2],
  5157.                     iconText: "rgba(255,255,255,0.35)",
  5158.                     buttonBg: y.darker[3],
  5159.                     inputText: y.text[0],
  5160.                     sepColor: y.darker[3]
  5161.                 }
  5162.             }
  5163.             return r.exec_template("theme_search_bar", v)
  5164.         },
  5165.         i = function(z, y) {
  5166.             var x = g(z.darker[2]).toRgb(),
  5167.                 v = {};
  5168.             if (y) {
  5169.                 v = {
  5170.                     headerBg: y.tertiary,
  5171.                     bg: y.primary,
  5172.                     border: y.secondary,
  5173.                     lightText: y.text.primary,
  5174.                     darkText: y.text.secondary,
  5175.                     selectedBg: y.secondary
  5176.                 }
  5177.             } else {
  5178.                 v = {
  5179.                     headerBg: z.darker[1],
  5180.                     bg: "rgb(" + x.r + "," + x.g + "," + x.b + ")",
  5181.                     border: z.darker[0],
  5182.                     lightText: z.text[1],
  5183.                     darkText: z.text[5],
  5184.                     selectedBg: z.lighter[3]
  5185.                 }
  5186.             }
  5187.             return r.exec_template("theme_autocomplete", v)
  5188.         },
  5189.         q = function(x, v) {
  5190.             return r.exec_template("theme_search_bar", {
  5191.                 bg: "#fff",
  5192.                 border: x.darker[2],
  5193.                 iconText: "rgba(0,0,0,0.35)",
  5194.                 buttonBg: x.darker[4],
  5195.                 inputText: x.text[1],
  5196.                 sepColor: x.darker[4]
  5197.             })
  5198.         }
  5199. }(DDG);
  5200. ! function(f) {
  5201.     var e = f.Models.Base,
  5202.         c = "survey-settings-",
  5203.         g = "p-",
  5204.         a = "r",
  5205.         i = "e";
  5206.     f.Models.SerpSurvey = function(n) {
  5207.         e.call(this, {});
  5208.         this.allocation = n.allocation == null ? 1 : n.allocation;
  5209.         this.opensearch = n.opensearch;
  5210.         var p = this._createKey(),
  5211.             j = null;
  5212.         try {
  5213.             this._storage = n.storage || window.localStorage;
  5214.             if (this._storage) {
  5215.                 for (var m = 0; m < this._storage.length; m++) {
  5216.                     var k = this._storage.key(m);
  5217.                     if (k && k.indexOf(c) > -1 && k !== p) {
  5218.                         this._storage.removeItem(k)
  5219.                     }
  5220.                 }
  5221.                 j = b(this._storage.getItem(p))
  5222.             }
  5223.         } catch (o) {}
  5224.         this.set("status", j)
  5225.     };
  5226.     f.Models.SerpSurvey.prototype = $.extend({}, e.prototype, {
  5227.         plan: function() {
  5228.             if (this.status && (this.status === i || this.status === a || this.status.indexOf(g) === 0)) {
  5229.                 return this.status.indexOf(g) === 0
  5230.             }
  5231.             var j = this._createKey();
  5232.             if (!j) {
  5233.                 return false
  5234.             }
  5235.             try {
  5236.                 if (this._storage) {
  5237.                     var k = Math.random() < this.allocation ? g + Date.now() : a;
  5238.                     this._storage.setItem(j, h(k));
  5239.                     this.set("status", k);
  5240.                     return k !== a
  5241.                 }
  5242.             } catch (m) {}
  5243.             return false
  5244.         },
  5245.         end: function() {
  5246.             var j = this._createKey();
  5247.             if (!j) {
  5248.                 return
  5249.             }
  5250.             try {
  5251.                 if (this._storage) {
  5252.                     this._storage.setItem(j, h(i));
  5253.                     this.set("status", i)
  5254.                 }
  5255.             } catch (k) {}
  5256.         },
  5257.         canShowSurvey: function() {
  5258.             return !!(this.status && this.status.indexOf(g) === 0)
  5259.         },
  5260.         getElapsedTimeSinceExposure: function() {
  5261.             if (this.status && this.status.indexOf(g) === 0) {
  5262.                 var j = parseInt(this.status.replace(new RegExp("^" + g), ""), 10);
  5263.                 return Date.now() - j
  5264.             }
  5265.         },
  5266.         _createKey: function() {
  5267.             var j = this.opensearch.getTrappedAtbParams();
  5268.             return j ? c + j.variant + j.atbVariant : ""
  5269.         }
  5270.     });
  5271.  
  5272.     function b(m) {
  5273.         if (!m) {
  5274.             return m
  5275.         }
  5276.         var j;
  5277.         try {
  5278.             j = JSON.parse(m)
  5279.         } catch (k) {}
  5280.         if (j) {
  5281.             return j.value
  5282.         }
  5283.     }
  5284.  
  5285.     function h(j) {
  5286.         return JSON.stringify({
  5287.             description: "This non-personal data is only stored on your device and is part of our anonymous experiment engine that helps us improve DuckDuckGo. It does not collect or share any personal information. Visit https://help.duckduckgo.com/privacy/atb/ for more info.",
  5288.             value: j
  5289.         })
  5290.     }
  5291. }(DDG);
  5292. ! function(a) {
  5293.     a.Pages.Base = function(b) {
  5294.         this.views = {};
  5295.         this.onboardingTest = {};
  5296.         a.keyboard = this.keyboard = new a.Models.Keyboard();
  5297.         document.onreadystatechange = this._onReadyStateChange.bind(this);
  5298.         a.ready(this.ready.bind(this))
  5299.     };
  5300.     a.Pages.Base.prototype = {
  5301.         ready: function() {
  5302.             $("head").append('<link title="DuckDuckGo" type="application/opensearchdescription+xml" rel="search" href="' + a.opensearch.getURL() + '" />');
  5303.             this._initializePage();
  5304.             if (a.device.isMobile) {
  5305.                 a.addClass("html", a.$html, "is-mobile")
  5306.             }
  5307.             if (a.device.isMobileDevice) {
  5308.                 a.addClass("html", a.$html, "is-mobile-device")
  5309.             } else {
  5310.                 a.addClass("html", a.$html, "is-not-mobile-device")
  5311.             }
  5312.             if (a.device.isLegacyAndroid) {
  5313.                 a.addClass("html", a.$html, "is-legacy-android")
  5314.             }
  5315.             if (a.device.isFirefoxFocus && a.device.isAndroid) {
  5316.                 a.addClass("html", a.$html, "is-firefox-focus")
  5317.             }
  5318.             this.isCppExp = false;
  5319.             this.isCppControl = false;
  5320.             if ((this.pageType === "home" || this.pageType === "serp") && a.opensearch.isExperiment("msh2exp", "b")) {
  5321.                 a.$html.addClass("is-mobile-header-exp")
  5322.             }
  5323.             a.settings.on("loaded-initial", this._onSettingsLoaded.bind(this));
  5324.             a.settings.loadFromCloud({
  5325.                 initial: true
  5326.             });
  5327.             a.device.on("resize", function() {
  5328.                 a.ImageLoader.loadMore()
  5329.             });
  5330.             a.device.on("scroll", function() {
  5331.                 a.ImageLoader.loadMore()
  5332.             });
  5333.             this.headerMenuOps = this.headerMenuOps || {};
  5334.             if (!this.headerMenuOps.disableSearchBar) {
  5335.                 this.initSearchBar()
  5336.             }
  5337.             if (!this.headerMenuOps.disableSideMenu) {
  5338.                 this.initSideMenu()
  5339.             }
  5340.             this.initAddToHomepageBanner();
  5341.             this.onboardingTest = a.Data.Onboarding[a.opensearch.atbVariant] || {};
  5342.             this._verifyMobileInstallation();
  5343.             this.isSafeDDG = w.safe_ddg;
  5344.             this.isCppmControl = (a.opensearch.variant === "x" && a.opensearch.atbVariant === "u");
  5345.             this.isCppm = (a.opensearch.variant === "x" && a.opensearch.atbVariant === "v");
  5346.             this.isCppmStateless = (a.opensearch.variant === "x" && a.opensearch.atbVariant === "z");
  5347.             this.isCppm4 = (a.opensearch.variant === "x" && a.opensearch.atbVariant === "m");
  5348.             this.isCppm5 = (a.opensearch.variant === "x" && a.opensearch.atbVariant === "n");
  5349.             this.mobileOnboarding = new a.Models.MobileOnboarding({
  5350.                 useLocalStorage: false
  5351.             })
  5352.         },
  5353.         initSearchBar: function() {
  5354.             this.searchbar = new a.Views.SearchBar({
  5355.                 el: ".js-search-form"
  5356.             });
  5357.             this.searchbar.on("focus", function() {
  5358.                 this.sideMenu && this.sideMenu.hide()
  5359.             }.bind(this))
  5360.         },
  5361.         initSideMenu: function() {
  5362.             this.sideMenu = new a.Views.SideMenu($.extend({
  5363.                 pageType: this.pageType,
  5364.                 showATB: this.canShowAddToBrowser(),
  5365.                 appendLinkTo: ".js-header-aside",
  5366.                 appendTo: ".js-site-wrapper"
  5367.             }, this.sideMenuOps || {}));
  5368.             this.sideMenu.on("opened", function() {
  5369.                 if (this.searchbar && this.searchbar.hasFocus) {
  5370.                     this._restoreSearchFocus = true;
  5371.                     this.searchbar.unfocus()
  5372.                 }
  5373.             }.bind(this));
  5374.             this.sideMenu.on("closed", function() {
  5375.                 if (this._restoreSearchFocus) {
  5376.                     this.searchbar.focus({
  5377.                         focusInput: true
  5378.                     });
  5379.                     delete this._restoreSearchFocus
  5380.                 }
  5381.             }.bind(this))
  5382.         },
  5383.         initAddToHomepageBanner: function() {
  5384.             if (!a.device.isAndroidChromeNoOpenSearch || !navigator.serviceWorker || a.addToBrowser.canAddToChromeMobile()) {
  5385.                 return
  5386.             }
  5387.             var b = a.tParam.fromDefaultSearch() || a.history.get("atb") || !a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY);
  5388.             navigator.serviceWorker.register("service-worker.js", {
  5389.                 scope: "./"
  5390.             });
  5391.             window.addEventListener("beforeinstallprompt", function(c) {
  5392.                 a.pixel.fire("aths", "i");
  5393.                 if (b || a.addToBrowser.canAddToChromeMobile()) {
  5394.                     c.preventDefault();
  5395.                     return false
  5396.                 }
  5397.                 $(".js-atb-banner-link").hide();
  5398.                 c.userChoice.then(function(f) {
  5399.                     var e = {};
  5400.                     if (b) {
  5401.                         e.r = 1
  5402.                     }
  5403.                     if (f.outcome === "dismissed") {
  5404.                         a.pixel.fire("aths", "d", e)
  5405.                     } else {
  5406.                         a.pixel.fire("aths", "c", e)
  5407.                     }
  5408.                 });
  5409.                 return true
  5410.             })
  5411.         },
  5412.         notify: function(b) {
  5413.             if (!this.notifications) {
  5414.                 this.notifications = new a.Views.Notification({
  5415.                     appendTo: "body"
  5416.                 })
  5417.             }
  5418.             this.notifications.flash(b)
  5419.         },
  5420.         isInstalled: function() {
  5421.             return (a.device.DDGisBrowserDefault() || a.extension.isInstalled() || a.device.isDDGApp || (a.tParam.fromDefaultSearch()) || !!a.history.get("atb") || a.device.isOnion)
  5422.         },
  5423.         canShowAddToBrowser: function() {
  5424.             if (this.isCppm) {
  5425.                 return (a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY) && !this.mobileOnboarding.hasCompletedAllSteps())
  5426.             }
  5427.             if (this.isCppExp) {
  5428.                 return (a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY) && a.addToBrowser.canShowBadgeAgain() && !a.onboarding.hasCompleted())
  5429.             }
  5430.             if (a.device.isDDGApp || (a.extension.isInstalled() && a.history.get("exti") !== 2)) {
  5431.                 return false
  5432.             }
  5433.             if (a.addToBrowser.canAddToChromeMobile() && a.tParam.get() === "crhs") {
  5434.                 return true
  5435.             }
  5436.             if (a.device.isMobileDevice && a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY) && !a.tParam.fromDefaultSearch() && !a.history.get("atb") && a.device.canAddToBrowser() && this.pageType !== "serp") {
  5437.                 return true
  5438.             }
  5439.             return (a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY) && a.addToBrowser.canShowBadgeAgain() && !a.device.DDGisBrowserDefault() && (!a.tParam.fromDefaultSearch()) && !a.history.get("atb") && !a.device.isOnion && a.device.canAddToBrowser() && a.settings.isDefault("ko") && !a.duckpan)
  5440.         },
  5441.         canShowAddToBrowserButton: function() {
  5442.             return (a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY) && !a.addToBrowser.canShowBadgeAgain() && !a.device.DDGisBrowserDefault() && !a.device.isDDGApp && (!a.extension.isInstalled() || a.history.get("exti") == 2) && (!a.tParam.fromDefaultSearch()) && !a.history.get("atb") && !a.device.isOnion && a.device.canAddToBrowser() && a.settings.isDefault("ko") && !a.duckpan)
  5443.         },
  5444.         canShowHomepageEducationInstallButton: function() {
  5445.             if (this.isCppExp && a.settings.isDefault(a.addToBrowser.BADGE_DISMISS_KEY) && !a.onboarding.hasCompleted()) {
  5446.                 return true
  5447.             }
  5448.             return (!a.device.DDGisBrowserDefault() && !a.device.isDDGApp && !a.extension.isInstalled() && (!a.tParam.fromDefaultSearch()) && !a.history.get("atb") && !a.device.isOnion && a.device.canAddToBrowser() && a.settings.isDefault("ko") && !a.duckpan)
  5449.         },
  5450.         canShowHomepageOnboardingEducation: function() {
  5451.             return a.onboardingEducation.canShow()
  5452.         },
  5453.         fireStat: function(b) {
  5454.             var c = {
  5455.                 b: a.device.pixelBrowserName,
  5456.                 atbi: this.canShowAddToBrowser(),
  5457.                 ei: this.canShowHomepageOnboardingEducation(),
  5458.                 i: this.isInstalled(),
  5459.                 d: a.device.pixelId,
  5460.                 l: w.locale,
  5461.                 p: a.device.pixelPlatformName,
  5462.                 atb: a.opensearch.version,
  5463.                 va: a.opensearch.variant,
  5464.                 atbva: a.opensearch.atbVariant
  5465.             };
  5466.             a.pixel.fire(b, c)
  5467.         },
  5468.         _onSettingsLoaded: function() {
  5469.             var b = a.settings.toQueryString({
  5470.                 onlyURLParams: true
  5471.             });
  5472.             if (b) {
  5473.                 kurl += "&" + b
  5474.             }
  5475.             if (this.liveUpdater) {
  5476.                 a.settings.updater = new a.Models.Settings.LiveUpdater({
  5477.                     isHomePage: this.pageType === "home",
  5478.                     settings: a.settings
  5479.                 });
  5480.                 a.settings.updater.updateAll();
  5481.                 a.settings.on("change:kae", this.notify.bind(this, l("Theme Changed")))
  5482.             }
  5483.         },
  5484.         _checkForForceReload: function() {
  5485.             if (a.querystringParam("rld") === "1") {
  5486.                 a.history.clear("rld", function() {
  5487.                     window.location.reload()
  5488.                 })
  5489.             }
  5490.         },
  5491.         _verifyMobileInstallation: function() {
  5492.             if (!a.device.isMobileDevice || this.pageType !== "serp") {
  5493.                 return
  5494.             }
  5495.             var j = a.settings.get(a.settings.MOBILE_INSTRUCTIONS_KEY);
  5496.             if (a.tParam.fromDefaultSearch() && !a.settings.isDefault(a.settings.MOBILE_INSTRUCTIONS_KEY)) {
  5497.                 var g = j.match(/v\d*-\d/);
  5498.                 var k, h, i, c;
  5499.                 if (g) {
  5500.                     k = g[0];
  5501.                     j = j.replace(k, "");
  5502.                     c = j.substr(3);
  5503.                     h = j.charAt(0);
  5504.                     i = j.charAt(1)
  5505.                 }
  5506.                 var m = a.settings.isDefault(a.addToBrowser.BADGE_RECURRING_KEY) ? 0 : 1;
  5507.                 var b;
  5508.                 if (h === a.opensearch.variant && i === a.opensearch.atbVariant) {
  5509.                     var f = a.opensearch.findRunnableAtbExperimentByVariantAndAtbVariant(h, i);
  5510.                     if (f) {
  5511.                         b = true
  5512.                     }
  5513.                 }
  5514.                 var e;
  5515.                 if (k) {
  5516.                     e = a.opensearch.getDaysSinceCohort(k)
  5517.                 }
  5518.                 a.pixel.fire("exti", a.device.pixelBrowserName, a.opensearch.version, {
  5519.                     va: h,
  5520.                     atbva: i,
  5521.                     cva: a.opensearch.variant,
  5522.                     catbva: a.opensearch.atbVariant,
  5523.                     r: b ? "1" : "0",
  5524.                     d: e,
  5525.                     l: window.locale,
  5526.                     cp: c,
  5527.                     exte: 0,
  5528.                     p: a.device.pixelPlatformName,
  5529.                     ak: a.settings.get(a.addToBrowser.BADGE_DISMISS_KEY),
  5530.                     ax: m,
  5531.                     kae: a.settings.get("kae")
  5532.                 });
  5533.                 a.settings.clear(a.settings.MOBILE_INSTRUCTIONS_KEY)
  5534.             }
  5535.         },
  5536.         _initializePage: function() {
  5537.             var c, b = this.pageType === "serp";
  5538.             if (b && a.device.isIE) {
  5539.                 setTimeout("d.x.reset()", 50)
  5540.             }
  5541.             if (w.postMessage) {
  5542.                 c = d.createElement("iframe");
  5543.                 c.id = "iframe_hidden";
  5544.                 c.src = "/post2.html";
  5545.                 d.body.appendChild(c)
  5546.             }
  5547.             if (b) {
  5548.                 if (nir) {
  5549.                     nir("v")
  5550.                 }
  5551.                 setTimeout("nis()", 250);
  5552.                 if (!a.device.isMobileDevice) {
  5553.                     $("#web_content_wrapper").on("mousemove", nkf);
  5554.                     $(document).on("mouseup", ncg);
  5555.                     $(document).on("keydown", nckd);
  5556.                     $(document).on("keyup", ncku)
  5557.                 }
  5558.             }
  5559.             $(document).on("mousedown", ncf)
  5560.         },
  5561.         _hasCachedResources: function(b) {
  5562.             if (typeof b === "undefined" || b.length === 0) {
  5563.                 return false
  5564.             }
  5565.             var h, c, g = 0,
  5566.                 k = /proximanova/i,
  5567.                 j = /\/(arrow|logo_homepage\.normal\.v\d+).svg$/i,
  5568.                 f = /((l|u|d)\d+|libs|utils|base)\.js|((s|o)\d+|home|serp|style)\.css/i;
  5569.             for (var e = 0; e < b.length; e++) {
  5570.                 h = b[e];
  5571.                 c = h.name;
  5572.                 if (k.test(c) || j.test(c) || f.test(c)) {
  5573.                     if ("transferSize" in h && h.transferSize === 0) {
  5574.                         g += 1;
  5575.                         break
  5576.                     } else {
  5577.                         if ("duration" in h && h.duration < 20) {
  5578.                             g += 1;
  5579.                             break
  5580.                         }
  5581.                     }
  5582.                 }
  5583.             }
  5584.             return g > 0
  5585.         },
  5586.         _isBrowserReload: function(b) {
  5587.             return (performance.navigation.type === performance.navigation.TYPE_RELOAD)
  5588.         },
  5589.         _hasDefaultSettings: function(b) {
  5590.             var c = Object.keys(b);
  5591.             if (c.length === 0) {
  5592.                 return true
  5593.             } else {
  5594.                 if (c.length === 1 && b.hasOwnProperty("t")) {
  5595.                     return true
  5596.                 }
  5597.             }
  5598.             return false
  5599.         },
  5600.         _onReadyStateChange: function() {
  5601.             if (document.readyState === "complete") {
  5602.                 if (this.pageType === "home" || this.pageType === "serp") {
  5603.                     a.perf.reportNavigation(this.pageType)
  5604.                 }
  5605.             }
  5606.         }
  5607.     }
  5608. }(DDG);
  5609. ! function(b) {
  5610.     var a = b.Pages.Base;
  5611.     b.Pages.Static = function(c) {
  5612.         a.call(this, c);
  5613.         this.pixelClass = c && c.pixelClass || false
  5614.     };
  5615.     b.Pages.Static.prototype = $.extend({}, a.prototype, {
  5616.         pageType: "static",
  5617.         sideMenuOps: {
  5618.             hideThemes: true
  5619.         },
  5620.         headerMenuOps: {
  5621.             disableSearchBar: false,
  5622.             disableSideMenu: false
  5623.         },
  5624.         ready: function() {
  5625.             if (location.pathname === "/iframe") {
  5626.                 this.headerMenuOps.disableSearchBar = true;
  5627.                 this.headerMenuOps.disableSideMenu = true
  5628.             }
  5629.             if (b.device.isMobileDevice && b.device.isAndroid && b.device.isDDGApp && [-1, -2].includes(parseInt(b.settings.get("ko"), 10))) {
  5630.                 b.addClass("html", b.$html, "set-header--hidden")
  5631.             }
  5632.             a.prototype.ready.call(this);
  5633.             $(".js-show-header").click(function(c) {
  5634.                 c.preventDefault();
  5635.                 c.stopPropagation();
  5636.                 this.searchbar.focus({
  5637.                     focusInput: true
  5638.                 })
  5639.             }.bind(this));
  5640.             this.$anchors = $(".js-anchor");
  5641.             this.$anchorLinks = $(".js-anchor-link");
  5642.             this.$anchorLinks.on("click", this._onAnchorLinkClick.bind(this));
  5643.             this.$popouts = $(".js-popout");
  5644.             this.$popovers = $(".js-popover");
  5645.             this._createPopouts();
  5646.             this._createPopovers();
  5647.             $("img").bind("contextmenu", function(c) {
  5648.                 return false
  5649.             });
  5650.             if (this.pixelClass) {
  5651.                 this.$links = $(".js-static-" + this.pixelClass);
  5652.                 this.$links.on("click", this._onLinkClick.bind(this, 0))
  5653.             }
  5654.             this.$footerLinks = $(".js-static-foot-link");
  5655.             if (this.$footerLinks.length) {
  5656.                 this.$footerLinks.on("click", this._onLinkClick.bind(this, 1))
  5657.             }
  5658.         },
  5659.         addTo: function(e, c) {
  5660.             var f = DDG.Utils.AddTo.getData();
  5661.             if (f[e]) {
  5662.                 new b.Views.AddTo({
  5663.                     appendTo: c,
  5664.                     data: f[e]
  5665.                 })
  5666.             }
  5667.         },
  5668.         _onAnchorLinkClick: function(j) {
  5669.             j.preventDefault();
  5670.             var h = j.currentTarget.hash.substr(1),
  5671.                 f = this.$anchors,
  5672.                 c = "";
  5673.             for (var g = 0; f.length > g; g++) {
  5674.                 if (f[g].name === h || f[g].id === h) {
  5675.                     c = $(f[g]);
  5676.                     break
  5677.                 }
  5678.             }
  5679.             if (c) {
  5680.                 b.device.scrollTop(c.offset().top, 500)
  5681.             }
  5682.         },
  5683.         _createPopouts: function() {
  5684.             this.views.popouts = [];
  5685.             var g, c, e, f = 0;
  5686.             for (; this.$popouts.length > f; f++) {
  5687.                 g = $(this.$popouts[f]);
  5688.                 c = g.find(".js-popout-link");
  5689.                 e = new b.Views.Modal({
  5690.                     $el: g.find(".js-popout-main")
  5691.                 });
  5692.                 c.click(e.toggle.bind(e));
  5693.                 this.views.popouts.push(e)
  5694.             }
  5695.         },
  5696.         _createPopovers: function() {
  5697.             this.views.popovers = [];
  5698.             var f, c, g, e = 0;
  5699.             for (; this.$popovers.length > e; e++) {
  5700.                 f = $(this.$popovers[e]);
  5701.                 c = $(f.attr("data-js-selector"));
  5702.                 g = new b.Views.Modal({
  5703.                     $el: f
  5704.                 });
  5705.                 c.click(g.toggle.bind(g));
  5706.                 this.views.popovers.push(g)
  5707.             }
  5708.         },
  5709.         _onLinkClick: function(g, h) {
  5710.             var c = $(h.currentTarget),
  5711.                 f = b.pixel.sanitizeUrl(c.attr("href"));
  5712.             b.pixel.fire("splc", this.pageType, f, {
  5713.                 ft: g
  5714.             })
  5715.         }
  5716.     })
  5717. }(DDG);
  5718. ! function(c) {
  5719.     var b = c.Pages.Base,
  5720.         a = 1366,
  5721.         e = 220;
  5722.     c.Pages.Home = function(f) {
  5723.         this._checkForForceReload();
  5724.         b.call(this, f);
  5725.         window.onpageshow = this._onPageShow.bind(this);
  5726.         this.canShowMobileButton = c.addToBrowser.canShowMobileButton()
  5727.     };
  5728.     c.Pages.Home.prototype = $.extend({}, b.prototype, {
  5729.         pageType: "home",
  5730.         liveUpdater: true,
  5731.         sideMenuOps: {
  5732.             twitterLink: true,
  5733.             hideSettings: true
  5734.         },
  5735.         ready: function() {
  5736.             var f = w.location.host.toLowerCase() === "start.duckduckgo.com",
  5737.                 g = w.location.hash === "#1";
  5738.             this.isStart = f;
  5739.             this.scrollToOnboarding = g;
  5740.             this.searchbarFocusedIpad = false;
  5741.             this.showOnboardingArrow = true;
  5742.             if (!f && !(c.extension.isInstalled() || c.device.isDDGApp)) {
  5743.                 c.tParam.setFromHomepage(c.opensearch.allocateAtbVariant())
  5744.             }
  5745.             c.$win.scrollTop(0);
  5746.             b.prototype.ready.call(this);
  5747.             if (f) {
  5748.                 this.searchbar.$el.attr("action", "//duckduckgo.com/");
  5749.                 c.settings.set("kak", "-1");
  5750.                 c.settings.set("kal", "-1");
  5751.                 c.settings.set("kao", "-1");
  5752.                 c.settings.set("kaq", "-1")
  5753.             }
  5754.             this._renderBadgeContent();
  5755.             this._initHeaderLinks();
  5756.             this.canShowFaq = (this.canShowAddToBrowser() && c.device.isDesktop && c.device.isEnglish);
  5757.             if (Modernizr.touch && c.device.isIDevice) {
  5758.                 if (c.device.isIPad && c.getProperty(window, "screen.height") === a) {
  5759.                     var h;
  5760.                     this.searchbar.$el.on("focusin", function() {
  5761.                         this.searchbarFocusedIpad = true;
  5762.                         if (Math.abs(window.orientation) === 90) {
  5763.                             h = c.device.scrollTop();
  5764.                             c.device.scrollTop(e)
  5765.                         }
  5766.                     }.bind(this));
  5767.                     this.searchbar.$el.on("focusout", function() {
  5768.                         if (Math.abs(window.orientation) === 90) {
  5769.                             c.device.scrollTop(h)
  5770.                         }
  5771.                         this.searchbarFocusedIpad = false
  5772.                     }.bind(this))
  5773.                 }
  5774.                 window.onorientationchange = function() {
  5775.                     if (this.searchbarFocusedIpad && Math.abs(window.orientation) === 90) {
  5776.                         setTimeout(function() {
  5777.                             c.device.scrollTop(e)
  5778.                         }, 500)
  5779.                     } else {
  5780.                         c.$win.scrollTop(0)
  5781.                     }
  5782.                 }.bind(this)
  5783.             }
  5784.             this.views.tagline = new DDG.Views.HomepageTagline({
  5785.                 appendTo: ".js-tag-home"
  5786.             });
  5787.             this.views.onboardingEducation = new c.Views.OnboardingEducation({
  5788.                 appendTo: ".site-wrapper--home",
  5789.                 isCppExp: this.isCppExp,
  5790.                 isCppControl: this.isCppControl,
  5791.                 pageView: this,
  5792.                 preventAnimation: this.canShowFaq,
  5793.                 model: c.onboardingEducation,
  5794.                 extraClass: this.canShowFaq ? "onboarding-ed--faq" : "",
  5795.                 doRenderTeaserArrow: this.showOnboardingArrow
  5796.             });
  5797.             if (this.canShowHomepageEducationInstallButton()) {
  5798.                 this._addOnboardingEducationButtons()
  5799.             }
  5800.             if (this.canShowFaq) {
  5801.                 this.views.faq = new c.Views.Faq({
  5802.                     appendTo: ".site-wrapper--home",
  5803.                     stats: {
  5804.                         atbi: this.canShowAddToBrowser(),
  5805.                         ei: this.canShowHomepageOnboardingEducation(),
  5806.                         i: this.isInstalled()
  5807.                     }
  5808.                 });
  5809.                 this.views.atbFaq = this._createButton("f", {
  5810.                     appendTo: ".site-wrapper--home",
  5811.                     buttonClass: "btn--primary atb-button--faq",
  5812.                     addImpressionPixel: true,
  5813.                     onlyFireImpressionPixelIfIntoView: true
  5814.                 })
  5815.             }
  5816.             DDG.$html.find(".content--home").css("visibility", "visible");
  5817.             if (!c.device.isMobileDevice) {
  5818.                 this.searchbar.focus({
  5819.                     focusInput: true
  5820.                 })
  5821.             }
  5822.             this.fireStat("hi")
  5823.         },
  5824.         _initHeaderLinks: function() {
  5825.             this.views.headerLinks = new c.Views.HeaderLinks({
  5826.                 appendTo: ".js-header-aside"
  5827.             })
  5828.         },
  5829.         _createButton: function(g, f) {
  5830.             f = f || {};
  5831.             return new c.Views[c.addToBrowser.viewType]({
  5832.                 isCppExp: this.isCppExp,
  5833.                 isCppControl: this.isCppControl,
  5834.                 impressionPixel: f.addImpressionPixel ? "atb" + g + "i" : null,
  5835.                 clickPixel: "atb" + g + "c",
  5836.                 xPixel: "atbbx",
  5837.                 template: "add_to_browser_badge_button",
  5838.                 buttonClass: (f.buttonClass || "onboarding-ed__button-small") + (this.isCppExp ? " js-cta-state-cpp" : ""),
  5839.                 appendTo: f.appendTo || (".js-onboarding-ed-button-small-" + g),
  5840.                 isCppm: this.isCppm,
  5841.                 isCppm4: this.isCppm4,
  5842.                 isCppm5: this.isCppm5,
  5843.                 isCppmControl: this.isCppmControl,
  5844.                 isCppmStateless: this.isCppmStateless,
  5845.                 mobileOnboarding: this.mobileOnboarding,
  5846.                 onStartSearch: this._handleStartSearch.bind(this),
  5847.                 onlyFireImpressionPixelIfIntoView: f.onlyFireImpressionPixelIfIntoView
  5848.             })
  5849.         },
  5850.         _addOnboardingEducationButtons: function() {
  5851.             this.views.atb_button = new c.Views[c.addToBrowser.viewType]({
  5852.                 isCppExp: this.isCppExp,
  5853.                 isCppControl: this.isCppControl,
  5854.                 clickPixel: "atbbc",
  5855.                 xPixel: "atbbx",
  5856.                 template: "add_to_browser_badge_button",
  5857.                 buttonClass: "onboarding-ed__button" + (this.isCppExp ? " js-cta-state-cpp" : ""),
  5858.                 appendTo: ".js-onboarding-ed-button",
  5859.                 isCppm: this.isCppm,
  5860.                 isCppm4: this.isCppm4,
  5861.                 isCppm5: this.isCppm5,
  5862.                 isCppmControl: this.isCppmControl,
  5863.                 isCppmStateless: this.isCppmStateless,
  5864.                 mobileOnboarding: this.mobileOnboarding,
  5865.                 onStartSearch: this._handleStartSearch.bind(this)
  5866.             });
  5867.             this.views.atb_button_1 = this._createButton(1);
  5868.             this.views.atb_button_2 = this._createButton(2);
  5869.             this.views.atb_button_3 = this._createButton(3)
  5870.         },
  5871.         _onPageShow: function(f) {
  5872.             if (f && f.persisted) {
  5873.                 this._checkForForceReload()
  5874.             }
  5875.         },
  5876.         _renderBadgeContent: function() {
  5877.             if ((!this.scrollToOnboarding && this.canShowAddToBrowser())) {
  5878.                 var i = !c.device.isMobileDevice,
  5879.                     h = $(".js-foot-home"),
  5880.                     f = {
  5881.                         impressionPixel: this.canShowMobileButton ? "atbbi" : "atbhi",
  5882.                         clickPixel: this.canShowMobileButton ? "atb0c" : "atbhc",
  5883.                         xPixel: "atbhx",
  5884.                         topRight: i,
  5885.                         fadeIn: i,
  5886.                         appendTo: i ? ".js-site-wrapper" : h,
  5887.                         hideOnClick: true,
  5888.                         isCppm: this.isCppm,
  5889.                         isCppm4: this.isCppm4,
  5890.                         isCppm5: this.isCppm5,
  5891.                         isCppmStateless: this.isCppmStateless,
  5892.                         isCppmControl: this.isCppmControl,
  5893.                         mobileOnboarding: this.mobileOnboarding,
  5894.                         onStartSearch: this._handleStartSearch.bind(this),
  5895.                         displayableBannerHtmlClass: "displayable-atb-banner"
  5896.                     };
  5897.                 if (c.device.isDesktop) {
  5898.                     this.showOnboardingArrow = false;
  5899.                     i = false;
  5900.                     var j = "add_to_browser_fullbleed_billboard_v2",
  5901.                         g = "is-atb-fullbleed";
  5902.                     if (c.device.isIE) {
  5903.                         f.hideCurve = true
  5904.                     }
  5905.                     var k = c.device.isFirefox ? c.extension.reviewsUrl : c.extension.url + "/reviews";
  5906.                     $("#search_form_input_homepage").attr("placeholder", lp("search input box", "Search the web without being tracked"));
  5907.                     if (this.isCppExp || this.isCppControl) {
  5908.                         f.isCppExp = this.isCppExp;
  5909.                         f.isCppControl = this.isCppControl;
  5910.                         if (this.isCppExp) {
  5911.                             f.onOnboardingDone = function() {
  5912.                                 $("#search_form_input_homepage").removeAttr("placeholder");
  5913.                                 if (this.searchbar) {
  5914.                                     this.searchbar.focus({
  5915.                                         focusInput: true
  5916.                                     })
  5917.                                 }
  5918.                             }.bind(this)
  5919.                         }
  5920.                     }
  5921.                     f = $.extend({}, f, {
  5922.                         topRight: false,
  5923.                         hideOnClick: false,
  5924.                         fadeIn: false,
  5925.                         button: ".js-badge-link-button",
  5926.                         appendTo: ".content--home",
  5927.                         template: j,
  5928.                         htmlClass: g,
  5929.                         canInstall: c.extension.canInstall(),
  5930.                         extRating: c.device.isFirefox ? 4.5 : 4.4,
  5931.                         halfStar: c.device.isFirefox,
  5932.                         reviewsUrl: k,
  5933.                         shortLocale: window.locale.split("_")[0],
  5934.                         searchbar: this.searchbar
  5935.                     })
  5936.                 }
  5937.                 this.views.badge = new c.Views[c.addToBrowser.viewType](f);
  5938.                 if (i) {
  5939.                     this.searchbar.on("typed", function() {
  5940.                         if (this.views.badge.$el.is(":visible")) {
  5941.                             c.pixel.fire("atbht", c.device.pixelBrowserName, c.opensearch.version, {
  5942.                                 va: c.opensearch.variant,
  5943.                                 atbva: c.opensearch.atbVariant,
  5944.                                 l: w.locale,
  5945.                                 p: c.device.pixelPlatformName
  5946.                             })
  5947.                         }
  5948.                         this.views.badge && this.views.badge.hide()
  5949.                     }.bind(this))
  5950.                 }
  5951.                 if (c.addToBrowser.canShowMobileBanner()) {
  5952.                     this.searchbar.$el.on("focusin", function() {
  5953.                         this.views.badge && this.views.badge.hide()
  5954.                     }.bind(this));
  5955.                     this.searchbar.$el.on("focusout", function() {
  5956.                         if (!(this.isCppm || this.isCppm4 || this.isCppm5 || this.isCppmStateless) || ((this.isCppm || this.isCppm4 || this.isCppm5 || this.isCppmStateless) && this.canShowAddToBrowser())) {
  5957.                             this.views.badge && this.views.badge.show(150)
  5958.                         }
  5959.                     }.bind(this))
  5960.                 }
  5961.             } else {
  5962.                 if (c.newsletter.shouldShowBadge()) {
  5963.                     this.views.newsletter = new c.Views.SubscribeToNewsletterBadge({
  5964.                         appendTo: ".js-site-wrapper"
  5965.                     });
  5966.                     c.pixel.fire("nli", c.newsletter.group, "home");
  5967.                     this.views.newsletter.show();
  5968.                     this.searchbar.on("typed", function() {
  5969.                         this.views.newsletter && this.views.newsletter.hide()
  5970.                     }.bind(this))
  5971.                 } else {
  5972.                     if (c.survey.shouldShowBadge()) {
  5973.                         this.views.survey = new c.Views.SurveyBadge({
  5974.                             appendTo: ".js-site-wrapper"
  5975.                         });
  5976.                         this.views.survey.show();
  5977.                         this.searchbar.on("typed", function() {
  5978.                             this.views.survey && this.views.survey.hide()
  5979.                         }.bind(this))
  5980.                     }
  5981.                 }
  5982.             }
  5983.         },
  5984.         _handleStartSearch: function() {
  5985.             if (this.isCppm || this.isCppm4 || this.isCppm5 || this.isCppmStateless) {
  5986.                 this.searchbar.focus({
  5987.                     focusInput: true
  5988.                 })
  5989.             }
  5990.         },
  5991.         addOnboarding: function() {
  5992.             if (!this.views.onboardingEducation.$el || this.views.onboardingEducation.model.isDismissed) {
  5993.                 this.views.onboardingEducation.model.isDismissed = false;
  5994.                 this.views.onboardingEducation = new c.Views.OnboardingEducation({
  5995.                     appendTo: ".site-wrapper--home",
  5996.                     isCppExp: this.isCppExp,
  5997.                     pageView: this,
  5998.                     learnMore: true,
  5999.                     model: c.onboardingEducation
  6000.                 });
  6001.                 if (this.canShowHomepageEducationInstallButton()) {
  6002.                     this._addOnboardingEducationButtons()
  6003.                 }
  6004.             }
  6005.             this.views.onboardingEducation.currentSlide = 1;
  6006.             this.views.onboardingEducation._snapToSlideScroll()
  6007.         }
  6008.     })
  6009. }(DDG);
  6010. DDG.assets_loaded = [];
  6011. DDG.templates = {};
  6012. DDG.first_result = "r1-0";
  6013. DDG.is_header_fixed = true;
  6014. DDG.first_source = false;
  6015. DDG.last_selection = "";
  6016. DDG.animation_speed = 300;
  6017. DDG.isJSURL = function(a) {
  6018.     return !a || a === "javascript:;" || a === "#"
  6019. };
  6020. DDG.detect_intent_link = function(a) {
  6021.     var b = 0;
  6022.     if (DDG.device.isIDevice && a.hostname == "itunes.apple.com") {
  6023.         b = 1
  6024.     } else {
  6025.         if (DDG.device.isAndroid && a.hostname == "play.google.com") {
  6026.             b = 1
  6027.         }
  6028.     }
  6029.     return b
  6030. };
  6031. DDG.get_http_redirect = function(e, f) {
  6032.     var b = e.href;
  6033.     if (DDG.settings.useRedirect() && e.href.indexOf("/l/?") == -1 && !DDG.isInternalURL(e.href) && !DDG.detect_intent_link(e)) {
  6034.         var c = b.match(/^https/) || DDG.device.isOnion,
  6035.             a = c ? "" : "http://r.duckduckgo.com";
  6036.         b = a + "/l/?kh=-1&uddg=" + encodeURIComponent(e.href);
  6037.         if (!(DDG.device.isEdge && f)) {
  6038.             nua("nul", e, 500)
  6039.         }
  6040.     }
  6041.     return b
  6042. };
  6043. DDG.get_query_encoded = function() {
  6044.     return rq
  6045. };
  6046. DDG.get_query = function() {
  6047.     return decodeURIComponentSafe(rq)
  6048. };
  6049. DDG.get_is_safe_search = function() {
  6050.     return DDG.settings.safeSearch.isStrict()
  6051. };
  6052. DDG.stem = function(a) {
  6053.     return a.replace(/(?:s)$/, "")
  6054. };
  6055. DDG.get_asset_path = function(c, b) {
  6056.     if (Spice && Spice.sharedir_map && Spice.sharedir_map[c]) {
  6057.         return "/share/" + Spice.sharedir_map[c].path + "/" + b
  6058.     }
  6059.     var a = window["spice_" + c + "_version"] || spice_version;
  6060.     return "/share/spice/" + c + "/" + a + "/" + b
  6061. };
  6062. DDG.get_now = function() {
  6063.     var a = new Date();
  6064.     return a.getTime()
  6065. };
  6066. DDG.$win = $(window);
  6067. DDG.$doc = $(document);
  6068. DDG.$html = $("html");
  6069. DDG._$cache = {};
  6070. DDG.$ = function(a) {
  6071.     return DDG._$cache[a.toString()] || (DDG._$cache[a.toString()] = $(a))
  6072. };
  6073. DDG._$classCache = {};
  6074. DDG.addClass = function(c, b, a) {
  6075.     DDG._$classCache[c + a] = true;
  6076.     b.addClass(a)
  6077. };
  6078. DDG.removeClass = function(c, b, a) {
  6079.     delete DDG._$classCache[c + a];
  6080.     b.removeClass(a)
  6081. };
  6082. DDG.hasClass = function(b, a) {
  6083.     return DDG._$classCache[b + a]
  6084. };
  6085. DDG.toggleClass = function(c, b, a) {
  6086.     if (DDG.hasClass(c, a)) {
  6087.         DDG.removeClass(c, b, a)
  6088.     } else {
  6089.         DDG.addClass(c, b, a)
  6090.     }
  6091. };
  6092. DDG.get_header_height = function() {
  6093.     return typeof DDG._header_height !== "undefined" ? DDG._header_height : (DDG._header_height = DDG.$("#header_wrapper").outerHeight())
  6094. };
  6095. DDG.add_sitelinks = function(j, k, f, a) {
  6096.     var b = 0;
  6097.     if (f && f[k] && f[k]["l"]) {
  6098.         f[k]["l"].forEach(function(q, n, m) {
  6099.             var r = n % 2 === 0;
  6100.             var i = n === 0;
  6101.             var p = n === m.length - 1;
  6102.             var o = (p && r && m.length > 1);
  6103.             q.id = "r1-" + (n + 1);
  6104.             q.nextRow = (r && !i && !p) || (o);
  6105.             q.domainName = a;
  6106.             q.idx = n;
  6107.             if (DDG.device.isMobile) {
  6108.                 f[k]["l"][n].snippet = null
  6109.             }
  6110.             if (f[k]["l"][n].snippet) {
  6111.                 b += 1
  6112.             }
  6113.         });
  6114.         if (!b && !DDG.device.isMobile) {
  6115.             return
  6116.         }
  6117.         var h = DDG.$exec_template("sitelinks", {
  6118.             links: f[k]["l"],
  6119.             isDesktop: !DDG.device.isMobile,
  6120.             newWindow: DDG.settings && !DDG.settings.isDefault("kn")
  6121.         });
  6122.         if (DDG.device.isMobile) {
  6123.             if (DDG.settings.isDefault("kai")) {
  6124.                 $(j).find(".js-result-snippet").after(h[0])
  6125.             } else {
  6126.                 $(j).find(".js-result-extras").after(h[0])
  6127.             }
  6128.         } else {
  6129.             $(j).after(h[0])
  6130.         }
  6131.         var g = function(i) {
  6132.             organicClick(i.currentTarget, i);
  6133.             DDG.backData.set("sl-" + $(this).attr("data-idx"), {});
  6134.             return nrl(i, i.currentTarget)
  6135.         };
  6136.         var e = $(h).find(".result__sitelink-title");
  6137.         for (var c = 0; c < e.length; c++) {
  6138.             e[c].onclick = g
  6139.         }
  6140.         DDG.search.set("hasSiteLinks", f[k]["l"].length)
  6141.     }
  6142. };
  6143. DDG.linkClickWillOpenInNewTab = function(a) {
  6144.     return (a.ctrlKey || a.shiftKey || a.metaKey || (a.button && a.button == 1) || !DDG.settings.isDefault("kn"))
  6145. };
  6146.  
  6147. function ncku(a) {
  6148.     if (!DDG.device.isIE && !a.metaKey) {
  6149.         fa = 0
  6150.     }
  6151. }
  6152.  
  6153. function nckd(a) {
  6154.     if (!DDG.device.isIE && a.metaKey) {
  6155.         fa = 1
  6156.     }
  6157. }
  6158.  
  6159. function ncf(h) {
  6160.     var i, a, f, j, k;
  6161.     fmx = h.clientX;
  6162.     fmy = h.clientY;
  6163.     if (fmx > viewport_width - 100 && fmy > parseInt(viewport_height) - 17) {
  6164.         if (!DDG.deep.isLastResult && nrb) {
  6165.             nrb()
  6166.         }
  6167.     }
  6168.     i = "";
  6169.     if (h.srcElement) {
  6170.         i = h.srcElement
  6171.     } else {
  6172.         i = h.target
  6173.     }
  6174.     var g = 0;
  6175.     var c = 0;
  6176.     if (DDG.device.isIE && (nkdc(h) || nkdm(h))) {
  6177.         g = 1
  6178.     }
  6179.     if (DDG.device.isEdge && (nkdc(h) || nkdm(h))) {
  6180.         c = 1
  6181.     }
  6182.     var b = h.which && h.which == 2;
  6183.     var m = h.which && h.which == 3;
  6184.     if (c || g || b || m) {
  6185.         fm = 1;
  6186.         while (i && i != window) {
  6187.             if (i.nodeName && i.nodeName == "A") {
  6188.                 if (DDG.isJSURL(i.href)) {
  6189.                     i.onclick();
  6190.                     return false
  6191.                 } else {
  6192.                     i.href = DDG.get_http_redirect(i, m)
  6193.                 }
  6194.                 fl = 1;
  6195.                 break
  6196.             }
  6197.             a = i.id;
  6198.             if (a && !m) {
  6199.                 if (a == "links") {
  6200.                     break
  6201.                 }
  6202.                 if (rc && a == rc.id) {
  6203.                     nrg(rc, 0, h, 1)
  6204.                 }
  6205.             }
  6206.             if (i.parentNode) {
  6207.                 i = i.parentNode
  6208.             } else {
  6209.                 break
  6210.             }
  6211.         }
  6212.         setTimeout(function() {
  6213.             fm = 0;
  6214.             fl = 0
  6215.         }, 1000)
  6216.     } else {
  6217.         fm = 0
  6218.     }
  6219. }
  6220.  
  6221. function ncg(a) {
  6222.     fmx = 0;
  6223.     fmy = 0;
  6224.     if (a.clientX > viewport_width - 25) {
  6225.         if (!DDG.deep.isLastResult && nrb) {
  6226.             nrb()
  6227.         }
  6228.     }
  6229. }
  6230.  
  6231. function nir(g) {
  6232.     var a, f, e, b, c;
  6233.     e = (g) ? ".highlight_" + g : ".result";
  6234.     a = $(e);
  6235.     a.each(function(h, j) {
  6236.         f = $(j);
  6237.         if (f.attr("data-nir")) {
  6238.             return
  6239.         }
  6240.         if (!is_mobile_device) {
  6241.             f.on("mouseenter", function(i) {
  6242.                 if (fk || fe) {
  6243.                     return false
  6244.                 }
  6245.                 if (rc && rc != this) {
  6246.                     nua("nro", rc)
  6247.                 }
  6248.                 nua("nrv", this);
  6249.                 rc = this
  6250.             });
  6251.             f.on("mouseleave", function(i) {
  6252.                 if (fk || fe) {
  6253.                     return false
  6254.                 }
  6255.                 nua("nro", this)
  6256.             })
  6257.         }
  6258.         if (g != "a") {
  6259.             f.click(function(i) {
  6260.                 if (this.id !== "did_you_mean") {
  6261.                     organicClick(this, i)
  6262.                 }
  6263.                 if (!fe) {
  6264.                     nrg(this, 0, i, 0)
  6265.                 }
  6266.             })
  6267.         }
  6268.         f.attr("data-nir", 1);
  6269.         if (!g || g == "a" || g == "v") {
  6270.             b = f.find("a");
  6271.             for (c = 0; c < b.length; c++) {
  6272.                 if (!b[c].onclick && !rs) {
  6273.                     b[c].onclick = function(i) {
  6274.                         this.blur();
  6275.                         return nrl(i || window.event, this)
  6276.                     }
  6277.                 } else {
  6278.                     if (!b[c].onclick) {
  6279.                         b[c].onclick = function() {
  6280.                             this.blur();
  6281.                             fl = 1
  6282.                         }
  6283.                     }
  6284.                 }
  6285.                 if (kn && kn === "1" && !DDG.isInternalURL(b[c].href)) {
  6286.                     b[c].target = "_blank"
  6287.                 }
  6288.             }
  6289.         }
  6290.     })
  6291. }
  6292.  
  6293. function nis() {
  6294.     var e, a;
  6295.     if (fq) {
  6296.         return false
  6297.     }
  6298.     var c = DDG.backData.getId(),
  6299.         b = DDG.backData.getData();
  6300.     if (c && c.match(/^r1/)) {
  6301.         DDG.deep.lastClickedId = c;
  6302.         DDG.deep.lastPage = b.page;
  6303.         nrm(5, c)
  6304.     } else {
  6305.         rc = d.getElementById(DDG.first_result)
  6306.     }
  6307.     fs = 0;
  6308.     if (!DDG.deep.isLastResult && nrb) {
  6309.         nrb()
  6310.     }
  6311. }
  6312.  
  6313. function nkda(a) {
  6314.     if (fq) {
  6315.         return false
  6316.     }
  6317.     if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
  6318.         return false
  6319.     }
  6320.     fk = 1;
  6321.     nrm(1)
  6322. }
  6323.  
  6324. function nkua(a) {
  6325.     if (fq) {
  6326.         return false
  6327.     }
  6328.     if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
  6329.         return false
  6330.     }
  6331.     fk = 1;
  6332.     nrm(2)
  6333. }
  6334.  
  6335. function nke(c) {
  6336.     if (fq) {
  6337.         return false
  6338.     }
  6339.     if (c && (nkdc(c) || nkdm(c) || nkds(c) || nkdt(c) || fa)) {
  6340.         return false
  6341.     }
  6342.     fk = 1;
  6343.     if (rc && (!kn || kn != "1")) {
  6344.         var b = new RegExp("rl([ei])(\\d+)-(\\d+)");
  6345.         var a = new RegExp("^r2-(\\d+)$");
  6346.         if (rc.id && b.test(rc.id)) {
  6347.             if (a.test(rc.nextSibling.firstChild.id)) {
  6348.                 rc = rc.nextSibling.firstChild
  6349.             } else {
  6350.                 rc = rc.nextSibling.firstChild.nextSibling
  6351.             }
  6352.             nrv(rc)
  6353.         } else {
  6354.             rc.click()
  6355.         }
  6356.     }
  6357. }
  6358.  
  6359. function nko(a) {
  6360.     if (fq) {
  6361.         return false
  6362.     }
  6363.     if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
  6364.         return false
  6365.     }
  6366.     fk = 1;
  6367.     if (rc) {
  6368.         rc.click()
  6369.     }
  6370. }
  6371.  
  6372. function nkt(a) {
  6373.     if (fq) {
  6374.         return false
  6375.     }
  6376.     if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
  6377.         return false
  6378.     }
  6379.     fk = 1;
  6380.     rc = "";
  6381.     DDG.device.scrollTop(0)
  6382. }
  6383.  
  6384. function nkd(b) {
  6385.     if (fq) {
  6386.         return false
  6387.     }
  6388.     if (b && (nkdc(b) || nkdm(b) || nkds(b) || nkdt(b) || fa)) {
  6389.         return false
  6390.     }
  6391.     fk = 1;
  6392.     var a = $(rc).find(".js-result-extras-site_search")[0];
  6393.     if (a) {
  6394.         nrg(rc, null, null, null, a)
  6395.     }
  6396. }
  6397.  
  6398. function nkn(a) {
  6399.     if (fq) {
  6400.         return false
  6401.     }
  6402.     if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
  6403.         return false
  6404.     }
  6405.     fk = 1;
  6406.     fn = 1;
  6407.     if (rc) {
  6408.         rc.click()
  6409.     }
  6410. }
  6411.  
  6412. function nkm(a) {
  6413.     if (fq) {
  6414.         return false
  6415.     }
  6416.     if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
  6417.         return false
  6418.     }
  6419.     fk = 1;
  6420.     if (d.getElementById(DDG.first_result)) {
  6421.         nrm(5, DDG.first_result)
  6422.     }
  6423. }
  6424.  
  6425. function nksb(a) {
  6426.     if (fq) {
  6427.         return false
  6428.     }
  6429.     if (a && (nkdc(a) || nkdm(a) || nkds(a) || nkdt(a) || fa)) {
  6430.         return false
  6431.     }
  6432.     fk = 1;
  6433.     if (!DDG.deep.isLastResult && nrb) {
  6434.         nrb()
  6435.     }
  6436. }
  6437.  
  6438. function nks(b) {
  6439.     if (fq) {
  6440.         return false
  6441.     }
  6442.     if (b && (nkdc(b) || nkdm(b) || nkds(b) || fa)) {
  6443.         return false
  6444.     }
  6445.     fk = 1;
  6446.     setTimeout("d.x.q.focus()", 10);
  6447.     setTimeout("d.x.q.select()", 15);
  6448.     var a = DDG.settings.get("ko");
  6449.     if (a == "s" || a == "d") {
  6450.         setTimeout(function() {
  6451.             DDG.device.scrollTop(0)
  6452.         }, 10)
  6453.     }
  6454. }
  6455.  
  6456. function nkdc(a) {
  6457.     var b;
  6458.     if (a) {
  6459.         b = a.ctrlKey
  6460.     }
  6461.     return b
  6462. }
  6463.  
  6464. function nkdm(a) {
  6465.     var b;
  6466.     if (!DDG.device.isIE && a) {
  6467.         b = a.metaKey
  6468.     }
  6469.     return b
  6470. }
  6471.  
  6472. function nkdt(a) {
  6473.     var b;
  6474.     if (a) {
  6475.         b = a.altKey
  6476.     }
  6477.     return b
  6478. }
  6479.  
  6480. function nkds(a) {
  6481.     var b;
  6482.     if (a) {
  6483.         b = a.shiftKey
  6484.     }
  6485.     return b
  6486. }
  6487.  
  6488. function nkf(c) {
  6489.     var b, a;
  6490.     if (DDG.device.isIE) {
  6491.         b = c.clientX + d.body.scrollLeft;
  6492.         a = c.clientY + d.body.scrollTop
  6493.     } else {
  6494.         b = c.pageX;
  6495.         a = c.pageY
  6496.     }
  6497.     if (fk && sx && sy && (sx != b || sy != a)) {
  6498.         fk = 0
  6499.     }
  6500.     sx = b;
  6501.     sy = a
  6502. }
  6503. var mousewheelevt = /Firefox/i.test(navigator.userAgent) ? "DOMMouseScroll" : "mousewheel";
  6504. if (document.attachEvent) {
  6505.     document.attachEvent("on" + mousewheelevt, nkw)
  6506. } else {
  6507.     if (document.addEventListener) {
  6508.         document.addEventListener(mousewheelevt, nkw, false)
  6509.     }
  6510. }
  6511.  
  6512. function nkw(a) {
  6513.     if (DDG.device.isOpera && !DDG.deep.isLastResult && nrb) {
  6514.         nrb()
  6515.     }
  6516.     fk = 0
  6517. }
  6518.  
  6519. function nrv(a, h, q, c) {
  6520.     if (!a) {
  6521.         return false
  6522.     }
  6523.     var g, n, r, o, m, k, f, j, p, e;
  6524.     g = a;
  6525.     a = a.parentNode;
  6526.     if (g.id == "r1-" + (parseInt(r1c) - 1)) {
  6527.         if (DDG.deep.lastClickedId && DDG.settings.autoloadDisabled() && DDG.deep.lastPage > DDG.deep.pageNumber) {
  6528.             if (!DDG.deep.isLastResult && nrb) {
  6529.                 nrb("", 1)
  6530.             }
  6531.         } else {
  6532.             if (!DDG.deep.isLastResult && nrb && !DDG.settings.autoloadDisabled()) {
  6533.                 nrb("", 1)
  6534.             }
  6535.         }
  6536.     }
  6537.     if (!h) {
  6538.         var b = $(g);
  6539.         if (!b.hasClass("highlight")) {
  6540.             b.addClass("highlight");
  6541.             if (b.hasClass("highlight_sponsored")) {
  6542.                 b.addClass("highlight_sponsored_hover")
  6543.             }
  6544.             n = nun(g);
  6545.             o = b.offset().top;
  6546.             m = DDG.device.scrollTop();
  6547.             if (c && n && !fq && o > m) {
  6548.                 n.focus();
  6549.                 n.onclick = function(i) {
  6550.                     return nrl(i, this)
  6551.                 }
  6552.             }
  6553.         }
  6554.     }
  6555. }
  6556.  
  6557. function nro(j) {
  6558.     var h, f, e, b, g, c;
  6559.     if (!j) {
  6560.         return false
  6561.     }
  6562.     var a = $(j);
  6563.     if (a.hasClass("highlight")) {
  6564.         a.removeClass("highlight");
  6565.         if (a.hasClass("highlight_sponsored_hover")) {
  6566.             a.removeClass("highlight_sponsored_hover")
  6567.         }
  6568.         h = nun(j);
  6569.         if (h && !fq) {
  6570.             h.blur()
  6571.         }
  6572.     }
  6573. }
  6574.  
  6575. function nrs(b, f, e) {
  6576.     var g, a, c, i, h;
  6577.     g = $(b).offset().top;
  6578.     c = $(b).outerHeight();
  6579.     a = DDG.device.scrollTop();
  6580.     h = viewport_height / 2;
  6581.     if (!c || g == a) {
  6582.         return
  6583.     }
  6584.     if (f || g + c + 10 > viewport_height + a || g - 10 < a) {
  6585.         i = g - h;
  6586.         if (!e || e == 1 && g - a > h || e == -1 && g - a < h) {
  6587.             DDG.device.scrollTop(i)
  6588.         }
  6589.     }
  6590. }
  6591.  
  6592. function sendCount(a) {
  6593.     $.ajax({
  6594.         url: window.location.origin + "/public/l" + a + ".jpg",
  6595.         cache: false,
  6596.         dataType: "image/jpg"
  6597.     });
  6598.     DDG.abc = a
  6599. }
  6600.  
  6601. function nrj(a, m, i) {
  6602.     var r = a;
  6603.     if (DDG.searchExperiments && DDG.searchExperiments.v7exp && DDG.searchExperiments.v7exp.activeGroup === "a") {
  6604.         var g = ["^\\/share\\/spice\\/.*images\\.spice\\.js$", "^\\/share\\/spice\\/.*videos\\.spice\\.js$"];
  6605.         if (!DDG.history.get("iax")) {
  6606.             g.push("^\\/?i\\.js");
  6607.             g.push("^\\/?v\\.js")
  6608.         }
  6609.         var o = new RegExp(g.join("|"), "i");
  6610.         if (o.test(a)) {
  6611.             return false
  6612.         }
  6613.     }
  6614.     if (DDG.assets_loaded[a]) {
  6615.         return false
  6616.     }
  6617.     var n = DDG.Utils.Cache.Called;
  6618.     var s = n.type[a.substr(0, 5)];
  6619.     if (s) {
  6620.         if (n.deferred[s] || n.nrj[s]) {
  6621.             return false
  6622.         }
  6623.         n.nrj[s] = 1
  6624.     }
  6625.     if (a && a.match(/^\/d\.js/)) {
  6626.         if (window.show_covid) {
  6627.             DDG.duckbar.add({
  6628.                 id: "covid19",
  6629.                 model: "Covid19",
  6630.                 duckbar_topic: "Coronavirus"
  6631.             });
  6632.             DDG.duckbar.future_signal_tab({
  6633.                 signal: "high",
  6634.                 from: "covid19"
  6635.             })
  6636.         }
  6637.         if (DDG.vqd.isExpired()) {
  6638.             DDG.pixel.fire("dxr", {
  6639.                 back: DDG.vqd.timestampFromBackData ? 1 : 0
  6640.             });
  6641.             return window.location.reload()
  6642.         }
  6643.         if (DDG.deep && DDG.deep.pageNumber === 1) {
  6644.             var f = DDG.history.get("ia"),
  6645.                 q = DDG.history.get("iax"),
  6646.                 b = DDG.history.get("iar"),
  6647.                 e = DDG.history.get("iaxm"),
  6648.                 j;
  6649.             if (!f && b) {
  6650.                 f = b
  6651.             }
  6652.             if (e) {
  6653.                 j = e
  6654.             } else {
  6655.                 if ((f && q === f) || b) {
  6656.                     var c = DDG.Data.StaticIAs.filter(function(t) {
  6657.                         return t.id === f && t.isFullPage
  6658.                     });
  6659.                     if (c.length) {
  6660.                         j = c[0].id
  6661.                     }
  6662.                 }
  6663.             }
  6664.             if (j) {
  6665.                 a += "&iapl=" + j
  6666.             }
  6667.         }
  6668.         if (DDG.extension.isInstalled()) {
  6669.             a += "&ext=1"
  6670.         }
  6671.         if (window.ddg_deep_a) {
  6672.             a += "&aa=" + window.ddg_deep_a
  6673.         }
  6674.     }
  6675.     if (a && DDG.searchExperiments) {
  6676.         a = DDG.searchExperiments.addExperimentParameters(a)
  6677.     }
  6678.     if (a.match(/^\/d.js\?/)) {
  6679.         if (DDG.searchExperiments && DDG.searchExperiments.getExperimentGroup("msvrtexp") === "b") {
  6680.             a = "//links.duckduckgo.com" + a
  6681.         }
  6682.         if (DDG.rgi && DDG.rgi.enabled() && !i) {
  6683.             $.ajax({
  6684.                 url: a,
  6685.                 dataType: "script",
  6686.                 cache: true,
  6687.                 beforeSend: function(t) {
  6688.                     t.setRequestHeader("Rgi", DDG.rgi.get())
  6689.                 },
  6690.                 error: function(v, t, u) {
  6691.                     DDG.pixel.fire("rgif");
  6692.                     nrj(r, m, true);
  6693.                     return
  6694.                 }
  6695.             });
  6696.             return
  6697.         }
  6698.     }
  6699.     if (a.indexOf("amazon.spice.js") !== -1 && DDG.duckbar) {
  6700.         $.ajax({
  6701.             url: a,
  6702.             dataType: "script",
  6703.             cache: true,
  6704.             success: function() {
  6705.                 DDG.assets_loaded[a] = 1
  6706.             },
  6707.             error: function(t) {
  6708.                 DDG.duckbar.failed("products")
  6709.             }
  6710.         });
  6711.         return
  6712.     }
  6713.     DDG.assets_loaded[a] = 1;
  6714.     var k, h;
  6715.     k = d.createElement("script");
  6716.     k.type = "text/javascript";
  6717.     if (!m) {
  6718.         k.async = true
  6719.     } else {
  6720.         k.async = false
  6721.     }
  6722.     if (a && a.match(/\/local\.js|\/js\/spice\/maps\/places/)) {
  6723.         if (DDG.userLocator.hasLocation()) {
  6724.             var p = DDG.userLocator.userLocation;
  6725.             a = DDG.addSearchParam(a, "latitude", p.lat);
  6726.             a = DDG.addSearchParam(a, "longitude", p.lon);
  6727.             a = DDG.addSearchParam(a, "location_type", p.type)
  6728.         }
  6729.     }
  6730.     k.src = a;
  6731.     h = document.getElementsByTagName("script")[0];
  6732.     h.parentNode.insertBefore(k, h);
  6733.     return k
  6734. }
  6735.  
  6736. function nrc(c) {
  6737.     if (DDG.assets_loaded[c]) {
  6738.         return false
  6739.     }
  6740.     DDG.assets_loaded[c] = 1;
  6741.     var b, a;
  6742.     b = d.createElement("link");
  6743.     b.type = "text/css";
  6744.     b.rel = "stylesheet";
  6745.     b.async = true;
  6746.     b.href = c;
  6747.     b.media = "screen";
  6748.     a = document.getElementsByTagName("head")[0];
  6749.     a.parentNode.insertBefore(b, a)
  6750. }
  6751.  
  6752. function nrg(h, b, e, f, c) {
  6753.     var a, g;
  6754.     if (!b) {
  6755.         b = 0
  6756.     }
  6757.     e = e || window.event;
  6758.     if (!c) {
  6759.         c = h.getElementsByTagName("a")[0]
  6760.     }
  6761.     if (!f) {
  6762.         f = nkdc(e) || nkdm(e) || fn
  6763.     }
  6764.     if (!f && kn && kn == "1") {
  6765.         f = 1
  6766.     }
  6767.     if (is_mobile_device) {
  6768.         if (rc && rc != h) {
  6769.             nro(rc)
  6770.         }
  6771.         nrv(h);
  6772.         rc = h
  6773.     }
  6774.     if (!DDG.isJSURL(c.href)) {
  6775.         h && DDG.backData.set(h.id, {
  6776.             adx_name: DDG.page.ads.adxExperiment,
  6777.             page: DDG.deep.pageNumber,
  6778.             sexp: DDG.searchExperiments.getBackButtonData(),
  6779.             hu: DDG.deep.hu,
  6780.             timestamp: DDG.vqd.timestamp
  6781.         });
  6782.         if (fl) {
  6783.             fl = 0
  6784.         } else {
  6785.             fl = 1;
  6786.             a = DDG.get_http_redirect(c);
  6787.             if (f) {
  6788.                 nug(a, f)
  6789.             } else {
  6790.                 nua("nug", a, "", "", "", f)
  6791.             }
  6792.         }
  6793.     } else {
  6794.         if (fl) {
  6795.             fl = 0
  6796.         } else {
  6797.             if (DDG.isJSURL(c.href)) {
  6798.                 c.onclick()
  6799.             }
  6800.         }
  6801.     }
  6802. }
  6803.  
  6804. function nrl(c, b) {
  6805.     var a = ((c.target && c.target.href) || (c.currentTarget && c.currentTarget.href));
  6806.     if (a && DDG && DDG.extension && DDG.extension.url && a.indexOf(DDG.extension.url) === 0) {
  6807.         return
  6808.     }
  6809.     var e, f;
  6810.     c = c || window.event;
  6811.     fl = 1;
  6812.     e = nkdc(c) || nkdm(c) || "";
  6813.     if (!e && kn && kn == "1" && b && b.href && !DDG.isInternalURL(b.href)) {
  6814.         e = 1
  6815.     }
  6816.     if (!e && b.target && b.target === "_blank") {
  6817.         e = 1
  6818.     }
  6819.     if (!e && (nkds(c) || fm || c.button && (c.button == 1 || DDG.device.isIE && c.button == 4))) {
  6820.         e = 1
  6821.     }
  6822.     if (e) {
  6823.         b.href = DDG.get_http_redirect(b);
  6824.         if (nkds(c) && !DDG.device.isIE && !DDG.device.isSafari) {
  6825.             nua("nug", b.href, "", "", "", e);
  6826.             return false
  6827.         } else {
  6828.             return true
  6829.         }
  6830.     } else {
  6831.         f = DDG.get_http_redirect(b);
  6832.         nua("nug", f);
  6833.         return false
  6834.     }
  6835. }
  6836.  
  6837. function nrrel(a) {
  6838.     DDG.deep.set("related", a.r);
  6839.     if (DDG.page.relatedSearches || DDG.deep.hideNoResults) {
  6840.         return
  6841.     }
  6842.     if (DDG.deep.getResultCount() && !DDG.deep.hideRelated && a.r && a.r.length > 1) {
  6843.         DDG.page.relatedSearches = new DDG.Views.RelatedSearches({
  6844.             appendTo: $("#links"),
  6845.             model: DDG.deep
  6846.         })
  6847.     }
  6848. }
  6849.  
  6850. function nrb(b, c) {
  6851.     var f, q, h, k, o, n, p, g, a, j, m;
  6852.     if (!DDG.duckbar.areOrganicsShowing) {
  6853.         return
  6854.     }
  6855.     if (fs) {
  6856.         return false
  6857.     }
  6858.     fs = 1;
  6859.     o = document.body.scrollHeight;
  6860.     n = DDG.device.scrollTop();
  6861.     h = n + viewport_height >= o - 500 ? 1 : 0;
  6862.     k = 0;
  6863.     if (!c && fmx && fmy && fmx > viewport_width - 100 && fmy < parseInt(viewport_height) - 17) {
  6864.         fs = 0;
  6865.         return
  6866.     }
  6867.     if (h || k || c) {
  6868.         for (g = parseInt(r1c) - 1; g >= 0; g--) {
  6869.             m = "r1-" + g;
  6870.             a = d.getElementById(m);
  6871.             j = a && a.parentNode;
  6872.             var e = $(".result--more__btn")[0];
  6873.             if ($(j).css("display") == "block") {
  6874.                 if (DDG.deep.hasPendingResults()) {
  6875.                     DDG.deep.showPendingResults();
  6876.                     nsr(e);
  6877.                     $(".js-result-sep").removeClass("is-hidden")
  6878.                 } else {
  6879.                     nsr(e)
  6880.                 }
  6881.                 break
  6882.             }
  6883.         }
  6884.     }
  6885.     fs = 0
  6886. }
  6887.  
  6888. function nrm(q, m) {
  6889.     var o, g, f, c, e, a, v, n, u, i, r, j, h, t, z, s, b, p;
  6890.     if (fq) {
  6891.         return false
  6892.     }
  6893.     if (fo) {
  6894.         setTimeout("nrm(" + q + ",'" + m + "')", 100);
  6895.         return false
  6896.     }
  6897.     fo = 1;
  6898.     o = new RegExp("r(\\d+)-(\\d+)");
  6899.     g = new RegExp("rl([ei])(\\d+)-(\\d+)");
  6900.     f = new RegExp("rld-(\\d+)");
  6901.     if (m) {
  6902.         if (o.test(m)) {
  6903.             c = RegExp.$1 || 0;
  6904.             e = RegExp.$2 || 0
  6905.         } else {
  6906.             if (m == "zero_click_wrapper") {
  6907.                 c = 1;
  6908.                 e = -1
  6909.             } else {
  6910.                 fo = 0;
  6911.                 return false
  6912.             }
  6913.         }
  6914.     } else {
  6915.         if (rc && rc.id == "zero_click_wrapper") {
  6916.             c = 1;
  6917.             e = -1
  6918.         } else {
  6919.             if (rc && o.test(rc.id)) {
  6920.                 c = RegExp.$1 || 0;
  6921.                 e = RegExp.$2 || 0
  6922.             } else {
  6923.                 if (rc && g.test(rc.id)) {
  6924.                     c = rs ? 1 : 2;
  6925.                     r = 1
  6926.                 } else {
  6927.                     if (rc && f.test(rc.id)) {
  6928.                         c = 1;
  6929.                         r = 1
  6930.                     } else {
  6931.                         rc = d.getElementById(DDG.first_result);
  6932.                         if (!rc) {
  6933.                             rc = d.getElementById("zero_click_wrapper")
  6934.                         }
  6935.                         if (!rc) {
  6936.                             fo = 0;
  6937.                             return false
  6938.                         } else {
  6939.                             e = 0;
  6940.                             c = 1
  6941.                         }
  6942.                     }
  6943.                 }
  6944.             }
  6945.         }
  6946.     }
  6947.     switch (q) {
  6948.         case 1:
  6949.             if (rc && rc.id && rc.id == DDG.first_result && !$(rc).hasClass("highlight")) {} else {
  6950.                 e++
  6951.             }
  6952.             break;
  6953.         case 2:
  6954.             e--;
  6955.             break;
  6956.         case 3:
  6957.             c++;
  6958.             e = 0;
  6959.             break;
  6960.         case 4:
  6961.             c--;
  6962.             e = 0;
  6963.             break;
  6964.         case 5:
  6965.             break;
  6966.         case 6:
  6967.             break;
  6968.         case 7:
  6969.             e++;
  6970.             break;
  6971.         default:
  6972.             e++
  6973.     }
  6974.     n = "r" + c + "-" + e;
  6975.     if (e <= -1) {
  6976.         n = "zero_click_wrapper"
  6977.     }
  6978.     u = d.getElementById(n);
  6979.     i = 0;
  6980.     if (m) {
  6981.         i = d.getElementById(m)
  6982.     }
  6983.     if (q == 1 && c == 2 && !u && r1c) {
  6984.         n = DDG.first_result;
  6985.         u = d.getElementById(n)
  6986.     }
  6987.     z = DDG.device.scrollTop();
  6988.     if (q == 1) {
  6989.         if ($("#" + n).length > 0) {
  6990.             t = $("#" + n).offset().top
  6991.         }
  6992.         if (t && (t < z || t > (z + 2 * viewport_height))) {
  6993.             a = 0;
  6994.             while (a > -1) {
  6995.                 v = d.getElementById("r1-" + a);
  6996.                 if (!v) {
  6997.                     break
  6998.                 }
  6999.                 b = $(v);
  7000.                 t = b.offset().top;
  7001.                 p = 10;
  7002.                 s = b.height() + p;
  7003.                 if (t - s < z && z !== 0) {
  7004.                     a++
  7005.                 } else {
  7006.                     u = v;
  7007.                     break
  7008.                 }
  7009.             }
  7010.         }
  7011.     }
  7012.     if (q == 2 && n !== "zero_click_wrapper") {
  7013.         if ($("#" + n).length > 0) {
  7014.             t = $("#" + n).offset().top
  7015.         }
  7016.         if (t < (z - 2 * viewport_height) || t > (z + viewport_height)) {
  7017.             a = r1c - 2;
  7018.             while (a > 0) {
  7019.                 v = d.getElementById("r1-" + a);
  7020.                 if (!v) {
  7021.                     break
  7022.                 }
  7023.                 b = $(v);
  7024.                 t = b.offset().top;
  7025.                 p = 10;
  7026.                 s = Math.max(b.height(), 90) + p;
  7027.                 if (t + s > (z + viewport_height)) {
  7028.                     a--
  7029.                 } else {
  7030.                     u = v;
  7031.                     break
  7032.                 }
  7033.             }
  7034.         }
  7035.     }
  7036.     if (i && !u && q == 7 && i.nextSibling && i.nextSibling.firstChild) {
  7037.         var k = i.nextSibling;
  7038.         if (k.firstChild && k.firstChild.onclick) {
  7039.             k.firstChild.onclick()
  7040.         }
  7041.         fo = 0;
  7042.         return
  7043.     } else {
  7044.         if (!i && !u && q == 7 && rc && rc.nextSibling && rc.nextSibling.firstChild) {
  7045.             var k = rc.nextSibling;
  7046.             if (k.firstChild && k.firstChild.onclick) {
  7047.                 k.firstChild.onclick()
  7048.             }
  7049.             fo = 0;
  7050.             return
  7051.         }
  7052.     }
  7053.     if ((n == "zero_click_wrapper") && $(u).css("display") == "none") {
  7054.         fo = 0;
  7055.         return
  7056.     }
  7057.     if (r) {
  7058.         switch (q) {
  7059.             case 1:
  7060.                 if (c == 2) {
  7061.                     u = rc.nextSibling.nextSibling;
  7062.                     if (!u) {
  7063.                         n = DDG.first_result;
  7064.                         u = d.getElementById(n)
  7065.                     } else {
  7066.                         if ($(u).css("display") == "none") {
  7067.                             u = u.nextSibling.firstChild;
  7068.                             if (!u.id && u.nextSibling) {
  7069.                                 u = u.nextSibling
  7070.                             }
  7071.                         }
  7072.                     }
  7073.                 } else {
  7074.                     if (c == 1 && rc.nextSibling.nextSibling) {
  7075.                         u = rc.nextSibling.nextSibling.nextSibling
  7076.                     } else {
  7077.                         if (1) {
  7078.                             n = DDG.first_result;
  7079.                             u = d.getElementById(n)
  7080.                         } else {
  7081.                             u = rc.nextSibling.firstChild
  7082.                         }
  7083.                     }
  7084.                 }
  7085.                 break;
  7086.             case 2:
  7087.                 u = rc.previousSibling.previousSibling;
  7088.                 if ($(u).css("display") == "none") {
  7089.                     u = u.nextSibling.lastChild
  7090.                 }
  7091.                 break;
  7092.             case 4:
  7093.                 break;
  7094.             case 7:
  7095.                 if (rc.nextSibling.nextSibling) {
  7096.                     u = rc.nextSibling.nextSibling.nextSibling
  7097.                 } else {
  7098.                     u = rc.nextSibling.firstChild
  7099.                 }
  7100.                 break;
  7101.             default:
  7102.                 fo = 0;
  7103.                 return false
  7104.         }
  7105.     }
  7106.     if (u) {
  7107.         if (c == 1 && g.test(u.id)) {
  7108.             u = u.nextSibling.firstChild
  7109.         }
  7110.         if (q != 7) {
  7111.             if (rc) {
  7112.                 nua("nro", rc)
  7113.             }
  7114.         }
  7115.         if (q != 5 && (c == 2 || rs) && $(u.parentNode).css("display") == "none") {
  7116.             j = u;
  7117.             while (j.parentNode.id != "zero_click_topics" && j.parentNode.id != "links" && j.parentNode.id != "content") {
  7118.                 j = j.parentNode;
  7119.                 if (!h && $(j).css("display") == "block") {
  7120.                     h = j
  7121.                 }
  7122.             }
  7123.             if (h && r) {
  7124.                 u = j.nextSibling.nextSibling
  7125.             } else {
  7126.                 if ($(j).css("display") == "none") {
  7127.                     u = j.previousSibling
  7128.                 } else {
  7129.                     if (j.nextSibling && $(j.nextSibling).css("display") == "block") {
  7130.                         u = h.lastChild.previousSibling
  7131.                     } else {
  7132.                         if (q == 2 && j.previousSibling) {
  7133.                             u = j.previousSibling
  7134.                         } else {
  7135.                             if (q == 1 && j.nextSibling && $(j.nextSibling).css("display") == "none") {
  7136.                                 u = j.nextSibling.nextSibling.firstChild.nextSibling
  7137.                             } else {
  7138.                                 if (q == 1 && !j.nextSibling) {
  7139.                                     u = j.previousSibling
  7140.                                 }
  7141.                             }
  7142.                         }
  7143.                     }
  7144.                 }
  7145.             }
  7146.             if (g.test(u.id) && rs && RegExp.$1 == "e") {
  7147.                 u = u.nextSibling.firstChild
  7148.             }
  7149.         }
  7150.         nua("nrv", u, 0, 1, 0, q == 7 ? 1 : 0, q == 5 || q == 7 ? 1 : 0, 1);
  7151.         if (q != 7) {
  7152.             rc = u
  7153.         }
  7154.         if (q != 7 && rc && rc.id) {
  7155.             if (fk && (e > 6 || q == 2)) {
  7156.                 if (!DDG.device.isOpera) {
  7157.                     nua("nrs", rc, 0, 1, 0, 1, q == 5 ? 0 : q == 1 ? 1 : -1)
  7158.                 } else {
  7159.                     nrs(rc, 1, q == 5 ? 0 : q == 1 ? 1 : -1)
  7160.                 }
  7161.             } else {
  7162.                 if (!DDG.device.isOpera) {
  7163.                     nua("nrs", rc, 0, 1)
  7164.                 } else {
  7165.                     nrs(rc, 0, 0)
  7166.                 }
  7167.             }
  7168.         }
  7169.     } else {
  7170.         if (c == 1 && n != "zero_click_wrapper" && !DDG.deep.isOutOfResults && (!rs || !it) && DDG.deep.lastPage >= DDG.deep.pageNumber) {
  7171.             nrv(d.getElementById("r1-" + parseInt(r1c - 1)), 1);
  7172.             setTimeout("nrm(" + q + ",'" + m + "')", 100)
  7173.         }
  7174.     }
  7175.     if (DDG.device.isOpera && q == 1 && nrb) {
  7176.         nrb()
  7177.     }
  7178.     fo = 0
  7179. }
  7180.  
  7181. function appendAdClass(b, a, e, c) {
  7182.     b.className += "  result--ad  highlight_sponsored  sponsored";
  7183.     if ((a === 0 && DDG.page.ads.smallFirst) || (a === 1 && DDG.page.ads.smallSecond) || a > 1 || c.side) {
  7184.         b.className += " result--ad--small"
  7185.     }
  7186.     b.setAttribute("data-source", e)
  7187. }
  7188.  
  7189. function resultsBetweenLastSeparators() {
  7190.     var a = document.querySelectorAll(".result");
  7191.     var c = [];
  7192.     var f = 0;
  7193.     for (var e = 0; e < a.length; e++) {
  7194.         if (/js-result-sep/.test(a[e].className)) {
  7195.             c.unshift(f);
  7196.             f = 0
  7197.         } else {
  7198.             f += 1
  7199.         }
  7200.     }
  7201.     c.unshift(f);
  7202.     var b = c[1] || c[0];
  7203.     return b
  7204. }
  7205.  
  7206. function nrn(az, H, s, N) {
  7207.     if (!az || !H) {
  7208.         return
  7209.     }
  7210.     if (!s) {
  7211.         DDG.deep.nrnWrapper(az, H);
  7212.         return
  7213.     }
  7214.     var Q, aw, ao, am, ak, J, m, C, p, V, af, o, av, ai, v, u, ax, ar, ap, Y, b, A, ad, ac, Z, E, q, U, S, G, ab, F, X, ae, ag, M, I, aj, a, L;
  7215.     var aq = DDG.page.ads.canShowRightRailAds();
  7216.     var au = DDG.page.ads.canShowGoodAdsLayout();
  7217.     var P = false;
  7218.     var g = kai && kai == "-1";
  7219.     var k;
  7220.     var h = false;
  7221.     E = H.length;
  7222.     if (az === "d") {
  7223.         av = "1";
  7224.         o = d.getElementById("links");
  7225.         ai = r1c;
  7226.         if (!DDG.deep.started) {
  7227.             ag = 1;
  7228.             DDG.deep.set("started", new Date().getTime())
  7229.         }
  7230.     } else {
  7231.         if (az === "a") {
  7232.             ai = r3c;
  7233.             av = "a";
  7234.             P = !ai && DDG.deep.pageNumber === 1;
  7235.             var T = 3;
  7236.             if (E > T) {
  7237.                 H = H.slice(0, T);
  7238.                 E = H.length
  7239.             }
  7240.             if (DDG.page.ads.isBlocked() || !H.length) {
  7241.                 return
  7242.             }
  7243.             if (P && !H[0].late) {
  7244.                 var t = $(".js-sidebar-ads"),
  7245.                     e = DDG.page.ads.rightRailBoth,
  7246.                     f = DDG.page.ads.rightRailSecond;
  7247.                 if (f || e || (DDG.page.ads.ads.length > 2 && aq)) {
  7248.                     t.addClass("results--ads results--ads--rrail");
  7249.                     $("html").addClass("has-right-rail-ads")
  7250.                 }
  7251.                 if (e) {
  7252.                     o = t[0]
  7253.                 } else {
  7254.                     o = d.getElementById("ads")
  7255.                 }
  7256.             } else {
  7257.                 var c = $('<div class="results--ads"></div>');
  7258.                 if (H[0].late) {
  7259.                     var at = !DDG.deep.isOutOfResults && (!DDG.settings.autoloadDisabled() || DDG.deep.lastPage >= DDG.deep.pageNumber);
  7260.                     if (at) {
  7261.                         $(".js-result-hidden-el:last").append(c)
  7262.                     } else {
  7263.                         $(".results_links_deep:last").after(c)
  7264.                     }
  7265.                 } else {
  7266.                     $("#links").append(c)
  7267.                 }
  7268.                 o = c[0]
  7269.             }
  7270.         }
  7271.     }
  7272.     G = 0;
  7273.     if (az == "d" && (!H.length || H[E - 1]["t"] == "EOP" || H[E - 1]["t"] == "EOF" || !DDG.deep.hasMoreResultsToLoad())) {
  7274.         G = 1;
  7275.         DDG.deep.set("isOutOfResults", true);
  7276.         DDG.deep.set("isLastResult", true);
  7277.         if (H.length && H[E - 1]["t"] == "EOP") {
  7278.             G = 2
  7279.         }
  7280.         if (E === 1 && ag) {
  7281.             setTimeout(function() {
  7282.                 DDG.pixel.fire("nre", {
  7283.                     ss: DDG.page.showingSafeSearch
  7284.                 })
  7285.             }, 250)
  7286.         }
  7287.     }
  7288.     if (az == "d") {
  7289.         $(".js-results-loading").remove();
  7290.         if (E > 1) {
  7291.             $(".js-result-sep.is-hidden").removeClass("is-hidden")
  7292.         }
  7293.     }
  7294.     Y = b = q = U = S = 0;
  7295.     for (var Q = 0; Q < E; Q++) {
  7296.         Y++;
  7297.         F = 0;
  7298.         if (!H[Q]) {
  7299.             continue
  7300.         }
  7301.         if (!a && Q > 0) {
  7302.             a = true
  7303.         }
  7304.         if (!DDG.settings.isDefault("k1") && H[Q]["p"]) {
  7305.             continue
  7306.         }
  7307.         if (az === "a" && ((Q > 0 && DDG.page.ads.rightRailSecond) || (Q > 1 && aq)) || H[Q] && H[Q].side) {
  7308.             o = $(".js-sidebar-ads")[0]
  7309.         }
  7310.         if (Y == 1 && rv == "i") {
  7311.             setTimeout('top.location.replace("' + H[Q]["u"] + '")', 100);
  7312.             return
  7313.         }
  7314.         if (DDG.pageLayout.isSlottingExperiment()) {
  7315.             DDG.page.pageLayoutView.renderModuleForSlot(az, ai, o, E)
  7316.         }
  7317.         var an = H[Q]["u"] || "";
  7318.         var W = H[Q]["d"] || "";
  7319.         W = W.split("/");
  7320.         var A = W.shift() || "";
  7321.         ab = 0;
  7322.         if (az == "d" && H[Q]["t"] == "EOP") {
  7323.             ab = 1;
  7324.             continue
  7325.         } else {
  7326.             if (az == "d" && H[Q]["t"] == "EOF") {
  7327.                 ab = 1;
  7328.                 continue
  7329.             }
  7330.         }
  7331.         if (az == "d" && !ab && !H[Q]["p"]) {
  7332.             if (!A || DDG.deep.resultDomains[H[Q]["u"]]) {
  7333.                 if (b == 0 && Y == E && !ag && !DDG.deep.hideNoResults) {
  7334.                     if (DDG.searchExperiments.getExperimentGroup("v7exp") !== "a") {
  7335.                         nrj("/l.js?q=" + rq)
  7336.                     }
  7337.                 }
  7338.                 if (Y == E) {
  7339.                     F = 1
  7340.                 } else {
  7341.                     if (!DDG.pageLayout.isSlottingExperiment()) {
  7342.                         continue
  7343.                     }
  7344.                 }
  7345.             } else {
  7346.                 DDG.deep.resultDomains[H[Q]["u"]] = H[Q]["u"]
  7347.             }
  7348.             if (Q == (E - 1) && H[Q]["n"]) {
  7349.                 DDG.page.deepNextURL = H[Q]["n"]
  7350.             }
  7351.         }
  7352.         if (!F) {
  7353.             b++;
  7354.             aw = d.createElement("div");
  7355.             aw.id = "r" + av + "-" + ai;
  7356.             ai++;
  7357.             $(aw).addClass("result results_links" + (az == "d" && !H[Q]["h"] ? "_deep" : "") + " highlight_" + az);
  7358.             if (au && az == "a") {
  7359.                 $(aw).addClass("result--ad--good")
  7360.             }
  7361.             if (az === "a" && H[Q]["adn"]) {
  7362.                 aw.setAttribute("data-adn", H[Q]["adn"])
  7363.             }
  7364.             if (az === "a" && H[Q]["adf"]) {
  7365.                 aw.setAttribute("data-adf", 1)
  7366.             }
  7367.             aw.setAttribute("data-domain", A);
  7368.             var D = d.createElement("a");
  7369.             D.href = an;
  7370.             aw.setAttribute("data-hostname", D.hostname);
  7371.             if (typeof H[Q]["hu"] !== "undefined") {
  7372.                 aw.setAttribute("data-hu", H[Q]["hu"])
  7373.             }
  7374.         }
  7375.         if (H[Q]["da"]) {
  7376.             DDG.search.deepAnswerIAs["r" + (ai - 1)] = H[Q]["da"]
  7377.         }
  7378.         if (F) {
  7379.             continue
  7380.         }
  7381.         ao = d.createElement("div");
  7382.         $(ao).addClass("result__body  links_" + (av == 1 || av == "a" ? "main" : "zero_click"));
  7383.         if ((az == "d" || az == "a") && !H[Q]["h"]) {
  7384.             $(ao).addClass("links_deep")
  7385.         }
  7386.         var K;
  7387.         if (az != "r") {
  7388.             m = d.createElement("a");
  7389.             K = d.createElement("a");
  7390.             if (az == "d" || az == "a") {
  7391.                 m.className = "result__a";
  7392.                 m.setAttribute("rel", "noopener");
  7393.                 K.setAttribute("rel", "noopener");
  7394.                 K.className = "result__check";
  7395.                 K.innerHTML = '<span class="result__check__tt">' + l("Your browser indicates if you've visited this link") + "</span>"
  7396.             }
  7397.             m.href = H[Q]["c"];
  7398.             K.href = H[Q]["c"];
  7399.             if (kn && kn == "1" && m && m.href && m.getAttribute("href").indexOf("http") != -1) {
  7400.                 m.target = "_blank";
  7401.                 K.target = "_blank"
  7402.             }
  7403.             M = d.createElement("h2");
  7404.             M.className = "result__title";
  7405.             m.innerHTML = H[Q]["t"];
  7406.             C = m;
  7407.             if (DDG.searchExperiments.demexp && DDG.searchExperiments.demexp.activeGroup === "c") {
  7408.                 k = DDG.$exec_template("result_icon_lock", {
  7409.                     icon: {
  7410.                         hide: false
  7411.                     }
  7412.                 });
  7413.                 M.appendChild(k[0])
  7414.             }
  7415.             M.appendChild(m);
  7416.             M.appendChild(K);
  7417.             ao.appendChild(M)
  7418.         }
  7419.         if (az == "d" || az == "a") {
  7420.             var n = new DDG.Views.ResultSnippet({
  7421.                 model: new DDG.Models.ResultSnippet({
  7422.                     isAd: az === "a",
  7423.                     item: H[Q],
  7424.                     showExtensionData: az === "a" && DDG.page.ads.canShowAdExtensions(Q, DDG.deep.pageNumber)
  7425.                 }),
  7426.                 appendTo: $(ao),
  7427.                 parentDiv: aw
  7428.             });
  7429.             var ah = null,
  7430.                 R = null,
  7431.                 O = H[Q].l;
  7432.             if (DDG.pageLayout && DDG.pageLayout.canSendImpressions()) {
  7433.                 O = DDG.getProperty(H[Q], "adext.sitelinks.l");
  7434.                 R = DDG.getProperty(H[Q], "adext.sitelinks.tid")
  7435.             }
  7436.             if (az === "a" && O) {
  7437.                 ah = new DDG.Models.AdSitelinks({
  7438.                     sitelinksMarkup: O,
  7439.                     tid: R,
  7440.                     showEnhancedSiteLinks: DDG.page.ads.canShowEnhancedSiteLinks(Q),
  7441.                     canShowGoodAdsLayout: DDG.page.ads.canShowGoodAdsLayout(),
  7442.                     source: H[Q].s,
  7443.                     adxExperiment: DDG.page.ads.adxExperiment,
  7444.                     layoutName: DDG.page.ads.adx,
  7445.                     isShowingLargeSitelinks: L,
  7446.                     isFirstPageOfAds: P,
  7447.                     domain: H[Q].d
  7448.                 });
  7449.                 L = ah.canShowLargeSitelinks()
  7450.             }
  7451.             am = d.createElement("div");
  7452.             am.className = "result__extras js-result-extras";
  7453.             var al = new DDG.Views.ResultExtras({
  7454.                 model: new DDG.Models.ResultExtras({
  7455.                     isAd: az === "a",
  7456.                     item: H[Q]
  7457.                 }),
  7458.                 appendTo: $(am),
  7459.                 parentDiv: aw,
  7460.                 titleLockIcon: k
  7461.             });
  7462.             if (O && az === "a" && ah && !ah.canShowLargeSitelinks()) {
  7463.                 DDG.page.views["adSitelinks" + Q] = new DDG.Views.AdSitelinks({
  7464.                     model: ah,
  7465.                     organicResultContainer: aw,
  7466.                     appendTo: $(n.$el)
  7467.                 })
  7468.             }
  7469.             if (!ab) {
  7470.                 if (H[Q]["p"]) {
  7471.                     DDG.page.views["adBadge" + Q] = new DDG.Views.AdBadge({
  7472.                         appendTo: $(M)
  7473.                     });
  7474.                     appendAdClass(aw, Q, H[Q].s, H[Q])
  7475.                 }
  7476.             }
  7477.             if (ah && ah.canShowLargeSitelinks() && g) {
  7478.                 ao.appendChild(am);
  7479.                 DDG.page.views["adSitelinks" + Q] = new DDG.Views.AdSitelinks({
  7480.                     model: ah,
  7481.                     organicResultContainer: aw,
  7482.                     appendTo: $(ao)
  7483.                 })
  7484.             } else {
  7485.                 if (ah && ah.canShowLargeSitelinks()) {
  7486.                     ao.insertBefore(am, ao.lastChild);
  7487.                     aw.className += " result--url-above-snippet";
  7488.                     DDG.page.views["adSitelinks" + Q] = new DDG.Views.AdSitelinks({
  7489.                         model: ah,
  7490.                         organicResultContainer: aw,
  7491.                         appendTo: $(ao)
  7492.                     })
  7493.                 } else {
  7494.                     if ((n.$el && !n.$el[0] || g)) {
  7495.                         ao.appendChild(am)
  7496.                     } else {
  7497.                         ao.insertBefore(am, ao.lastChild);
  7498.                         aw.className += " result--url-above-snippet"
  7499.                     }
  7500.                 }
  7501.             }
  7502.         }
  7503.         aw.appendChild(ao);
  7504.         o.appendChild(aw);
  7505.         if (az === "a") {
  7506.             DDG.pageLayout.recordAdImpression(H[Q], ah, n)
  7507.         }
  7508.         if (O && az === "d" && !h) {
  7509.             h = true;
  7510.             DDG.add_sitelinks(aw, Q, H, A)
  7511.         }
  7512.         if (!rc && aw.id == DDG.first_result) {
  7513.             rc = aw;
  7514.             var r = d.createElement("div");
  7515.             r.id = "organic-module";
  7516.             o.appendChild(r)
  7517.         }
  7518.         if (az == "d" && b == 1) {
  7519.             X = 0;
  7520.             u = new RegExp("^r1-(\\d+)$");
  7521.             if (rc && u.test(rc.id)) {
  7522.                 ax = RegExp.$1
  7523.             }
  7524.             X = ax == ai ? 1 : 0;
  7525.             if (fk && X && (!aw.previousSibling || aw.previousSibling.id.indexOf("r1-") == -1)) {
  7526.                 nrm(6, aw.id)
  7527.             }
  7528.         }
  7529.         var B = function(i, x, j, y) {
  7530.             if (i === "a") {
  7531.                 adClick(x, j, y)
  7532.             }
  7533.             return nrl(y, this)
  7534.         };
  7535.         if (C) {
  7536.             C.onclick = B.bind(C, az, H[Q].s, aw)
  7537.         }
  7538.     }
  7539.     if (az == "d" && H[0] && H[0]["s"] && !DDG.deep.showedAttribution) {
  7540.         if (ag) {
  7541.             DDG.first_source = H[0]["s"]
  7542.         }
  7543.         DDG.search.set("src", H[0]["s"]);
  7544.         if (DDG.deep.canShowAttribution()) {
  7545.             new DDG.Views.WebAttribution({
  7546.                 model: DDG.deep,
  7547.                 appendTo: ".js-serp-bottom-right"
  7548.             });
  7549.             DDG.deep.set("showedAttribution", true)
  7550.         }
  7551.     }
  7552.     if (av == "a") {
  7553.         if (!r3c) {
  7554.             DDG.page.ads.setFirstBatchShown()
  7555.         }
  7556.         r3c = ai
  7557.     } else {
  7558.         if (!ag && resultsBetweenLastSeparators() < 10) {
  7559.             $(".js-result-sep:last").remove();
  7560.             DDG.deep.pageNumberDecrement()
  7561.         }
  7562.         r1c = ai
  7563.     }
  7564.     H = null;
  7565.     if (nir) {
  7566.         nir(az)
  7567.     }
  7568.     DDG.ImageLoader.locateUnloaded();
  7569.     var ay = document.getElementsByClassName("pinned-to-bottom")[0];
  7570.     if (ay && ag) {
  7571.         $("#links")[0].appendChild(ay)
  7572.     } else {
  7573.         if (!ay) {
  7574.             ay = d.createElement("div");
  7575.             $(ay).addClass("pinned-to-bottom");
  7576.             $("#links")[0].appendChild(ay)
  7577.         }
  7578.     }
  7579.     if (G && !DDG.deep.hideNoResults && !DDG.deep.getResultCount()) {
  7580.         DDG.page.noResults = new DDG.Views.NoResults({
  7581.             appendTo: $("#links")
  7582.         })
  7583.     }
  7584.     if (!G && Y == E && !q && N) {
  7585.         var aa = $("#links")[0];
  7586.         ao = d.createElement("div");
  7587.         $(ao).addClass("result  result--more");
  7588.         m = d.createElement("a");
  7589.         m.href = "javascript:;";
  7590.         m.onclick = function() {
  7591.             DDG.pixel.fire("mrc");
  7592.             if (DDG.deep.hasPendingResults()) {
  7593.                 nsr(this);
  7594.                 DDG.deep.showPendingResults();
  7595.                 $(".js-result-sep").removeClass("is-hidden")
  7596.             } else {
  7597.                 nsr(this)
  7598.             }
  7599.         };
  7600.         m.className = "result__a";
  7601.         ao.id = "rld-" + ++rdc;
  7602.         m.appendChild(d.createTextNode(lp("additional_info_at", "More results")));
  7603.         m.className = "result--more__btn btn btn--full";
  7604.         ao.appendChild(m);
  7605.         aa.appendChild(ao);
  7606.         ao = d.createElement("div");
  7607.         ao.id = "rrd-" + rdc;
  7608.         ao.className = "js-result-hidden-el";
  7609.         $(ao).css("display", "none");
  7610.         aa.appendChild(ao);
  7611.         q = 1
  7612.     }
  7613.     if (nrb) {
  7614.         nrb()
  7615.     }
  7616. }
  7617.  
  7618. function nsr(f, s, e) {
  7619.     if (!f) {
  7620.         return
  7621.     }
  7622.     var j, i, h, c, g, m, o, n, k, r, a, u, b;
  7623.     h = new RegExp("^r[lr](.*)-(\\d+)$");
  7624.     f = f.parentNode;
  7625.     if (f.id && h.test(f.id)) {
  7626.         g = RegExp.$1 || 0;
  7627.         m = RegExp.$2 || 0
  7628.     }
  7629.     if (g && m) {
  7630.         if (tn == f.id) {
  7631.             return false
  7632.         }
  7633.         tn = f.id;
  7634.         b = j = i = 0;
  7635.         c = new RegExp("^r1-(\\d+)$");
  7636.         if (rc && c.test(rc.id)) {
  7637.             j = RegExp.$1
  7638.         }
  7639.         if (f.previousSibling && c.test(f.previousSibling.id)) {
  7640.             i = RegExp.$1
  7641.         }
  7642.         b = j && i && parseInt(j) == parseInt(i) + 1 ? 1 : 0;
  7643.         if (!fk) {
  7644.             b = 2
  7645.         }
  7646.         o = d.getElementById("rl" + g + "-" + m);
  7647.         n = d.getElementById("rr" + g + "-" + m);
  7648.         k = d.getElementById("rl" + g + "-" + (parseInt(m) + 1));
  7649.         var q = DDG.settings.get("kv");
  7650.         if (q && q != "-1" && rds != 0 && (rds != 1 || r1hc) && g && g.indexOf("i") == -1) {
  7651.             o.onmouseover = function() {};
  7652.             o.onmouseout = function() {};
  7653.             o.onclick = function() {};
  7654.             o.className = "result result--sep is-hidden js-result-sep";
  7655.             var p = DDG.deep.pageNumberIncrement();
  7656.             if (q == "m") {
  7657.                 o.className += " result--sep--hr";
  7658.                 o.innerHTML = ""
  7659.             } else {
  7660.                 if (q == "l") {
  7661.                     o.innerHTML = '<div class="result__pagenum">' + l("Page %s", p) + "</div>"
  7662.                 } else {
  7663.                     o.className += " result--sep--hr has-pagenum";
  7664.                     o.innerHTML = '<div class="result__pagenum  result__pagenum--side">' + p + "</div>"
  7665.                 }
  7666.             }
  7667.         } else {
  7668.             $(o).css("display", "none")
  7669.         }
  7670.         n.style.display = "block";
  7671.         if (k && !s) {
  7672.             $(k).css("display", "block")
  7673.         } else {
  7674.             if (!k && (g == "d" || g == "e0" && !fd) && DDG.page.deepNextURL) {
  7675.                 a = d.createElement("span");
  7676.                 a.className = (!DDG.settings.autoloadDisabled()) ? "result--more" : "btn result--more";
  7677.                 a.className += " is-loading js-results-loading";
  7678.                 a.innerHTML = Handlebars.helpers.loader();
  7679.                 n.parentNode.appendChild(a);
  7680.                 if (rv == "d") {
  7681.                     rv = ""
  7682.                 }
  7683.                 if (rds) {
  7684.                     rds += 50
  7685.                 } else {
  7686.                     rds += 30
  7687.                 }
  7688.                 nrj(DDG.page.deepNextURL, 1);
  7689.                 delete DDG.page.deepNextURL
  7690.             }
  7691.         }
  7692.         if (!s && !e && b == 1) {
  7693.             if (f.nextSibling.firstChild) {
  7694.                 nrm(6, f.nextSibling.firstChild.id)
  7695.             }
  7696.         }
  7697.     }
  7698. }
  7699.  
  7700. function nul(b) {
  7701.     var a, c;
  7702.     var a = b.href.indexOf("/l/?kh=-1&uddg=");
  7703.     if (a != -1) {
  7704.         c = decodeURIComponent(b.href.substring(a + 15))
  7705.     }
  7706.     if (c) {
  7707.         b.href = c
  7708.     }
  7709.     fl = 0
  7710. }
  7711.  
  7712. function nutp(b) {
  7713.     var a = b.split("_");
  7714.     DDG.pixel.fire.apply(DDG.pixel, a);
  7715.     a.unshift("old");
  7716.     DDG.pixel.fire.apply(DDG.pixel, a)
  7717. }
  7718.  
  7719. function nua(i, j, h, g, b, e, c, a) {
  7720.     if (!b) {
  7721.         b = tr.length;
  7722.         tr[b] = j
  7723.     }
  7724.     if (!h) {
  7725.         h = 10
  7726.     }
  7727.     if (!g) {
  7728.         setTimeout(i + "(tr[" + b + "]," + e + "," + c + "," + a + ");", h)
  7729.     } else {
  7730.         if (!tsl) {
  7731.             tsl = ts.length;
  7732.             setTimeout(i + "(tr[" + b + "]," + e + "," + c + "," + a + ");tsl=0", 10)
  7733.         } else {
  7734.             setTimeout("nua(" + i + ",0,1," + b + "," + e + "," + c + "," + a + ")", 100)
  7735.         }
  7736.     }
  7737. }
  7738.  
  7739. function nug(e, g) {
  7740.     var b, c, f, a;
  7741.     fl = 0;
  7742.     fn = 0;
  7743.     a = "";
  7744.     if (window.getSelection) {
  7745.         a = window.getSelection().toString()
  7746.     } else {
  7747.         if (document.selection) {
  7748.             a = document.selection.createRange();
  7749.             a = a.text
  7750.         }
  7751.     }
  7752.     var h = a == DDG.last_selection ? 1 : 0;
  7753.     DDG.last_selection = a;
  7754.     if (!h) {
  7755.         return false
  7756.     }
  7757.     if (g) {
  7758.         openBlankWindow(e)
  7759.     } else {
  7760.         if (w.postMessage && !DDG.device.isSafari && !DDG.device.isIDevice && !DDG.device.isKonqueror && kg != "p" && DDG.settings.useRedirect()) {
  7761.             b = document.getElementById("iframe_hidden");
  7762.             b.contentWindow.postMessage("ddg:" + e, location.protocol + "//" + location.hostname)
  7763.         } else {
  7764.             if ((DDG.device.isIE || DDG.device.isIDevice || DDG.device.isChrome || DDG.device.isSafari || DDG.device.isFirefox) && e.indexOf("http") != -1 && kg != "p" && DDG.settings.useRedirect()) {
  7765.                 if (d.getElementById("iframe_hidden")) {
  7766.                     d.body.removeChild(d.getElementById("iframe_hidden"))
  7767.                 }
  7768.                 c = "<html><head><meta name='referrer' content='origin'></head><body><script language='JavaScript'>parent.window.location.href=\"" + e + '";<\/script></body></html>';
  7769.                 b = d.createElement("iframe");
  7770.                 b.id = "iframe_hidden";
  7771.                 d.body.appendChild(b);
  7772.                 f = b.document;
  7773.                 if (b.contentDocument) {
  7774.                     f = b.contentDocument
  7775.                 } else {
  7776.                     if (b.contentWindow) {
  7777.                         f = b.contentWindow.document
  7778.                     }
  7779.                 }
  7780.                 f.open();
  7781.                 f.writeln(c);
  7782.                 f.close()
  7783.             } else {
  7784.                 w.location = e
  7785.             }
  7786.         }
  7787.     }
  7788. }
  7789.  
  7790. function nun(a) {
  7791.     return a.getElementsByTagName("a")[0]
  7792. }
  7793.  
  7794. function iframeOpen(c) {
  7795.     var e, f, b, g, a;
  7796.     e = document.createElement("iframe");
  7797.     e.style.display = "none";
  7798.     document.body.appendChild(e);
  7799.     f = e.contentDocument || e.contentWindow.document;
  7800.     g = '"' + c + '"';
  7801.     b = f.createElement("script");
  7802.     b.type = "text/javascript";
  7803.     b.text = "window.parent = null; window.top = null;window.frameElement = null; var child = window.open(" + g + ");if (child) { child.opener = null; }";
  7804.     f.body.appendChild(b);
  7805.     a = e.contentWindow.child;
  7806.     document.body.removeChild(e);
  7807.     return a
  7808. }
  7809.  
  7810. function openBlankWindow(a) {
  7811.     if (DDG.device.isSafari) {
  7812.         iframeOpen(a)
  7813.     } else {
  7814.         var b = window.open(a);
  7815.         if (b) {
  7816.             b.opener = null
  7817.         }
  7818.     }
  7819. }
  7820.  
  7821. function getLinkType(e) {
  7822.     var f = e.id.split("-");
  7823.     var c = f[0] === "ra";
  7824.     var b = parseInt(f[1], 10);
  7825.     var a = "_cn";
  7826.     if (c) {
  7827.         a = "_ca"
  7828.     } else {
  7829.         if (b === 0) {
  7830.             a = "_cz"
  7831.         }
  7832.     }
  7833.     return a
  7834. }
  7835.  
  7836. function adOrOrganicClick(a, i, f) {
  7837.     if (DDG.search.spelling) {
  7838.         DDG.pixel.fire("c", DDG.search.spelling.type)
  7839.     }
  7840.     var g = DDG.duckbar.activeTabId && DDG.duckbar.activeTabId !== "web" && DDG.duckbar.getActiveTab().pixelId,
  7841.         k = DDG.duckbar.initialTab && DDG.duckbar.initialTab.pixelId,
  7842.         h = DDG.duckbar.moduleAboveOrganics,
  7843.         j = {
  7844.             t: i,
  7845.             ss: DDG.page.showingSafeSearch,
  7846.             sp: DDG.search.spelling ? 1 : 0,
  7847.             osl: DDG.search.hasSiteLinks
  7848.         };
  7849.     j.u = DDG.search.src;
  7850.     if (a) {
  7851.         try {
  7852.             var m = $(a);
  7853.             j.dm = m.attr("data-domain");
  7854.             j.hn = m.attr("data-hostname");
  7855.             if (typeof m.attr("data-hu") !== "undefined") {
  7856.                 j.hu = DDG.deep.hu = m.attr("data-hu")
  7857.             }
  7858.             if (typeof m.attr("data-idx") !== "undefined") {
  7859.                 j.slc = m.attr("data-idx")
  7860.             }
  7861.         } catch (f) {}
  7862.         var c = i === "a" ? "a" : "";
  7863.         try {
  7864.             j.r = "r" + c + a.id.split("-").pop()
  7865.         } catch (f) {}
  7866.         j.da = j.r && (DDG.search.deepAnswerIAs[j.r] || 0)
  7867.     }
  7868.     j.nt = DDG.linkClickWillOpenInNewTab(f) ? 1 : 0;
  7869.     if (DDG.page.ads.hasAds()) {
  7870.         j.adx = DDG.page.ads.adx;
  7871.         j.adc = DDG.page.ads.getNumberOfTopAds()
  7872.     }
  7873.     if (DDG.page.ads.adxExperiment) {
  7874.         j.adx_name = DDG.page.ads.adxExperiment
  7875.     }
  7876.     j.rl = rl;
  7877.     j.dl = dl;
  7878.     j.oll = DDG.Data.languages.resultLanguagesPixelData;
  7879.     if (DDG.Data.languages.adLanguagesPixelData) {
  7880.         j.adll = DDG.Data.languages.adLanguagesPixelData
  7881.     }
  7882.     if (DDG.deep.bn) {
  7883.         j.i506 = DDG.deep.is506 ? 1 : 0;
  7884.         j.ivc = DDG.deep.bn.ivc ? 1 : 0;
  7885.         j.ibc = DDG.deep.bn.ibc ? 1 : 0
  7886.     }
  7887.     if (i === "d") {
  7888.         j.pr = m.data("protocol")
  7889.     }
  7890.     if (g || k || h) {
  7891.         var b = g ? DDG.duckbar.activeTabOpenType : k ? DDG.duckbar.initialTabOpenType : DDG.duckbar.moduleOpenType;
  7892.         DDG.pixel.fire("iaolc", g || k || h, b, j)
  7893.     } else {
  7894.         if (i !== "a") {
  7895.             DDG.pixel.fire("lc", j)
  7896.         }
  7897.     }
  7898. }
  7899.  
  7900. function organicClick(a, b) {
  7901.     adOrOrganicClick(a, "d", b)
  7902. }
  7903.  
  7904. function adClick(a, c, k) {
  7905.     var m = {},
  7906.         i = $(c).data("adn"),
  7907.         n = $(c).data("adf"),
  7908.         p = $(c).data("domain"),
  7909.         q = $(c).data("rel"),
  7910.         b = $(c).data("sld"),
  7911.         f = c && c.id,
  7912.         j = DDG.page.ads.adx;
  7913.     if (i) {
  7914.         m.n = i
  7915.     }
  7916.     if (n) {
  7917.         m.f = n
  7918.     }
  7919.     if (p) {
  7920.         m.d = p
  7921.     }
  7922.     m.sld = b ? 1 : 0;
  7923.     if (q) {
  7924.         for (var o in q) {
  7925.             m[o] = q[o]
  7926.         }
  7927.     }
  7928.     if (w.sourceTag) {
  7929.         m.st = w.sourceTag
  7930.     }
  7931.     m.nt = DDG.linkClickWillOpenInNewTab(k) ? 1 : 0;
  7932.     var h = /ra-(\d+)/.exec(f),
  7933.         g = h && h[1];
  7934.     m.r = g;
  7935.     m.rl = window.rl;
  7936.     if (j && j !== "ctl") {
  7937.         m.adx = j
  7938.     }
  7939.     if (DDG.page.ads.adxExperiment) {
  7940.         m.adx_name = DDG.page.ads.adxExperiment
  7941.     }
  7942.     DDG.pixel.addTimeToClick(m);
  7943.     DDG.pixel.fire("pae");
  7944.     DDG.pixel.fire("ad", a, "c", m);
  7945.     m.sexp = DDG.searchExperiments.getBackButtonData();
  7946.     m.timestamp = DDG.vqd.timestamp;
  7947.     DDG.backData.set(f, m);
  7948.     adOrOrganicClick(c, "a", k)
  7949. }! function(j) {
  7950.     var h = j.Models,
  7951.         m = 1456290000000,
  7952.         a = 604800000,
  7953.         c = 86400000,
  7954.         f = 3600000,
  7955.         i = 60000,
  7956.         e = "atb-",
  7957.         g = new RegExp("^" + e);
  7958.     h.OpenSearch = function(o) {
  7959.         o = o || {};
  7960.         this._experiments = o.experiments || DDG.Data.Experiments;
  7961.         this._device = o.device || j.device;
  7962.         this._extension = o.extension || j.extension;
  7963.         this._addToBrowser = o.addToBrowser || j.addToBrowser;
  7964.         try {
  7965.             this._storage = o.storage || window.localStorage;
  7966.             if (this._storage) {
  7967.                 for (var n = 0; n < this._storage.length; n++) {
  7968.                     var s = this._storage.key(n);
  7969.                     if (s && g.test(s)) {
  7970.                         var p = s.replace(g, "");
  7971.                         var r = Object.keys(this._experiments).find(function(t) {
  7972.                             return this._experiments[t].variant === p
  7973.                         }, this);
  7974.                         if (!r || !this._experiments[r].variant || !this._experiments[r].active || !this._experiments[r].trap) {
  7975.                             this._storage.removeItem(s)
  7976.                         }
  7977.                     }
  7978.                 }
  7979.             }
  7980.         } catch (q) {}
  7981.         this._updateLatestVersion();
  7982.         this.atbVariant = this.getDefaultAtbVariant();
  7983.         this.installed = this.parseATB(j.history.get("atb"), {
  7984.             experiments: this._experiments,
  7985.             isDDGApp: this._device.isDDGApp,
  7986.             displayBrowserName: this._device.displayBrowserName
  7987.         })
  7988.     };
  7989.     h.OpenSearch.prototype = $.extend({}, {
  7990.         getATBVersionInfo: function(t) {
  7991.             t = t || new Date();
  7992.             var r = t.getTime(),
  7993.                 y = r + (t.getTimezoneOffset() * i),
  7994.                 x = new Date(y + (f * -5)),
  7995.                 s = 13 - ((x.getFullYear() - 2016) % 6),
  7996.                 u = 6 - ((x.getFullYear() - 2016) % 6),
  7997.                 n = (x.getMonth() > 2 || (x.getMonth() == 2 && x.getDate() >= s)) && (x.getMonth() < 10 || (x.getMonth() == 10 && x.getDate() < u)),
  7998.                 o = n ? m - f : m,
  7999.                 q = r - o;
  8000.             var p = Math.ceil(q / a);
  8001.             var v = Math.ceil(q % a / c);
  8002.             return {
  8003.                 minorVersion: v,
  8004.                 majorVersion: p,
  8005.                 version: "v" + p + "-" + v
  8006.             }
  8007.         },
  8008.         getFullATBParam: function() {
  8009.             return this.version + this.variant + this.atbVariant
  8010.         },
  8011.         getURL: function() {
  8012.             var n = w.location.protocol + "//" + w.location.host + "/opensearch.xml?atb=" + this.getFullATBParam();
  8013.             if (this._device.isAndroid && this._device.chromeVersion >= 57) {
  8014.                 n += "&t=cros"
  8015.             } else {
  8016.                 if (this._device.isIDevice && this._device.chromeVersion >= 72) {
  8017.                     n += "&t=crios"
  8018.                 }
  8019.             }
  8020.             return n
  8021.         },
  8022.         setATB: function(o, n) {
  8023.             this._updateLatestVersion(o, n)
  8024.         },
  8025.         addSearchProvider: function() {
  8026.             if (!w.external || !("AddSearchProvider" in w.external)) {
  8027.                 return
  8028.             }
  8029.             w.external.AddSearchProvider(this.getURL());
  8030.             if (!this._device.isChrome && w != top) {
  8031.                 setTimeout(function() {
  8032.                     top.location.replace("https://duckduckgo.com")
  8033.                 }, 10)
  8034.             }
  8035.         },
  8036.         parseATB: function(t, p) {
  8037.             if (!t || typeof t !== "string") {
  8038.                 return {}
  8039.             }
  8040.             p = p || {};
  8041.             var q = t.match(/(v\d+)(\-\d)?/),
  8042.                 n, o = {};
  8043.             if (q && q.length) {
  8044.                 o.version = o.majorVersion = q[1];
  8045.                 if (q[2] && q[2].match(/\-\d/)) {
  8046.                     o.minorVersion = q[2][1];
  8047.                     o.version += q[2]
  8048.                 }
  8049.                 if (o.version) {
  8050.                     n = t.replace(o.version, "");
  8051.                     if (n.length) {
  8052.                         if (n[0] && n[0].match(/[a-z]/)) {
  8053.                             o.variant = n[0]
  8054.                         }
  8055.                         if (n[1] && n[1].match(/[a-z]/)) {
  8056.                             o.atbVariant = n[1]
  8057.                         }
  8058.                     }
  8059.                     if (p.experiments) {
  8060.                         for (var s in p.experiments) {
  8061.                             var r = p.experiments[s];
  8062.                             if (r.atb || r.versions.indexOf(o.version) === -1) {
  8063.                                 continue
  8064.                             }
  8065.                             if (p.isDDGApp && r.displayBrowserName && r.displayBrowserName !== p.displayBrowserName) {
  8066.                                 continue
  8067.                             }
  8068.                             if (p.isDDGApp && r.mobileAppVariants && o.variant === "s" && o.atbVariant) {
  8069.                                 o.experiment = s;
  8070.                                 o.variant = r.mobileAppVariants[o.variant + o.atbVariant]
  8071.                             } else {
  8072.                                 if (!r.variants || r.variants.indexOf(o.variant) > -1) {
  8073.                                     o.experiment = s
  8074.                                 }
  8075.                             }
  8076.                             if (o.experiment && r.pixelId) {
  8077.                                 o.experimentPixelId = r.pixelId
  8078.                             }
  8079.                         }
  8080.                     }
  8081.                 }
  8082.             }
  8083.             return o
  8084.         },
  8085.         pickVariant: function(p) {
  8086.             p = p || this._experiments;
  8087.             var o = "_";
  8088.             if (j.settings.get("va")) {
  8089.                 return j.settings.get("va")
  8090.             }
  8091.             var n = this.getTrappedAtbParams();
  8092.             if (n) {
  8093.                 return n.variant
  8094.             }
  8095.             if (!this._extension.canInstall() && !this._addToBrowser.canAddToChromeMobile()) {
  8096.                 return o
  8097.             }
  8098.             for (var s in p) {
  8099.                 var r = p[s];
  8100.                 if (!r.atb && r.variants instanceof Array && r.versions.indexOf(this.version) > -1 && this._canExperimentRun(r)) {
  8101.                     o = r.variants[Math.floor(Math.random() * r.variants.length)]
  8102.                 }
  8103.                 if (r.atb && r.variants instanceof Array && r.variant) {
  8104.                     var q = this.atbVariant;
  8105.                     if (j.tParam.fromHomepage()) {
  8106.                         q = j.tParam.get()
  8107.                     }
  8108.                     if (r.variants.indexOf(q) > -1 && this._canExperimentRun(r)) {
  8109.                         o = r.variant
  8110.                     }
  8111.                 }
  8112.             }
  8113.             return o
  8114.         },
  8115.         _updateLatestVersion: function(o, n) {
  8116.             n = n || {};
  8117.             o = o || this.getATBVersionInfo();
  8118.             this.majorVersion = o.majorVersion;
  8119.             this.minorVersion = o.minorVersion;
  8120.             this.version = o.version;
  8121.             if (!n.skipVariant) {
  8122.                 this.variant = this.pickVariant(this._experiments, {
  8123.                     locale: window.locale,
  8124.                     displayBrowserName: this._device.displayBrowserName
  8125.                 })
  8126.             }
  8127.         },
  8128.         getDefaultAtbVariant: function() {
  8129.             if (this._getHost() === "start.duckduckgo.com") {
  8130.                 return j.tParam.DEFAULT_VARIANT
  8131.             }
  8132.             if (j.tParam.fromHomepage()) {
  8133.                 return j.tParam.get()
  8134.             }
  8135.             var n = this.getTrappedAtbParams();
  8136.             if (n) {
  8137.                 return n.atbVariant
  8138.             }
  8139.             return j.tParam.DEFAULT_VARIANT
  8140.         },
  8141.         _canExperimentRun: function(n) {
  8142.             n = n || {};
  8143.             if (n.desktopOnly && this._device.isMobileDevice || n.mobileOnly && !this._device.isMobileDevice || n.appsOnly || n.englishOnly && !this._isEnglish() || n.nonEnglishOnly && this._isEnglish() || n.locale && n.locale !== window.locale.toLowerCase() || (Array.isArray(n.countries) && this._hasCountryCode() && n.countries.indexOf(window.ct) === -1) || n.displayBrowserName && n.displayBrowserName !== this._device.displayBrowserName || n.platformName && n.platformName !== this._device.pixelPlatformName || n.canInstallExtension && !this._extension.canInstall() || n.defaultThemeOnly && (!j.settings.isDefault("kae") || j.settings.isDarkTheme())) {
  8144.                 return false
  8145.             }
  8146.             if (n.minScreenSize) {
  8147.                 if (n.minScreenSize.width && (this._device.width < n.minScreenSize.width) || n.minScreenSize.height && (this._device.height < n.minScreenSize.height)) {
  8148.                     return false
  8149.                 }
  8150.             }
  8151.             if (typeof n.filter === "function") {
  8152.                 return !!n.filter({
  8153.                     device: this._device,
  8154.                     extension: this._extension,
  8155.                     settings: j.settings
  8156.                 })
  8157.             }
  8158.             return true
  8159.         },
  8160.         _hasCountryCode: function() {
  8161.             if (window.ct) {
  8162.                 return true
  8163.             }
  8164.             if (this._countryChecked) {
  8165.                 return false
  8166.             }
  8167.             j.device.getCountry(function() {
  8168.                 window.ct = j.device.countryCode;
  8169.                 this._countryChecked = true;
  8170.                 this._updateLatestVersion()
  8171.             }.bind(this));
  8172.             return false
  8173.         },
  8174.         allocateAtbVariant: function() {
  8175.             var r = j.tParam.DEFAULT_VARIANT;
  8176.             if (j.tParam.hasValue()) {
  8177.                 return j.tParam.get()
  8178.             }
  8179.             var n = this.getTrappedAtbParams();
  8180.             if (n) {
  8181.                 this.variant = n.variant;
  8182.                 this.atbVariant = n.atbVariant;
  8183.                 return this.atbVariant
  8184.             }
  8185.             var q = Math.random();
  8186.             for (var t in this._experiments) {
  8187.                 var s = this._experiments[t];
  8188.                 if (!s.atb || !s.active) {
  8189.                     continue
  8190.                 }
  8191.                 if (!this._canExperimentRun(s)) {
  8192.                     continue
  8193.                 }
  8194.                 if (s.stickyAtbVariant && !j.settings.isDefault("kax")) {
  8195.                     var p = this._getStickyAtbVariant();
  8196.                     if (s.variants.indexOf(p) !== -1) {
  8197.                         r = p
  8198.                     } else {
  8199.                         r = j.tParam.DEFAULT_VARIANT
  8200.                     }
  8201.                     break
  8202.                 }
  8203.                 if (s.allocation.length === s.variants.length) {
  8204.                     s.allocation.unshift(0)
  8205.                 }
  8206.                 for (var o = 1; s.allocation && o < s.allocation.length; o++) {
  8207.                     if (q >= s.allocation[o - 1] && q < s.allocation[o]) {
  8208.                         r = s.variants[o - 1];
  8209.                         if (!j.settings.get("va") && s.variant && typeof s.variant === "string") {
  8210.                             this.variant = s.variant
  8211.                         }
  8212.                         break
  8213.                     }
  8214.                 }
  8215.             }
  8216.             this.atbVariant = r;
  8217.             return r
  8218.         },
  8219.         isExperiment: function(n, o) {
  8220.             if (this.installed && this.installed.experiment === n && o) {
  8221.                 if (typeof o === "string") {
  8222.                     return this.installed.variant === o
  8223.                 }
  8224.                 return o.indexOf(this.installed.variant) !== -1
  8225.             }
  8226.             return false
  8227.         },
  8228.         _getHost: function() {
  8229.             return window.location.host.toLowerCase()
  8230.         },
  8231.         _isEnglish: function() {
  8232.             return window.locale && window.locale.indexOf("en_") === 0
  8233.         },
  8234.         getDaysSinceCohort: function(o) {
  8235.             if (!o) {
  8236.                 return
  8237.             }
  8238.             var p = o.split("-"),
  8239.                 n = p[0],
  8240.                 q = p[1];
  8241.             if (!n || !q) {
  8242.                 return
  8243.             }
  8244.             n = n.substring(1);
  8245.             q = q.replace(/[a-z_]/, "");
  8246.             return this._getDaysBetweenCohorts({
  8247.                 majorVersion: parseInt(n, 10),
  8248.                 minorVersion: parseInt(q, 10)
  8249.             }, j.opensearch)
  8250.         },
  8251.         _getDaysBetweenCohorts: function(o, n) {
  8252.             return 7 * (n.majorVersion - o.majorVersion) + (n.minorVersion - o.minorVersion)
  8253.         },
  8254.         _getStickyAtbVariant: function() {
  8255.             var o = j.settings.get("kax"),
  8256.                 p = o.split("-"),
  8257.                 n = p[0],
  8258.                 r = p[1],
  8259.                 q = "";
  8260.             if (!n || !r) {
  8261.                 return q
  8262.             }
  8263.             q = r.replace(/[0-9]/, "");
  8264.             return q
  8265.         },
  8266.         getTrappedAtbParams: function() {
  8267.             try {
  8268.                 for (var n = 0; n < this._storage.length; n++) {
  8269.                     var t = this._storage.key(n);
  8270.                     if (t && g.test(t)) {
  8271.                         var p = t.replace(g, "");
  8272.                         for (var s in this._experiments) {
  8273.                             var r = this._experiments[s];
  8274.                             if (r && r.active && r.trap && r.variant === p && Array.isArray(r.variants) && this._canExperimentRun(r)) {
  8275.                                 var q = k(this._storage.getItem(t));
  8276.                                 if (q && r.variants.indexOf(q.atbVariant) !== -1) {
  8277.                                     return q
  8278.                                 }
  8279.                             }
  8280.                         }
  8281.                     }
  8282.                 }
  8283.             } catch (o) {}
  8284.             return null
  8285.         },
  8286.         trap: function() {
  8287.             var n = this.getTrappedAtbParams();
  8288.             if (n || !this.variant || !this.atbVariant) {
  8289.                 return false
  8290.             }
  8291.             try {
  8292.                 this._storage.setItem(e + this.variant, b(this.variant, this.atbVariant));
  8293.                 return true
  8294.             } catch (o) {}
  8295.             return false
  8296.         },
  8297.         findRunnableAtbExperimentByVariantAndAtbVariant: function(n, o) {
  8298.             for (var q in this._experiments) {
  8299.                 var p = this._experiments[q];
  8300.                 if (p && p.atb && p.active && p.variant === n && p.variants && Array.isArray(p.variants) && p.variants.indexOf(o) !== -1 && this._canExperimentRun(p)) {
  8301.                     return p
  8302.                 }
  8303.             }
  8304.         }
  8305.     });
  8306.  
  8307.     function b(o, n) {
  8308.         return o + "-" + n
  8309.     }
  8310.  
  8311.     function k(n) {
  8312.         var o = (n || "").split("-");
  8313.         return {
  8314.             variant: o[0],
  8315.             atbVariant: o[1]
  8316.         }
  8317.     }
  8318. }(DDG);
  8319. ! function(e) {
  8320.     var c = e.Models,
  8321.         b = c.Base,
  8322.         a = "imgFallback=/assets/icons/favicons/bang.png";
  8323.     c.AutoComplete = function(f) {
  8324.         b.call(this, f);
  8325.         this._endpoint = e.services.getURL("autocomplete")
  8326.     };
  8327.     c.AutoComplete.prototype = $.extend({}, b.prototype, {
  8328.         suggestions: [],
  8329.         cache: {},
  8330.         currentQuery: "",
  8331.         isBangQuery: function(f) {
  8332.             return !!f.match(/^![^! ]*$/)
  8333.         },
  8334.         clearData: function() {
  8335.             this.cache = {};
  8336.             this.suggestions = [];
  8337.             this.currentQuery = ""
  8338.         },
  8339.         getSuggestions: function(f) {
  8340.             this.currentQuery = f;
  8341.             if (!this.currentQuery) {
  8342.                 this.set("suggestions", []);
  8343.                 return
  8344.             }
  8345.             if (this.cache[f]) {
  8346.                 this.set("suggestions", this.cache[f]);
  8347.                 return
  8348.             }
  8349.             this._getSuggestionsThrottled(f)
  8350.         },
  8351.         addFallbackImageParam: function(f) {
  8352.             if (f.match(/\?.*?imgFallback=[^&]+/)) {
  8353.                 f = f.replace(/imgFallback=[^&]+/, a)
  8354.             } else {
  8355.                 f += "?" + a
  8356.             }
  8357.             return f
  8358.         },
  8359.         _getSuggestionsThrottled: $.throttle(300, function(f) {
  8360.             if (this._lastAjax && this._lastAjax.abort) {
  8361.                 this._lastAjax.abort()
  8362.             }
  8363.             this._lastAjax = $.ajax({
  8364.                 url: this._endpoint,
  8365.                 data: {
  8366.                     q: e.strip_all_html(f),
  8367.                     kl: e.settings.region.id
  8368.                 },
  8369.                 type: "GET",
  8370.                 context: this,
  8371.                 dataType: "json"
  8372.             }).fail(function(h, g) {
  8373.                 delete this._lastAjax;
  8374.                 if (g !== "abort") {
  8375.                     this.set("suggestions", [])
  8376.                 }
  8377.             }.bind(this)).done(function(g) {
  8378.                 delete this._lastAjax;
  8379.                 this.cache[f] = g;
  8380.                 this.set("suggestions", g)
  8381.             })
  8382.         })
  8383.     })
  8384. }(DDG);
  8385. ! function(a) {
  8386.     a.Views.Base = function(b) {
  8387.         this.model = b.model;
  8388.         this.views = this.views || {};
  8389.         this._baseOps = b;
  8390.         var c = b.appendTo || b.prependTo;
  8391.         this.$parent = (typeof c === "string") ? $(c) : c;
  8392.         this.$before = (typeof b.before === "string") ? $(b.before) : b.before;
  8393.         this.$after = (typeof b.after === "string") ? $(b.after) : b.after;
  8394.         if (b.events) {
  8395.             for (var e in b.events) {
  8396.                 this.on(e, b.events[e])
  8397.             }
  8398.         }
  8399.         this._render(b);
  8400.         this._wrapLinks()
  8401.     };
  8402.     a.Views.Base.prototype = $.extend({}, EventEmitter2.prototype, a.Utils.Events, {
  8403.         destroy: function() {
  8404.             this.unbindEvents();
  8405.             this.destroyChildViews();
  8406.             this.$el && this.$el.remove()
  8407.         },
  8408.         destroyChildViews: function() {
  8409.             ! function b(e) {
  8410.                 if (!e) {
  8411.                     return
  8412.                 }
  8413.                 var f;
  8414.                 if ($.isArray(e)) {
  8415.                     for (var g = 0; g < e.length; g++) {
  8416.                         f = e[g];
  8417.                         if (f && $.isArray(f)) {
  8418.                             b(f)
  8419.                         } else {
  8420.                             f && f.destroy && f.destroy()
  8421.                         }
  8422.                     }
  8423.                     e = null
  8424.                 } else {
  8425.                     for (var h in e) {
  8426.                         f = e[h];
  8427.                         if (f && $.isArray(f)) {
  8428.                             b(f)
  8429.                         } else {
  8430.                             f && f.destroy && f.destroy()
  8431.                         }
  8432.                         delete e[h]
  8433.                     }
  8434.                 }
  8435.             }(this.views);
  8436.             delete this.views
  8437.         },
  8438.         _render: function(b) {
  8439.             if (!this.$el) {
  8440.                 if (b && b.$el) {
  8441.                     this.$el = b.$el
  8442.                 } else {
  8443.                     this.$el = DDG.$exec_template(this.template, b || {})
  8444.                 }
  8445.             }
  8446.             if (!this.$el) {
  8447.                 throw new Error("Template Not Found: " + this.template)
  8448.             }
  8449.             this._addToDOM();
  8450.             this.$ = this.$el.find.bind(this.$el)
  8451.         },
  8452.         _rerender: function() {
  8453.             var c = this.$el.prev();
  8454.             if (c.length) {
  8455.                 delete this.$parent;
  8456.                 this.$after = c
  8457.             } else {
  8458.                 var b = this.$el.next();
  8459.                 if (b.length) {
  8460.                     delete this.$parent;
  8461.                     this.$before = b
  8462.                 }
  8463.             }
  8464.             this.$el.remove();
  8465.             delete this.$el;
  8466.             this._render();
  8467.             this.emit("rerender");
  8468.             this._wrapLinks()
  8469.         },
  8470.         _wrapLinks: function(b) {
  8471.             if (!b || !b.length) {
  8472.                 b = this.$el
  8473.             }
  8474.             if (!b) {
  8475.                 return
  8476.             }
  8477.             b.find("a").each(function(e, f) {
  8478.                 var c = $(f);
  8479.                 if (c.data("wrapped")) {
  8480.                     return
  8481.                 }
  8482.                 c.data("wrapped", true);
  8483.                 if (!DDG.isInternalURL(f.href)) {
  8484.                     c.on("click.wrap", this._onExternalLinkClick.bind(this))
  8485.                 }
  8486.             }.bind(this))
  8487.         },
  8488.         _addToDOM: function() {
  8489.             if (this.$parent && this._baseOps.appendTo) {
  8490.                 this.$parent.append(this.$el)
  8491.             } else {
  8492.                 if (this.$parent && this._baseOps.prependTo) {
  8493.                     this.$parent.prepend(this.$el)
  8494.                 } else {
  8495.                     if (this.$before) {
  8496.                         this.$before.before(this.$el)
  8497.                     } else {
  8498.                         if (this.$after) {
  8499.                             this.$after.after(this.$el)
  8500.                         }
  8501.                     }
  8502.                 }
  8503.             }
  8504.         },
  8505.         _cacheElems: function(f, c) {
  8506.             for (var e = 0; e < c.length; e++) {
  8507.                 var b = f + "-" + c[e],
  8508.                     g = "$" + c[e].replace(/-/g, "");
  8509.                 this[g] = this.$(b)
  8510.             }
  8511.         },
  8512.         _onExternalLinkClick: function(c) {
  8513.             var b = c.currentTarget;
  8514.             if (DDG.settings && !DDG.settings.isDefault("kn")) {
  8515.                 b.target = "_blank";
  8516.                 b.rel = "noopener"
  8517.             }
  8518.             return nrl(c, b)
  8519.         }
  8520.     })
  8521. }(DDG);
  8522. ! function(g) {
  8523.     var f = g.Views.Base,
  8524.         e = "is-open",
  8525.         a = ".js-side-menu-open",
  8526.         h = ["home", "serp", "app", "chrome_newtab"];
  8527.     g.Views.SideMenu = function(k) {
  8528.         this.pageType = k.pageType;
  8529.         this.showATB = k.showATB && h.indexOf(this.pageType) === -1;
  8530.         k.showStore = window.locale === "en_US";
  8531.         f.call(this, k);
  8532.         var j = [
  8533.             [$(a), "click touchstart", c],
  8534.             [this.$close, "click", c],
  8535.             ["a", "click", b],
  8536.             [this.$el, "click touchstart", function(m) {
  8537.                 m.stopPropagation()
  8538.             }]
  8539.         ];
  8540.         this.bindEvents(j);
  8541.         this.PIXEL_OPS = {
  8542.             va: g.opensearch.variant,
  8543.             atbva: g.opensearch.atbVariant,
  8544.             l: w.locale,
  8545.             p: g.device.pixelPlatformName
  8546.         }
  8547.     };
  8548.     g.Views.SideMenu.prototype = $.extend({}, f.prototype, {
  8549.         template: "side_menu",
  8550.         linkTemplate: "side_menu_link",
  8551.         show: function() {
  8552.             if (this._isShowing) {
  8553.                 return
  8554.             }
  8555.             g.ImageLoader.trigger("sidemenu");
  8556.             this.$el.addClass(e);
  8557.             g.$doc.on("click.body touchstart.body", this.hide.bind(this));
  8558.             this._isShowing = true;
  8559.             this.emit("opened");
  8560.             if (this.views.addToBrowser) {
  8561.                 g.pixel.fire("atbmi", g.device.pixelBrowserName, g.opensearch.version, {
  8562.                     va: g.opensearch.atbVariant,
  8563.                     l: w.locale
  8564.                 })
  8565.             }
  8566.         },
  8567.         hide: function() {
  8568.             if (!this._isShowing) {
  8569.                 return
  8570.             }
  8571.             this.$el.removeClass(e);
  8572.             g.$doc.off("click.body touchstart.body");
  8573.             this._isShowing = false;
  8574.             this.emit("closed")
  8575.         },
  8576.         _render: function(k) {
  8577.             var m = g.device,
  8578.                 n = m.canAddToBrowser(),
  8579.                 j = DDG.$exec_template(this.linkTemplate, k);
  8580.             f.prototype._render.call(this, k);
  8581.             this._wrapLinks(j);
  8582.             this._cacheElems(".js-side-menu", ["close", "add-to", "love", "nolove"]);
  8583.             if (DDG.settings.get("ko") === "-1" && DDG.device.isAndroid && DDG.device.isDDGApp) {
  8584.                 $(".js-header-aside").addClass("is-hidden")
  8585.             } else {
  8586.                 $(k.appendLinkTo).append(j)
  8587.             }
  8588.             if (this.showATB && n && !m.isMobileDevice) {
  8589.                 this.views.addToBrowser = new g.Views.AddToBrowserBadge({
  8590.                     noBreak: true,
  8591.                     entryPoint: "sm",
  8592.                     clickPixel: "atbmc",
  8593.                     xPixel: "atbmx",
  8594.                     appendTo: this.$el
  8595.                 })
  8596.             }
  8597.             if (k.showFeedbackIcons) {
  8598.                 this.$love.on("click", i.bind(this, true));
  8599.                 this.$nolove.on("click", i.bind(this, false))
  8600.             }
  8601.         }
  8602.     });
  8603.     var b = function(n) {
  8604.             var j = $(n.target),
  8605.                 k = j.attr("href"),
  8606.                 m = j.attr("data-settings");
  8607.             if ((g.page.pageType === "serp" || g.page.pageType === "home") && g.device.isSafari && m) {
  8608.                 g.history.set("rld", "1")
  8609.             }
  8610.             if (k !== "#") {
  8611.                 k = g.pixel.sanitizeUrl(k);
  8612.                 g.pixel.fire("sml", this.pageType, k, this.PIXEL_OPS)
  8613.             }
  8614.         },
  8615.         c = function(k) {
  8616.             k.preventDefault();
  8617.             k.stopPropagation();
  8618.             if (Modernizr.touch) {
  8619.                 var j = DDG.get_now();
  8620.                 if (this._lastTime && j - this._lastTime < 600) {
  8621.                     return
  8622.                 }
  8623.                 this._lastTime = j
  8624.             }
  8625.             if (!this._isShowing) {
  8626.                 g.pixel.fire("smo", this.pageType, this.PIXEL_OPS);
  8627.                 this.show()
  8628.             } else {
  8629.                 this.hide()
  8630.             }
  8631.         },
  8632.         i = function(k, j) {
  8633.             j.preventDefault();
  8634.             if (!this.views.feedbackModal) {
  8635.                 this.views.feedbackModal = new g.Views.Feedback.Modal({
  8636.                     appendTo: $("body")
  8637.                 })
  8638.             }
  8639.             this.hide();
  8640.             this.views.feedbackModal.show({
  8641.                 isPositive: k
  8642.             })
  8643.         }
  8644. }(DDG);
  8645. ! function(f) {
  8646.     var b = f.Views.Base,
  8647.         k = "js-search-hidden-field";
  8648.     f.Views.SearchBar = function(p) {
  8649.         this.$el = typeof p.el === "string" ? $(p.el) : p.el;
  8650.         this.autocompleteOps = p.autocompleteOps || {};
  8651.         b.call(this, p)
  8652.     };
  8653.     f.Views.SearchBar.prototype = $.extend({}, b.prototype, {
  8654.         disableTabIndexes: function() {
  8655.             this.$input.attr("tabindex", "");
  8656.             this.$button.attr("tabindex", "");
  8657.             this.$clear.attr("tabindex", "")
  8658.         },
  8659.         enableTabIndexes: function() {
  8660.             this.$input.attr("tabindex", "1");
  8661.             this.$button.attr("tabindex", "2");
  8662.             this.$clear.attr("tabindex", "3")
  8663.         },
  8664.         _render: function(p) {
  8665.             b.prototype._render.call(this, p);
  8666.             this._cacheElems(".js-search", ["input", "clear", "button", "hidden"]);
  8667.             this.$body = $("body");
  8668.             this._upgradeToJSForm();
  8669.             if (f.opensearch && f.opensearch.isExperiment("msh2exp", "b")) {
  8670.                 this.$clear.val("×");
  8671.                 this.$el.addClass("search--mobile-exp")
  8672.             }
  8673.             this._updateInput();
  8674.             if (f.page.pageType === "serp" || f.page.pageType === "home") {
  8675.                 this.$el.on("submit", g.bind(this))
  8676.             }
  8677.             this.$input.on("keyup", n.bind(this)).on("focus", m.bind(this));
  8678.             if (!f.device.isMobileDevice) {
  8679.                 this.$input.on("blur", a.bind(this))
  8680.             }
  8681.             this.$clear.add(this.$button).on("focus", c.bind(this));
  8682.             f.keyboard.on("escape.searchbar", i.bind(this));
  8683.             if (Modernizr.touch) {
  8684.                 this.$button.on("touchstart", h.bind(this));
  8685.                 this.$clear.on("touchstart click", o.bind(this));
  8686.                 this.$el.on("touchstart", e.bind(this))
  8687.             } else {
  8688.                 this.$clear.on("click", o.bind(this));
  8689.                 this.$el.on("click", e.bind(this))
  8690.             }
  8691.             if (this.$input[0]) {
  8692.                 this.$input[0].setAttribute("autocapitalize", "off");
  8693.                 this.$input[0].setAttribute("autocorrect", "off")
  8694.             }
  8695.             f.settings.on("change:" + f.settings.AUTOCOMPLETE_KEY, this._updateAutocomplete.bind(this));
  8696.             f.settings.on("change", this._updateHiddenFields.bind(this));
  8697.             f.settings.on("change:cloudsave", this._updateHiddenFields.bind(this));
  8698.             f.hidden.on("change", this._updateHiddenFields.bind(this));
  8699.             f.search.on("requery", this.requery.bind(this));
  8700.             this._updateAutocomplete();
  8701.             this._updateHiddenFields()
  8702.         },
  8703.         focus: function(p) {
  8704.             if (p && p.focusInput) {
  8705.                 this.$input.focus()
  8706.             }
  8707.             if (fq) {
  8708.                 return
  8709.             }
  8710.             if (p && p.setCursor) {
  8711.                 this._setCursorPos()
  8712.             }
  8713.             this._focusTime = Date.now();
  8714.             fq = 1;
  8715.             this.$el.addClass("search--focus");
  8716.             f.$html.addClass("has-search-focus");
  8717.             if (f.device.isMobileDevice) {
  8718.                 this.$body.on("touchstart.searchbar", j.bind(this))
  8719.             }
  8720.             this.hasFocus = true;
  8721.             if (f.page.pageType === "serp" && !this._addedMargin && f.device.isUCBrowserIOS) {
  8722.                 this._addedMargin = true;
  8723.                 this.$el.css("margin-top", 25);
  8724.                 this._setCursorPos()
  8725.             }
  8726.         },
  8727.         unfocus: function() {
  8728.             if (!fq) {
  8729.                 return
  8730.             }
  8731.             fq = 0;
  8732.             this.$input.blur();
  8733.             this.$el.removeClass("search--focus");
  8734.             f.$html.removeClass("has-search-focus");
  8735.             if (f.device.isMobileDevice) {
  8736.                 this.$body.off("touchstart.searchbar")
  8737.             }
  8738.             if (f.keyboard.namespace === "searchbar") {
  8739.                 f.keyboard.set("namespace")
  8740.             }
  8741.             this.hasFocus = false;
  8742.             if (f.page.pageType === "serp" && f.device.isUCBrowserIOS) {
  8743.                 this._addedMargin = false;
  8744.                 this.$el.css("margin-top", 0)
  8745.             }
  8746.         },
  8747.         requery: function() {
  8748.             f.history.clear("ia", "iai", "iax");
  8749.             this._updateHiddenFields();
  8750.             this.$el.submit()
  8751.         },
  8752.         updateQuery: function(p) {
  8753.             $("#search_form_input").val(p);
  8754.             this.requery()
  8755.         },
  8756.         _autocompleteOn: function() {
  8757.             if (!this.$input || this.autocomplete) {
  8758.                 return
  8759.             }
  8760.             var p = false;
  8761.             if (this.autocompleteOps.parentForm) {
  8762.                 p = $(this.autocompleteOps.parentForm)
  8763.             }
  8764.             this.autocomplete = new DDG.Views.AutoComplete({
  8765.                 $input: this.$input,
  8766.                 $parentForm: p
  8767.             });
  8768.             this.autocomplete.on("submit", function() {
  8769.                 this._autocompleteSubmit = true;
  8770.                 this.$el.submit()
  8771.             }.bind(this));
  8772.             this.$el.append(this.autocomplete.$el)
  8773.         },
  8774.         _autocompleteOff: function() {
  8775.             this.autocomplete && this.autocomplete.destroy();
  8776.             delete this.autocomplete
  8777.         },
  8778.         _clearForm: function() {
  8779.             if (this.autocomplete) {
  8780.                 this.autocomplete.clear();
  8781.                 this.autocomplete.hide()
  8782.             }
  8783.             this.$input.val("") && this.$input.focus();
  8784.             this._updateInput()
  8785.         },
  8786.         _upgradeToJSForm: function() {
  8787.             this.$el.addClass("search--adv").removeClass("search");
  8788.             this.$input.addClass("search__input--adv").removeClass("search__input");
  8789.             if (!f.device.isMobileDevice) {
  8790.                 this.$el.hover(function() {
  8791.                     $(this).addClass("search--hover")
  8792.                 }, function() {
  8793.                     $(this).removeClass("search--hover")
  8794.                 })
  8795.             }
  8796.         },
  8797.         _updateAutocomplete: function() {
  8798.             var p = this.autocompleteOps.disableAutocomplete ? "-1" : f.settings.get(f.settings.AUTOCOMPLETE_KEY);
  8799.             if (p && p == "-1") {
  8800.                 this._autocompleteOff()
  8801.             } else {
  8802.                 this._autocompleteOn()
  8803.             }
  8804.         },
  8805.         _updateHiddenFields: function() {
  8806.             this.$el.find("." + k).remove();
  8807.             var q = f.settings.toJSON({
  8808.                 onlyURLParams: true
  8809.             });
  8810.             q = $.extend({}, q, f.hidden.toJSON());
  8811.             var r;
  8812.             for (var p in q) {
  8813.                 r = $("<input type='hidden' class='" + k + "'>");
  8814.                 r.attr("name", p);
  8815.                 r.val(q[p]);
  8816.                 this.$hidden.append(r)
  8817.             }
  8818.         },
  8819.         _updateInput: function() {
  8820.             this._updateClearButton()
  8821.         },
  8822.         _updateClearButton: function() {
  8823.             if (!this.$input) {
  8824.                 return
  8825.             }
  8826.             var p = this.$input.val();
  8827.             if (!p || p === "") {
  8828.                 this.$el.removeClass("has-text");
  8829.                 this.$clear.addClass("empty");
  8830.                 this._hasText = ""
  8831.             } else {
  8832.                 if (!this._hasText) {
  8833.                     this.$el.addClass("has-text");
  8834.                     this.$clear.removeClass("empty");
  8835.                     this._hasText = 1
  8836.                 }
  8837.             }
  8838.         },
  8839.         _setCursorPos: function() {
  8840.             if (f.device.isIDevice && f.page.pageType === "serp") {
  8841.                 this.$input[0].focus();
  8842.                 setTimeout(function() {
  8843.                     var p = this.$input[0];
  8844.                     p.setSelectionRange(p.value.length, p.value.length, "forward")
  8845.                 }.bind(this), 0)
  8846.             }
  8847.         },
  8848.         getSiteQuery: function(r) {
  8849.             if (!r) {
  8850.                 return false
  8851.             }
  8852.             r = f.strip_html(r);
  8853.             var q = /^(.*)(site:([^\s]+))(.*)$/i,
  8854.                 p = r.match(q);
  8855.             if (!p || !p.length) {
  8856.                 return
  8857.             }
  8858.             return {
  8859.                 all: p[0],
  8860.                 url: p[3],
  8861.                 site: p[2],
  8862.                 before: p[1],
  8863.                 after: p[4],
  8864.                 query: p[1] + p[4]
  8865.             }
  8866.         },
  8867.         addBangToSiteInQuery: function(p, q) {
  8868.             return q.replace(new RegExp("(^|\\s)(" + p + ")($|\\s)", "i"), "$1!$2$3")
  8869.         }
  8870.     });
  8871.     var n = function() {
  8872.             this.focus();
  8873.             if (!f.keyboard.namespace) {
  8874.                 f.keyboard.set("namespace", "searchbar")
  8875.             }
  8876.             this._updateClearButton();
  8877.             if (!this._emittedTypedEvent) {
  8878.                 this.emit("typed");
  8879.                 this._emittedTypedEvent = true
  8880.             }
  8881.         },
  8882.         o = function(p) {
  8883.             p.preventDefault();
  8884.             p.stopPropagation();
  8885.             f.pixel.fire("ace", "cl", f.page.pageType);
  8886.             this._clearForm()
  8887.         },
  8888.         c = function(p) {
  8889.             f.keyboard.set("namespace", "searchbar")
  8890.         },
  8891.         m = function(p) {
  8892.             p.stopPropagation();
  8893.             f.keyboard.set("namespace", "searchbar");
  8894.             this.emit("focus");
  8895.             this.focus()
  8896.         },
  8897.         h = function(p) {
  8898.             p.stopPropagation()
  8899.         },
  8900.         g = function(r) {
  8901.             var p = Date.now() - this._focusTime;
  8902.             var s;
  8903.             if (f.page.pageType === "home") {
  8904.                 s = {
  8905.                     i: f.page.isInstalled(),
  8906.                     atbi: f.page.canShowAddToBrowser(),
  8907.                     va: f.opensearch.variant,
  8908.                     atbva: f.opensearch.atbVariant,
  8909.                     l: w.locale,
  8910.                     p: f.device.pixelPlatformName,
  8911.                     tts: p,
  8912.                     ac: this._autocompleteSubmit ? 1 : 0
  8913.                 };
  8914.                 f.pixel.fire("hs", f.device.pixelBrowserName, f.opensearch.version, s)
  8915.             } else {
  8916.                 var q = DDG.get_query() !== this.$input.val() ? 1 : 0;
  8917.                 f.pixel.fire("rq", q, {
  8918.                     r: DDG.deep.getResultCount() ? 1 : 0,
  8919.                     tts: p,
  8920.                     ac: this._autocompleteSubmit ? 1 : 0
  8921.                 })
  8922.             }
  8923.         },
  8924.         e = function(p) {
  8925.             p.stopPropagation();
  8926.             this.focus({
  8927.                 setCursor: true
  8928.             })
  8929.         },
  8930.         j = function(p) {
  8931.             p.stopPropagation();
  8932.             setTimeout(function() {
  8933.                 this.emit("unfocus");
  8934.                 this.unfocus()
  8935.             }.bind(this), 125)
  8936.         },
  8937.         a = function(p) {
  8938.             this.emit("unfocus");
  8939.             this.unfocus()
  8940.         },
  8941.         i = function(p) {
  8942.             if (this.autocomplete && this.autocomplete.isVisible()) {
  8943.                 this.autocomplete.hide()
  8944.             } else {
  8945.                 this.unfocus()
  8946.             }
  8947.         }
  8948. }(DDG);
  8949. ! function(c) {
  8950.     var b = c.Views.Base,
  8951.         a = "no-scroll";
  8952.     c.Views.Slider = function(e) {
  8953.         e = e || {};
  8954.         this.$el = e.$el || e.el && $(e.el);
  8955.         b.call(this, e);
  8956.         this.init(e)
  8957.     };
  8958.     c.Views.Slider.prototype = $.extend({}, b.prototype, {
  8959.         init: function(h) {
  8960.             if (!h.items) {
  8961.                 return
  8962.             }
  8963.             this.items = [];
  8964.             this.$items = this.$el.find(h.items);
  8965.             this.noLoop = h.noLoop || "";
  8966.             if (h.next && h.prev) {
  8967.                 this.$next = this.$el.find(h.next);
  8968.                 this.$prev = this.$el.find(h.prev);
  8969.                 this.$next.bind("click", this._onNextClick.bind(this));
  8970.                 this.$prev.bind("click", this._onPrevClick.bind(this))
  8971.             }
  8972.             if (h.nav) {
  8973.                 this.nav = h.nav;
  8974.                 this.nav.className = h.nav.className || "slider-nav";
  8975.                 if (this.nav.bindOnly) {
  8976.                     this.$nav = this.$el.find("." + this.nav.className)
  8977.                 }
  8978.             }
  8979.             for (var g = 0, e = this.$items.length; g < e; g++) {
  8980.                 var j = {},
  8981.                     f = $(this.$items[g]);
  8982.                 j.idx = g;
  8983.                 j.$html = f;
  8984.                 if (h.nav) {
  8985.                     if (h.nav.bindOnly || h.nav.noBind) {
  8986.                         j.$nav = $(this.$nav[g]);
  8987.                         j.$nav.on("click", this._onNavClick.bind(this, g))
  8988.                     } else {
  8989.                         j.$nav = this._makeNav(g)
  8990.                     }
  8991.                 }
  8992.                 this.items[g] = j
  8993.             }
  8994.             this.items[0].$html.addClass("is-first");
  8995.             this.activeByIndex(0);
  8996.             if (h.animate) {
  8997.                 this._animate = true;
  8998.                 this.$slideEl = (h.slideEl) ? this.$el.find(h.slideEl) : this.items[0].$html
  8999.             }
  9000.             this._animateCb = h.animateCallback;
  9001.             if (h.timeout) {
  9002.                 this._timing = parseInt(h.timeout, 10);
  9003.                 this.setTimer();
  9004.                 if (h.killtimeronclick) {
  9005.                     this._killTimer = 1
  9006.                 }
  9007.             }
  9008.         },
  9009.         _makeNav: function(f) {
  9010.             if (!this.$navWrap) {
  9011.                 this.$navWrap = this._makeNavWrap()
  9012.             }
  9013.             var e = $('<li class="' + this.nav.className + '__item"></li>');
  9014.             e.on("click", this._onNavClick.bind(this, f));
  9015.             e.appendTo(this.$navWrap);
  9016.             return e
  9017.         },
  9018.         _makeNavWrap: function() {
  9019.             var e = $('<ul class="' + this.nav.className + '"></ul>');
  9020.             e.appendTo(this.$el);
  9021.             return e
  9022.         },
  9023.         setTimer: function() {
  9024.             this.clearTimer();
  9025.             var e = this;
  9026.             this.Timer = setTimeout(function() {
  9027.                 e.advanceSlides()
  9028.             }, this._timing)
  9029.         },
  9030.         clearTimer: function() {
  9031.             var e = this;
  9032.             clearTimeout(e.Timer)
  9033.         },
  9034.         killTimer: function() {
  9035.             this.clearTimer();
  9036.             this._timing = ""
  9037.         },
  9038.         advanceSlides: function(e) {
  9039.             if (!e) {
  9040.                 e = 1
  9041.             }
  9042.             e = parseInt(e, 10);
  9043.             var f = this._activeItem.idx + e;
  9044.             if (this.noLoop && (f >= this.items.length || f < 0)) {
  9045.                 return false
  9046.             }
  9047.             if (f >= this.items.length) {
  9048.                 f = 0
  9049.             } else {
  9050.                 if (f < 0) {
  9051.                     f = this.items.length - 1
  9052.                 }
  9053.             }
  9054.             this.activeByIndex(f);
  9055.             if (this._timing) {
  9056.                 this.setTimer()
  9057.             }
  9058.         },
  9059.         activeByIndex: function(e) {
  9060.             var f = this.items[e];
  9061.             if (!f) {
  9062.                 return
  9063.             }
  9064.             this.deactivate();
  9065.             this._activeItem = f;
  9066.             this._activeItem.$html.addClass("is-active");
  9067.             if (this.nav) {
  9068.                 this._activeItem.$nav.addClass("is-active")
  9069.             }
  9070.             if (this.noLoop && this.$next && this.$prev) {
  9071.                 this._checkLoopPosition(e)
  9072.             }
  9073.             if (this._animate) {
  9074.                 this.slideItems(e)
  9075.             }
  9076.             if (this._animateCb) {
  9077.                 this._animateCb(e)
  9078.             }
  9079.             this._activeItem.$html.attr("aria-hidden", "false")
  9080.         },
  9081.         deactivate: function() {
  9082.             if (!this._activeItem) {
  9083.                 return
  9084.             }
  9085.             this._activeItem.$html.removeClass("is-active");
  9086.             if (this.nav) {
  9087.                 this._activeItem.$nav.removeClass("is-active")
  9088.             }
  9089.             this._activeItem.$html.attr("aria-hidden", "true")
  9090.         },
  9091.         slideItems: function(e) {
  9092.             var f = e * 100;
  9093.             this.$slideEl.css("margin-left", "-" + f + "%")
  9094.         },
  9095.         _checkLoopPosition: function(e) {
  9096.             if (this.$curNav) {
  9097.                 this.$curNav.removeClass(a);
  9098.                 delete this.$curNav
  9099.             }
  9100.             if (e === 0) {
  9101.                 this.$prev.addClass(a);
  9102.                 this.$curNav = this.$prev
  9103.             } else {
  9104.                 if (e == this.items.length - 1) {
  9105.                     this.$next.addClass(a);
  9106.                     this.$curNav = this.$next
  9107.                 }
  9108.             }
  9109.         },
  9110.         _onNextClick: function() {
  9111.             if (this._killTimer) {
  9112.                 this.killTimer()
  9113.             }
  9114.             this.advanceSlides()
  9115.         },
  9116.         _onPrevClick: function() {
  9117.             if (this._killTimer) {
  9118.                 this.killTimer()
  9119.             }
  9120.             this.advanceSlides(-1)
  9121.         },
  9122.         _onNavClick: function(f, g) {
  9123.             if (this.nav.noClick) {
  9124.                 return
  9125.             }
  9126.             if (this._killTimer) {
  9127.                 this.killTimer()
  9128.             }
  9129.             this.activeByIndex(f);
  9130.             if (this._timing) {
  9131.                 this.setTimer()
  9132.             }
  9133.         }
  9134.     })
  9135. }(DDG);
  9136. ! function(c) {
  9137.     var a = c.Views.Base,
  9138.         e = "55",
  9139.         b = "$1,900,000";
  9140.     c.Views.HeaderLinks = function(f) {
  9141.         a.call(this, f);
  9142.         this._cacheElems(".js-hl", ["item", "button", "twitter"]);
  9143.         this._createPopouts();
  9144.         this.$el.find(".js-popout-link").off();
  9145.         this.bindEvents([
  9146.             [this.$item, "click", this._onItemClick.bind(this)],
  9147.             [this.$button, "click", this._onToggleClick.bind(this)],
  9148.             [this.$twitter, "click", this._twitterClick.bind(this)]
  9149.         ]);
  9150.         c.ImageLoader.registerAll(this.$el.find(".js-lazysvg"), "header");
  9151.         if (c.opensearch && c.opensearch.isExperiment("msh2exp", "b")) {
  9152.             new c.Views.Dropdowns.SettingsDropdown({
  9153.                 appendTo: this.$parent,
  9154.                 isCog: true
  9155.             })
  9156.         }
  9157.         this.PIXEL_OPS = {
  9158.             va: c.opensearch.variant,
  9159.             atbva: c.opensearch.atbVariant,
  9160.             l: w.locale,
  9161.             p: c.device.pixelPlatformName
  9162.         }
  9163.     };
  9164.     c.Views.HeaderLinks.prototype = $.extend({}, a.prototype, {
  9165.         template: "showcase_dropdown",
  9166.         hide: function() {
  9167.             this.popouts.forEach(function(f) {
  9168.                 f.hide()
  9169.             })
  9170.         },
  9171.         _render: function() {
  9172.             var h = c.page.pageType === "serp" || c.page.pageType === "home";
  9173.             var f = false,
  9174.                 g = f && (c.page.pageType === "serp" && c.device.isEnglish),
  9175.                 j = "",
  9176.                 i = f && "https://www.surveymonkey.com/r/" + j;
  9177.             a.prototype._render.call(this, {
  9178.                 showSurvey: g,
  9179.                 surveyURL: i,
  9180.                 showDropdown: h,
  9181.                 showSocial: h,
  9182.                 billionSearchCount: e,
  9183.                 donationCount: b
  9184.             })
  9185.         },
  9186.         _twitterClick: function() {
  9187.             c.pixel.fire("hlt", c.page.pageType, this.PIXEL_OPS)
  9188.         },
  9189.         _onItemClick: function(h) {
  9190.             var f = $(h.currentTarget),
  9191.                 i = f.data("id"),
  9192.                 g = f.data("type");
  9193.             switch (g) {
  9194.                 case "showcase":
  9195.                     c.pixel.fire("shc", i, c.page.pageType, this.PIXEL_OPS);
  9196.                     break;
  9197.                 case "social":
  9198.                     c.pixel.fire("sshc", i, c.page.pageType, this.PIXEL_OPS);
  9199.                     break
  9200.             }
  9201.         },
  9202.         _onToggleClick: function(h) {
  9203.             var f = $(h.currentTarget),
  9204.                 g = f.data("type");
  9205.             f.attr("aria-pressed", true);
  9206.             switch (g) {
  9207.                 case "showcase":
  9208.                     c.pixel.fire("shs", c.page.pageType, this.PIXEL_OPS);
  9209.                     break;
  9210.                 case "social":
  9211.                     c.ImageLoader.trigger("header");
  9212.                     c.pixel.fire("sshs", c.page.pageType, this.PIXEL_OPS);
  9213.                     break
  9214.             }
  9215.             this.KVpopouts[g].toggle();
  9216.             if (this.KVpopouts[g].isShowing) {
  9217.                 Object.keys(this.KVpopouts).forEach(function(i) {
  9218.                     if (i !== g) {
  9219.                         this.KVpopouts[i].hide()
  9220.                     }
  9221.                 }.bind(this))
  9222.             }
  9223.         },
  9224.         _createPopouts: function() {
  9225.             this.$popouts = this.$el.find(".js-popout");
  9226.             this.popouts = [];
  9227.             this.$popouts.each($.proxy(function(j, k) {
  9228.                 var h = $(k),
  9229.                     f = h.find(".js-popout-link"),
  9230.                     g = new c.Views.Modal({
  9231.                         $el: h.find(".js-popout-main")
  9232.                     });
  9233.                 f.click(g.toggle.bind(g));
  9234.                 g.setTrigger(f);
  9235.                 this.popouts.push(g)
  9236.             }, this));
  9237.             this.KVpopouts = {};
  9238.             this.popouts.forEach(function(f) {
  9239.                 this.KVpopouts[f.$el.data("type")] = f
  9240.             }.bind(this))
  9241.         }
  9242.     })
  9243. }(DDG);
  9244. ! function(c) {
  9245.     var b = c.Views.Base;
  9246.     c.Views.PlayButton = function(f) {
  9247.         this.url = f.url;
  9248.         if (!this.url && f.$el) {
  9249.             this.url = f.$el.data("url")
  9250.         }
  9251.         b.call(this, f);
  9252.         this.$btn = this.$(".js-play-btn-icn");
  9253.         this.$err = this.$(".js-play-btn-err");
  9254.         this.$btn.on("click", this.play.bind(this))
  9255.     };
  9256.     c.Views.PlayButton.prototype = $.extend({}, b.prototype, {
  9257.         template: "play_button",
  9258.         play: function() {
  9259.             this.$btn.text("");
  9260.             c.require("audio", a.bind(this))
  9261.         }
  9262.     });
  9263.     var a = function(g) {
  9264.             if (!g || !g.ready) {
  9265.                 return e.call(this)
  9266.             }
  9267.             var f = this;
  9268.             g.play(this.url, this.url, {
  9269.                 autoPlay: true,
  9270.                 onloadstart: function() {
  9271.                     f.$btn.addClass("is-loading")
  9272.                 },
  9273.                 onload: function(h) {
  9274.                     if (!h) {
  9275.                         e.call(f)
  9276.                     }
  9277.                 },
  9278.                 onplay: function() {
  9279.                     f.$btn.removeClass("is-loading");
  9280.                     f.$btn.addClass("is-playing")
  9281.                 },
  9282.                 onfinish: function() {
  9283.                     f.$btn.removeClass("is-playing");
  9284.                     f.$btn.text("â–º")
  9285.                 }
  9286.             })
  9287.         },
  9288.         e = function() {
  9289.             this.$btn.addClass("is-hidden");
  9290.             this.$err.removeClass("is-hidden");
  9291.             this.$err.text("Audio Unavailable")
  9292.         }
  9293. }(DDG);
  9294. ! function(c) {
  9295.     var b = c.Views.Base,
  9296.         e = 50,
  9297.         a = 50,
  9298.         f = 2000;
  9299.     c.Views.Notification = function(g) {
  9300.         b.call(this, g);
  9301.         this.$text = this.$(".js-notification-text");
  9302.         this._initTime = new Date().getTime();
  9303.         this.$el.on("click touchstart", function(h) {
  9304.             h.stopPropagation();
  9305.             this.hide()
  9306.         }.bind(this))
  9307.     };
  9308.     c.Views.Notification.prototype = $.extend({}, b.prototype, {
  9309.         template: "notification",
  9310.         flash: function(h, g) {
  9311.             if (new Date().getTime() - this._initTime < e) {
  9312.                 return setTimeout(this.flash.bind(this, h, g), a)
  9313.             }
  9314.             this.hide();
  9315.             this.$text.text(h);
  9316.             this.$el.addClass("is-showing");
  9317.             this._timeout = setTimeout(this.hide.bind(this), g || f)
  9318.         },
  9319.         hide: function() {
  9320.             if (this._timeout) {
  9321.                 clearTimeout(this._timeout);
  9322.                 delete this._timeout
  9323.             }
  9324.             this.$el.removeClass("is-showing")
  9325.         }
  9326.     })
  9327. }(DDG);
  9328. ! function(g) {
  9329.     var f = g.Views.Base,
  9330.         h = "acp",
  9331.         b = h + "--highlight",
  9332.         a = "search__autocomplete--bang",
  9333.         e = "search__autocomplete--two-rows",
  9334.         c = "acp-wrap__column--left",
  9335.         i = "acp-wrap__column--right";
  9336.     g.Views.AutoComplete = function(j) {
  9337.         j.model = j.model || new g.Models.AutoComplete();
  9338.         f.call(this, j);
  9339.         this.$input = j.$input;
  9340.         this.isTwoRowsText = j.isTwoRowsText;
  9341.         this.$parentForm = j.$parentForm || this.$input.parents(".js-search-form");
  9342.         this._cacheElems(".js-acp", ["wrap", "footer", "footer-link"]);
  9343.         this.$el.on("mouseleave.autocomplete", this._onMouseLeave.bind(this)).on("mousemove.autocomplete", "." + h, this._onMouseMove.bind(this)).on("mousedown.autocomplete", "." + h, this._onMouseDown.bind(this)).on("touchstart.autocomplete", "." + h, this._onTouchStart.bind(this)).on("touchend.autocomplete", "." + h, this._onTouchEnd.bind(this)).on("click.autocomplete", "." + h, this._onClick.bind(this)).on("click.autocomplete", ".js-search-fill", this._onSearchFillClick.bind(this));
  9344.         this.$input.on("blur.autocomplete", this._onBlur.bind(this)).on("input.autocomplete", this._onInput.bind(this)).on("click.autocomplete", this.show.bind(this));
  9345.         this.$footerlink.on("mousedown", this._onFooterLinkMouseDown.bind(this)).on("mouseup", this._onFooterLinkMouseUp.bind(this)).on("click", this._onFooterLinkClick.bind(this));
  9346.         this.bindEvents([
  9347.             [this.model, "change:suggestions", this._displayResults],
  9348.             [g.keyboard, "escape.autocomplete", this._onEscape],
  9349.             [g.keyboard, "enter.autocomplete", this._onEnter],
  9350.             [g.keyboard, "up.autocomplete", this._onUp],
  9351.             [g.keyboard, "down.autocomplete", this._onDown],
  9352.             [g.keyboard, "left.autocomplete", this._onLeft],
  9353.             [g.keyboard, "right.autocomplete", this._onRight],
  9354.             [g.keyboard, "down.searchbar", this._onSearchBarDown]
  9355.         ])
  9356.     };
  9357.     g.Views.AutoComplete.prototype = $.extend({}, f.prototype, {
  9358.         template: "autocomplete",
  9359.         _highlightedIndex: -1,
  9360.         _visible: false,
  9361.         _bangLayoutTemplate: "autocomplete_bang_layout",
  9362.         _textItemTemplate: "autocomplete_text_item",
  9363.         _textItemTemplateTwoRows: "autocomplete_text_item_two_rows",
  9364.         _bangItemTemplate: "autocomplete_bang_item",
  9365.         destroy: function() {
  9366.             this.$input.off(".autocomplete");
  9367.             f.prototype.destroy.call(this)
  9368.         },
  9369.         show: function() {
  9370.             if (this.model.suggestions.length > 0) {
  9371.                 this._visible = true;
  9372.                 this.$el.show();
  9373.                 this.$parentForm.addClass("has-suggestions");
  9374.                 g.pixel.fire("acp", g.page.pageType)
  9375.             }
  9376.             if (this.model.suggestions.length === 0) {
  9377.                 this.model.getSuggestions(this.$input.val())
  9378.             }
  9379.         },
  9380.         hide: function() {
  9381.             this._visible = false;
  9382.             this.$el.hide();
  9383.             this.$parentForm.removeClass("has-suggestions");
  9384.             if (g.keyboard.namespace === "autocomplete") {
  9385.                 g.keyboard.set("namespace")
  9386.             }
  9387.         },
  9388.         clear: function() {
  9389.             this._highlightedIndex = -1;
  9390.             this.model.clearData()
  9391.         },
  9392.         isVisible: function() {
  9393.             return this._visible
  9394.         },
  9395.         _updateScroll: function() {
  9396.             var k, n, o, m, j;
  9397.             k = this.$("." + h + "." + b);
  9398.             if (k.length === 0) {
  9399.                 return
  9400.             }
  9401.             n = this.$wrap.scrollTop();
  9402.             o = parseInt(this.$wrap.css("height"), 10);
  9403.             m = k.position().top;
  9404.             j = m + parseInt(k.css("height"), 10) + 2 * parseInt(k.css("padding-bottom"), 10);
  9405.             if (m < 0) {
  9406.                 this.$wrap.scrollTop(n + m)
  9407.             } else {
  9408.                 if (j > o) {
  9409.                     this.$wrap.scrollTop(n + j - o)
  9410.                 }
  9411.             }
  9412.         },
  9413.         _highlightItem: function(j) {
  9414.             if (j === this._highlightedIndex) {
  9415.                 return
  9416.             }
  9417.             this.$("." + b).removeClass(b);
  9418.             this._highlightedIndex = j;
  9419.             this.$("." + h + "[data-index='" + j + "']").addClass(b)
  9420.         },
  9421.         _applyHighlightedSuggestion: function() {
  9422.             var j = this.model.suggestions[this._highlightedIndex];
  9423.             if (!j) {
  9424.                 this.$input.val(this.model.currentQuery);
  9425.                 return
  9426.             }
  9427.             var m = j.phrase || j.what,
  9428.                 k = this.model.isBangQuery(this.model.currentQuery);
  9429.             if (k) {
  9430.                 m += " "
  9431.             }
  9432.             this.$input.val(m)
  9433.         },
  9434.         _isColumnLayout: function() {
  9435.             return this.model.isBangQuery(this.model.currentQuery) && !g.device.isMobile
  9436.         },
  9437.         _renderBangResults: function(n) {
  9438.             var o = this._bangItemTemplate,
  9439.                 m, q, j = g.device.isMobile,
  9440.                 p, k;
  9441.             this.$wrap.append(DDG.$exec_template(this._bangLayoutTemplate));
  9442.             m = this.$("." + c);
  9443.             q = this.$("." + i);
  9444.             p = Math.ceil(n.length / 2);
  9445.             $.each(n, function(s, r) {
  9446.                 r.i = s;
  9447.                 r.originalQuery = this.model.currentQuery;
  9448.                 if (r.phrase.length > 11) {
  9449.                     r.longPhrase = true
  9450.                 }
  9451.                 r.image = this.model.addFallbackImageParam(r.image);
  9452.                 k = DDG.exec_template(o, r);
  9453.                 if (s < p || j) {
  9454.                     m.append(k)
  9455.                 } else {
  9456.                     q.append(k)
  9457.                 }
  9458.             }.bind(this));
  9459.             this.$el.addClass(a);
  9460.             this.$footer.removeClass("is-hidden")
  9461.         },
  9462.         _renderSingleRowTextResults: function(k) {
  9463.             var m = this._textItemTemplate,
  9464.                 j = g.strip_all_html(this.model.currentQuery);
  9465.             $.each(k, function(q, n) {
  9466.                 var r = g.strip_all_html(n.phrase);
  9467.                 var p = '<span class="t-normal">';
  9468.                 var o = "</span>";
  9469.                 this.$wrap.append(DDG.$exec_template(m, {
  9470.                     i: q,
  9471.                     phrase: r.replace(j, p + j + o),
  9472.                     searchFillArrow: g.opensearch && g.opensearch.isExperiment("msh2exp", "b") && g.device && g.device.isMobile
  9473.                 }))
  9474.             }.bind(this));
  9475.             this.$el.removeClass(a);
  9476.             this.$footer.addClass("is-hidden")
  9477.         },
  9478.         _renderTwoRowsTextResults: function(k) {
  9479.             var m = this._textItemTemplateTwoRows;
  9480.             var j = new RegExp("(" + this.model.currentQuery.trim() + ")", "i");
  9481.             $.each(k, function(r, n) {
  9482.                 var q = g.strip_all_html(n.what);
  9483.                 var p = g.strip_all_html(n.where);
  9484.                 var o = q.replace(j, '<span class="t-bold">$1</span>');
  9485.                 this.$wrap.append(DDG.$exec_template(m, {
  9486.                     i: r,
  9487.                     what: o,
  9488.                     where: p
  9489.                 }))
  9490.             }.bind(this));
  9491.             this.$el.addClass(e)
  9492.         },
  9493.         _displayResults: function() {
  9494.             var j = this.model.suggestions;
  9495.             if (!this.model.currentQuery || j.length === 0) {
  9496.                 this.hide();
  9497.                 return
  9498.             }
  9499.             if (!this._visible) {
  9500.                 this.show()
  9501.             }
  9502.             this._highlightedIndex = -1;
  9503.             this.$wrap.html("");
  9504.             if (this.model.isBangQuery(this.model.currentQuery)) {
  9505.                 this._renderBangResults(j)
  9506.             } else {
  9507.                 if (this.isTwoRowsText) {
  9508.                     this._renderTwoRowsTextResults(j)
  9509.                 } else {
  9510.                     this._renderSingleRowTextResults(j)
  9511.                 }
  9512.             }
  9513.         },
  9514.         _highlightItemByOffset: function(k) {
  9515.             var j = this._highlightedIndex + k;
  9516.             if (j >= this.model.suggestions.length) {
  9517.                 return
  9518.             }
  9519.             this._highlightItem(j);
  9520.             this._updateScroll()
  9521.         },
  9522.         _focusInput: function() {
  9523.             var j = this.$input.val();
  9524.             this.$input.focus().val(j)
  9525.         },
  9526.         _onMouseMove: function(k) {
  9527.             var j = $(k.currentTarget).data("index");
  9528.             this._highlightItem(j);
  9529.             g.keyboard.set("namespace", "autocomplete")
  9530.         },
  9531.         _onMouseLeave: function() {
  9532.             this._highlightItem(-1)
  9533.         },
  9534.         _onTouchStart: function(k) {
  9535.             k.stopPropagation();
  9536.             var j = $(k.currentTarget).data("index");
  9537.             this._highlightItem(j)
  9538.         },
  9539.         _onTouchEnd: function(j) {
  9540.             this._highlightItem(-1)
  9541.         },
  9542.         _onBlur: function(j) {
  9543.             if (this._highlightedIndex > -1) {
  9544.                 return
  9545.             }
  9546.             if (this._noHideOnBlur) {
  9547.                 return
  9548.             }
  9549.             this.hide()
  9550.         },
  9551.         _onMouseDown: function(k) {
  9552.             var j = $(k.currentTarget).data("index");
  9553.             this._highlightItem(j)
  9554.         },
  9555.         _onClick: function(n) {
  9556.             this._applyHighlightedSuggestion();
  9557.             var m = this.isTwoRowsText || this.model.isBangQuery(this.model.currentQuery);
  9558.             if (this.isTwoRowsText) {
  9559.                 var j = this.model.getSuggestion(this._highlightedIndex);
  9560.                 this.emit("requery-submit", {
  9561.                     suggestion: j,
  9562.                     strict_bbox: "0",
  9563.                     shouldMapViewportUpdate: true
  9564.                 });
  9565.                 g.pixel.fire("map_ere");
  9566.                 if (j.type) {
  9567.                     g.pixel.fire("map_er", "ac", j.type, {
  9568.                         q: j.what
  9569.                     })
  9570.                 } else {
  9571.                     var k = j.where ? j.what + " " + j.where : j.what;
  9572.                     g.pixel.fire("map_er", "ac", {
  9573.                         q: k
  9574.                     })
  9575.                 }
  9576.             } else {
  9577.                 if (!this.model.isBangQuery(this.model.currentQuery)) {
  9578.                     this.emit("submit")
  9579.                 }
  9580.             }
  9581.             this.clear();
  9582.             this.hide();
  9583.             if (m) {
  9584.                 this._focusInput()
  9585.             }
  9586.         },
  9587.         _onSearchFillClick: function(k) {
  9588.             k.preventDefault();
  9589.             k.stopPropagation();
  9590.             var j = this.model.suggestions[this._highlightedIndex].phrase + " ";
  9591.             this.$input.val(j);
  9592.             this.$input.focus();
  9593.             this.model.getSuggestions(j);
  9594.             g.pixel.fire("ace", "sf", g.page.pageType);
  9595.             return false
  9596.         },
  9597.         _onFooterLinkMouseDown: function(j) {
  9598.             this._noHideOnBlur = true
  9599.         },
  9600.         _onFooterLinkMouseUp: function(j) {
  9601.             this._noHideOnBlur = false
  9602.         },
  9603.         _onFooterLinkClick: function(j) {
  9604.             j.stopPropagation()
  9605.         },
  9606.         _onEscape: function(j) {
  9607.             if (!this._visible) {
  9608.                 return
  9609.             }
  9610.             this._highlightItem(-1);
  9611.             this._applyHighlightedSuggestion();
  9612.             this._focusInput();
  9613.             this.hide()
  9614.         },
  9615.         _onEnter: function(k) {
  9616.             if (!this._visible) {
  9617.                 return
  9618.             }
  9619.             if (this.model.isBangQuery(this.model.currentQuery)) {
  9620.                 k.stopImmediatePropagation();
  9621.                 k.preventDefault();
  9622.                 this._focusInput()
  9623.             } else {
  9624.                 if (this.isTwoRowsText) {
  9625.                     var j = this.model.getSuggestion(this._highlightedIndex);
  9626.                     if (j) {
  9627.                         this.model.selectedSuggestion = j;
  9628.                         this.emit("requery-submit", {
  9629.                             suggestion: j,
  9630.                             strict_bbox: "0",
  9631.                             shouldMapViewportUpdate: true
  9632.                         })
  9633.                     }
  9634.                 } else {
  9635.                     this.emit("submit")
  9636.                 }
  9637.             }
  9638.             this.clear();
  9639.             this.hide()
  9640.         },
  9641.         _onSearchBarDown: function(j) {
  9642.             if (!this._visible) {
  9643.                 return
  9644.             }
  9645.             this._onDown(j);
  9646.             g.keyboard.set("namespace", "autocomplete")
  9647.         },
  9648.         _onInput: function(j) {
  9649.             var k = this.$input.val();
  9650.             if (k === this.model.currentQuery) {
  9651.                 return
  9652.             }
  9653.             if (this.isTwoRowsText && k) {
  9654.                 g.keyboard.set("namespace", "searchbar")
  9655.             } else {
  9656.                 if (this.isTwoRowsText && !k) {
  9657.                     this.model.clearData();
  9658.                     this.hide();
  9659.                     return
  9660.                 }
  9661.             }
  9662.             this.model.getSuggestions(k);
  9663.             this._displayResults()
  9664.         },
  9665.         _onUp: function(k) {
  9666.             k.preventDefault();
  9667.             var j = Math.ceil(this.model.suggestions.length / 2);
  9668.             if (this._highlightedIndex === 0) {
  9669.                 this._focusInput()
  9670.             }
  9671.             if (this._isColumnLayout() && this._highlightedIndex === j) {
  9672.                 return
  9673.             }
  9674.             if (this._highlightedIndex >= 0) {
  9675.                 this._highlightItemByOffset(-1);
  9676.                 this._applyHighlightedSuggestion()
  9677.             }
  9678.         },
  9679.         _onDown: function(m) {
  9680.             m.preventDefault();
  9681.             var k = Math.ceil(this.model.suggestions.length / 2),
  9682.                 j;
  9683.             j = this._highlightedIndex === this.model.suggestions.length - 1 || (this._isColumnLayout() && this._highlightedIndex === k - 1);
  9684.             if (j) {
  9685.                 return
  9686.             }
  9687.             this._highlightItemByOffset(1);
  9688.             this._applyHighlightedSuggestion()
  9689.         },
  9690.         _onLeft: function(k) {
  9691.             if (!this.model.isBangQuery(this.model.currentQuery)) {
  9692.                 return
  9693.             }
  9694.             k.preventDefault();
  9695.             var j = Math.ceil(this.model.suggestions.length / 2);
  9696.             if (this._isColumnLayout() && this._highlightedIndex >= j) {
  9697.                 this._highlightItemByOffset(-j)
  9698.             }
  9699.             this._applyHighlightedSuggestion()
  9700.         },
  9701.         _onRight: function(k) {
  9702.             if (!this.model.isBangQuery(this.model.currentQuery)) {
  9703.                 return
  9704.             }
  9705.             k.preventDefault();
  9706.             var j = Math.ceil(this.model.suggestions.length / 2);
  9707.             if (this._isColumnLayout() && this._highlightedIndex < j) {
  9708.                 this._highlightItemByOffset(j)
  9709.             }
  9710.             this._applyHighlightedSuggestion()
  9711.         }
  9712.     })
  9713. }(DDG);
  9714. ! function(b) {
  9715.     var a = b.Views.Base;
  9716.     b.Views.Modal = function(c) {
  9717.         a.call(this, c);
  9718.         this._isPopover = c.isPopover;
  9719.         b.keyboard.on("escape.modal", this.hide.bind(this))
  9720.     };
  9721.     b.Views.Modal.prototype = $.extend({}, a.prototype, {
  9722.         show: function() {
  9723.             if (this.isShowing) {
  9724.                 return
  9725.             }
  9726.             this.isShowing = true;
  9727.             setTimeout(function() {
  9728.                 this.$el.addClass("is-showing");
  9729.                 b.$doc.on("mouseup.modal touchend.modal", function(f) {
  9730.                     var c = this.$el.has(f.target);
  9731.                     if (!c) {
  9732.                         this.hide()
  9733.                     }
  9734.                 }.bind(this))
  9735.             }.bind(this), 1);
  9736.             if (this.$trigger) {
  9737.                 this.$trigger.on("mouseup.modal touchend.modal", function(c) {
  9738.                     c.stopPropagation()
  9739.                 })
  9740.             }
  9741.             this._previousNamespace = b.keyboard.namespace;
  9742.             b.keyboard.set("namespace", "modal");
  9743.             this.emit("shown")
  9744.         },
  9745.         hide: function() {
  9746.             if (!this.isShowing) {
  9747.                 return
  9748.             }
  9749.             this.isShowing = false;
  9750.             this.$el.removeClass("is-showing");
  9751.             b.$doc.off("mouseup.modal touchend.modal");
  9752.             this.$el.off("mouseup.modal touchend.modal");
  9753.             b.keyboard.set("namespace", this._previousNamespace);
  9754.             this.emit("hidden")
  9755.         },
  9756.         toggle: function() {
  9757.             return this.isShowing ? this.hide() : this.show()
  9758.         },
  9759.         destroy: function() {
  9760.             this.hide();
  9761.             a.prototype.destroy.call(this)
  9762.         },
  9763.         pointAt: function(c) {
  9764.             if (this._isPopover) {
  9765.                 return
  9766.             }
  9767.             this.$el.css(c)
  9768.         },
  9769.         setTrigger: function(c) {
  9770.             this.$trigger = c
  9771.         },
  9772.         _render: function(c) {
  9773.             a.prototype._render.call(this, c);
  9774.             this.$(".js-modal-close").click(function(f) {
  9775.                 f.preventDefault();
  9776.                 f.stopPropagation();
  9777.                 this.hide()
  9778.             }.bind(this))
  9779.         }
  9780.     })
  9781. }(DDG);
  9782. ! function(b) {
  9783.     var a = b.Views.Base;
  9784.     b.Views.Dismissable = function(c) {
  9785.         a.call(this, c)
  9786.     };
  9787.     b.Views.Dismissable.prototype = $.extend({}, a.prototype, {
  9788.         _render: function(c) {
  9789.             a.prototype._render.call(this, c);
  9790.             this.$(".js-close").click(function(f) {
  9791.                 this.hide()
  9792.             }.bind(this))
  9793.         },
  9794.         unhide: function() {
  9795.             this.$el.removeClass("d-none")
  9796.         },
  9797.         hide: function() {
  9798.             this.$el.addClass("d-none")
  9799.         },
  9800.         destroy: function() {
  9801.             this.hide();
  9802.             a.prototype.destroy.call(this)
  9803.         }
  9804.     })
  9805. }(DDG);
  9806. ! function(b) {
  9807.     var a = b.Views.Base;
  9808.     b.Views.HomepageTagline = function(c) {
  9809.         a.call(this, $.extend(c, {
  9810.             shouldShowSpread: true
  9811.         }));
  9812.         this.$(".js-tag-item-link").click(function(f) {
  9813.             f.preventDefault();
  9814.             b.pixel.fire("htl", {
  9815.                 b: b.device.pixelBrowserName,
  9816.                 d: b.device.pixelId,
  9817.                 atb: b.opensearch.version,
  9818.                 atbva: b.opensearch.atbVariant,
  9819.                 va: b.opensearch.variant,
  9820.                 l: w.locale,
  9821.                 i: b.page.isInstalled()
  9822.             });
  9823.             setTimeout(function() {
  9824.                 window.location.href = "https://duckduckgo.com/spread"
  9825.             }, 10)
  9826.         })
  9827.     };
  9828.     b.Views.HomepageTagline.prototype = $.extend({}, a.prototype, {
  9829.         template: "homepage_tagline"
  9830.     })
  9831. }(DDG);
  9832. ! function(c) {
  9833.     var a = c.Views.Base,
  9834.         b = 5,
  9835.         e = 0;
  9836.     c.Views.OnboardingEducation = function(g) {
  9837.         var f = this;
  9838.         this.model = g.model;
  9839.         this.pageView = g.pageView;
  9840.         this.learnMore = g.learnMore;
  9841.         this.template = "hp_onboarding_education";
  9842.         this.currentSlide = e;
  9843.         this.lastScrollPosition = null;
  9844.         this.$body = $("body");
  9845.         this.ignoreScrollEvents = true;
  9846.         this.doRenderTeaserArrow = c.device.isDesktop && g.doRenderTeaserArrow;
  9847.         this.renderFirstSlideArrow = g.renderFirstSlideArrow || (c.device.isMobile && (!c.page.canShowAddToBrowser() || (c.page.canShowAddToBrowser() && c.device.isAndroidChromeNoOpenSearch)));
  9848.         if (!this.learnMore && !c.page.scrollToOnboarding && (!this.pageView.canShowHomepageOnboardingEducation.call(this.pageView) || c.addToBrowser.canShowMobileBanner() || c.device.isLegacyAndroid || !window.Modernizr.svg)) {
  9849.             this._render = function() {};
  9850.             return
  9851.         }
  9852.         if (!c.device.isMobile && window.Modernizr.csstransitions && !g.preventAnimation) {
  9853.             this.model.isSVGAnimated = true
  9854.         }
  9855.         a.call(this, g);
  9856.         this.$body.addClass("body--onboarding");
  9857.         this.$logoTT = $(".logo_homepage__tt");
  9858.         this.$logoTT.html(l("Learn %sMore%s", "", ""));
  9859.         this._cacheElems(".js-onboarding-ed", ["arrow", "teaser", "slide", "slide-1", "slide-2", "slide-3", "slide-4", "image-container-1", "image-container-2", "image-container-3", "image-container-4", "balance-text", "dismiss", "back-to-search", "install", "spread", "tweet-button"]);
  9860.         this.bindEvents([
  9861.             [c.device, "scroll", $.throttle(100, this._onScroll.bind(this))],
  9862.             [c.device, "resize", $.debounce(300, false, this._onResize.bind(this))],
  9863.             [this.$arrow, "click", this._onArrowClick],
  9864.             [this.$teaser, "click", this._onArrowClick],
  9865.             [$(".logo_homepage"), "click", this._onArrowClick],
  9866.             [$(".js-tag-item-about"), "click", this._onArrowClick],
  9867.             [this.$dismiss, "click", this._onDismissClick],
  9868.             [this.$backtosearch, "click", this._onBackToSearchClick],
  9869.             [this.$tweetbutton, "click", this._onTweetButtonClick],
  9870.             [$("form"), "focusin", this._hideAfterKeyboardActivation]
  9871.         ].concat(g.isCppExp ? [
  9872.             [c.onboarding, "change:step", this._onChangeOnboardingStep]
  9873.         ] : []));
  9874.         if (!this.pageView.canShowHomepageEducationInstallButton.call(this.pageView)) {
  9875.             this.$install.hide();
  9876.             this.$spread.show()
  9877.         }
  9878.         this.$arrow.hide();
  9879.         this.isArrowHidden = true;
  9880.         if (this.doRenderTeaserArrow) {
  9881.             this.$teaser.show()
  9882.         }
  9883.         if (this.renderFirstSlideArrow) {
  9884.             this.$arrow.show();
  9885.             this.isArrowHidden = false
  9886.         }
  9887.         this._balanceText();
  9888.         window.setTimeout(function() {
  9889.             this._balanceText()
  9890.         }.bind(this), 500);
  9891.         var h = $(".js-hp-lazysvg");
  9892.         DDG.ImageLoader.registerAll(h, "scrollY");
  9893.         window.setTimeout(function() {
  9894.             var j = c.device.height;
  9895.             var i = c.device.scrollTop();
  9896.             f.currentSlide = Math.round(i / j);
  9897.             if (f.currentSlide > 0) {
  9898.                 f._snapToSlideScroll()
  9899.             } else {
  9900.                 f.ignoreScrollEvents = false
  9901.             }
  9902.         }, 750);
  9903.         if (c.page.scrollToOnboarding) {
  9904.             window.setTimeout(function() {
  9905.                 if (f.currentSlide === 0) {
  9906.                     f.currentSlide = 1;
  9907.                     f._snapToSlideScroll()
  9908.                 }
  9909.             }, 1000)
  9910.         }
  9911.     };
  9912.     c.Views.OnboardingEducation.prototype = $.extend({}, a.prototype, {
  9913.         _balanceText: function() {
  9914.             if (typeof($.balanceText) === "function") {
  9915.                 $.balanceText(this.$balancetext, {
  9916.                     watch: false
  9917.                 })
  9918.             }
  9919.         },
  9920.         _hideAfterKeyboardActivation: function() {
  9921.             if (c.device.isMobile || c.device.isMobileDevice) {
  9922.                 this._hide()
  9923.             }
  9924.         },
  9925.         _hide: function() {
  9926.             this.$el.hide();
  9927.             this.$logoTT.html(l("Duck it", "", ""));
  9928.             this.$body.removeClass("body--onboarding")
  9929.         },
  9930.         _onArrowClick: function(h) {
  9931.             if (this.model.isDismissed) {
  9932.                 return
  9933.             }
  9934.             h.preventDefault();
  9935.             h.stopPropagation();
  9936.             var f = c.device.scrollTop();
  9937.             var g = c.device.height;
  9938.             this.currentSlide = Math.round(f / g) + 1;
  9939.             this._snapToSlideScroll()
  9940.         },
  9941.         _onDismissClick: function(f) {
  9942.             f.preventDefault();
  9943.             f.stopPropagation();
  9944.             this._hide();
  9945.             this.model.dismiss();
  9946.             c.pixel.fire("hpec", c.device.pixelBrowserName, c.opensearch.version, {
  9947.                 atbva: c.opensearch.atbVariant,
  9948.                 va: c.opensearch.variant,
  9949.                 l: w.locale
  9950.             })
  9951.         },
  9952.         _onBackToSearchClick: function(g) {
  9953.             var f = this;
  9954.             g.preventDefault();
  9955.             if (this.doRenderTeaserArrow) {
  9956.                 this.$arrow.fadeOut(100);
  9957.                 this.isArrowHidden = true
  9958.             }
  9959.             c.device.scrollTop(0, this.model.scrollToAnimationDurationMS, $.debounce(0, false, function() {
  9960.                 f.currentSlide = 0
  9961.             }))
  9962.         },
  9963.         _onResize: function() {
  9964.             if (this.$arrow) {
  9965.                 this.$arrow.attr("style", "");
  9966.                 this.isArrowHidden = false;
  9967.                 this._updateArrowVisibility()
  9968.             }
  9969.         },
  9970.         _onTweetButtonClick: function(f) {
  9971.             c.pixel.fire("hptc", c.device.pixelBrowserName, c.opensearch.version, {
  9972.                 atbva: c.opensearch.atbVariant,
  9973.                 va: c.opensearch.variant,
  9974.                 l: w.locale
  9975.             })
  9976.         },
  9977.         _firePixelSlide1: function() {
  9978.             c.pixel.fire("hst", {
  9979.                 b: c.device.pixelBrowserName,
  9980.                 atbi: this.pageView.canShowAddToBrowser.call(this.pageView),
  9981.                 ei: this.pageView.canShowHomepageOnboardingEducation.call(this.pageView),
  9982.                 i: this.pageView.isInstalled.call(this.pageView),
  9983.                 d: c.device.pixelId,
  9984.                 atb: c.opensearch.version,
  9985.                 atbva: c.opensearch.atbVariant,
  9986.                 va: c.opensearch.variant,
  9987.                 l: w.locale
  9988.             })
  9989.         },
  9990.         _firePixelSlide4: function() {
  9991.             c.pixel.fire("atbbsb", c.device.pixelBrowserName, c.opensearch.version, {
  9992.                 atbva: c.opensearch.atbVariant,
  9993.                 va: c.opensearch.variant,
  9994.                 l: w.locale
  9995.             })
  9996.         },
  9997.         _onScroll: function(j) {
  9998.             var g = c.device.scrollTop(),
  9999.                 h = this.lastScrollPosition,
  10000.                 f = g < h,
  10001.                 i = c.device.height,
  10002.                 k = Math.round(g / i);
  10003.             this.lastScrollPosition = g;
  10004.             if (this.model.isDismissed || this.ignoreScrollEvents) {
  10005.                 return
  10006.             }
  10007.             if (k !== this.currentSlide) {
  10008.                 this._handleManualScroll(f)
  10009.             }
  10010.             this._updateArrowVisibility()
  10011.         },
  10012.         _handleManualScroll: function(f) {
  10013.             var h = this.currentSlide || 0;
  10014.             var g = f ? h - 1 : h + 1;
  10015.             if (g >= b) {
  10016.                 return
  10017.             }
  10018.             this.currentSlide = g;
  10019.             if (g === 1 && !this.model.didUserScroll) {
  10020.                 this.model.didUserScroll = true;
  10021.                 this._firePixelSlide1()
  10022.             } else {
  10023.                 if (g === 4) {
  10024.                     this._firePixelSlide4()
  10025.                 }
  10026.             }
  10027.             this._updateArrowVisibility()
  10028.         },
  10029.         _snapToSlideScroll: function() {
  10030.             var g = this;
  10031.             var h = this.currentSlide || 0;
  10032.             if (h >= b) {
  10033.                 return
  10034.             }
  10035.             if (h === 1 && !this.model.didUserScroll) {
  10036.                 this.model.didUserScroll = true;
  10037.                 this._firePixelSlide1()
  10038.             } else {
  10039.                 if (h === 4) {
  10040.                     this._firePixelSlide4()
  10041.                 }
  10042.             }
  10043.             if (this.model.isSVGAnimated) {
  10044.                 this.ignoreScrollEvents = true
  10045.             }
  10046.             var j = this["$slide" + h].offset().top;
  10047.             var f = this.model.scrollToAnimationDurationMS;
  10048.             var i = 300;
  10049.             c.device.scrollTop((j), f, $.debounce(i, true, function() {
  10050.                 if (g.model.isSVGAnimated) {
  10051.                     g.ignoreScrollEvents = false
  10052.                 }
  10053.                 if (g.model.isSVGAnimated && h > 0) {
  10054.                     g._renderCurrentSlideAnimation()
  10055.                 }
  10056.                 g._updateArrowVisibility()
  10057.             }))
  10058.         },
  10059.         _updateArrowVisibility: function() {
  10060.             var f = c.device.scrollTop(),
  10061.                 g = c.device.height,
  10062.                 h = Math.round(f / g);
  10063.             if (this.isArrowHidden) {
  10064.                 if ((!this.renderFirstSlideArrow && h > 0 && h < 4) || (this.renderFirstSlideArrow && h < 4)) {
  10065.                     this.$arrow.fadeIn(100);
  10066.                     this.isArrowHidden = false
  10067.                 }
  10068.             } else {
  10069.                 if (!this.isArrowHidden) {
  10070.                     if ((!this.renderFirstSlideArrow && (h < 1 || h > 3)) || (this.renderFirstSlideArrow && h > 3)) {
  10071.                         if (this.$arrow.css("display") !== "none") {
  10072.                             this.$arrow.fadeOut(100);
  10073.                             this.isArrowHidden = true
  10074.                         }
  10075.                     }
  10076.                 }
  10077.             }
  10078.         },
  10079.         _renderCurrentSlideAnimation: function() {
  10080.             if (this.currentSlide === 0) {
  10081.                 return
  10082.             }
  10083.             if (!this.model.isSVGAnimated) {
  10084.                 return
  10085.             }
  10086.             var h = this.currentSlide;
  10087.             var g = "slide" + h;
  10088.             var f = "$imagecontainer" + h;
  10089.             if (this[f].children(".onboarding-ed__image--animated").length > 0) {
  10090.                 return
  10091.             }
  10092.             if (Object.keys(this.views).length > 0) {
  10093.                 this._destroySlideAnimations()
  10094.             }
  10095.             this.views[g] = new c.Views.OnboardingEducationSlide({
  10096.                 model: {
  10097.                     slideIndex: h,
  10098.                     isSVGAnimated: this.model.isSVGAnimated
  10099.                 },
  10100.                 template: "hp_onboarding_ed_slide" + h,
  10101.                 appendTo: this[f]
  10102.             })
  10103.         },
  10104.         _destroySlideAnimations: function() {
  10105.             if (this.views) {
  10106.                 var f = this;
  10107.                 var g = Object.keys(this.views);
  10108.                 g.forEach(function(h) {
  10109.                     f.views[h].destroy()
  10110.                 })
  10111.             }
  10112.         },
  10113.         _onChangeOnboardingStep: function(f) {
  10114.             if (c.onboarding.hasCompleted()) {
  10115.                 this.$install.hide();
  10116.                 this.$spread.show()
  10117.             }
  10118.         }
  10119.     })
  10120. }(DDG);
  10121. ! function(b) {
  10122.     var a = b.Views.Base;
  10123.     b.Views.OnboardingEducationSlide = function(c) {
  10124.         c.model = new b.Models.Settings.OnboardingEducationSlide(c);
  10125.         this.template = c.template;
  10126.         if (c.model.isSVGAnimated && (c.model.slideIndex > 0)) {
  10127.             a.call(this, c);
  10128.             this._timeout = null;
  10129.             this._loopCount = 0;
  10130.             this._initAnimation()
  10131.         }
  10132.     };
  10133.     b.Views.OnboardingEducationSlide.prototype = $.extend({}, a.prototype, {
  10134.         _initAnimation: function() {
  10135.             var f = this;
  10136.             var e = ".js-onboarding-ed-image-container-" + this.model.slideIndex;
  10137.             this.$imgcontainer = $(e);
  10138.             var c = "slide" + this.model.slideIndex;
  10139.             var h = this.model.animationAnchorEl[c];
  10140.             this._cacheElems(".js-onboarding-ed-anim", [h]);
  10141.             var g = "$" + this.model.animationAnchorEl[c].replace(/-/g, "");
  10142.             this[g].on("webkitAnimationEnd oanimationend msAnimationEnd animationend", function(i) {
  10143.                 if (!f._timeout) {
  10144.                     f._pause();
  10145.                     f._timeout = window.setTimeout(function() {
  10146.                         f._timeout = null;
  10147.                         f._start()
  10148.                     }, f.model.pauseBetweenAnimationIterations)
  10149.                 }
  10150.             });
  10151.             window.setTimeout(function() {
  10152.                 f._start()
  10153.             }, this.model.pauseBeforeAnimation)
  10154.         },
  10155.         _start: function() {
  10156.             if (this._loopCount >= this.model.maxAnimationLoops) {
  10157.                 return
  10158.             }
  10159.             this._loopCount++;
  10160.             this.$imgcontainer.addClass("is-animated")
  10161.         },
  10162.         _pause: function() {
  10163.             this.$imgcontainer.removeClass("is-animated")
  10164.         },
  10165.         destroy: function() {
  10166.             this.$imgcontainer.removeClass("is-animated");
  10167.             a.prototype.destroy.call(this)
  10168.         }
  10169.     })
  10170. }(DDG);
  10171. ! function(c) {
  10172.     var b = c.Views.Base,
  10173.         a = "multi-step-mobile-onboarding",
  10174.         f = 0.04;
  10175.     c.Views.MultiStepMobileOnboarding = function(g) {
  10176.         this._ops = $.extend({
  10177.             campaign: g.isCppm4 ? "mobileCPP4" : g.isCppm5 ? "mobileCPP5" : g.isStateless ? "mobileCPP3" : "mobileCPP",
  10178.             isCppm4Or5: g.isCppm4 || g.isCppm5,
  10179.             isDarkTheme: c.settings.isDarkTheme(),
  10180.             emailSubject: encodeURIComponent("Reminder - Complete Your DuckDuckGo Privacy Setup"),
  10181.             emailBody: encodeURIComponent(["1. Visit https://duck.com/install in your desktop browser.", "2. Add DuckDuckGo Privacy Essentials to search and browse the Web privately on desktop."].join("\n"))
  10182.         }, g);
  10183.         b.call(this, this._ops)
  10184.     };
  10185.     c.Views.MultiStepMobileOnboarding.prototype = $.extend({}, b.prototype, {
  10186.         template: "multi_step_mobile_onboarding",
  10187.         _render: function() {
  10188.             b.prototype._render.call(this, this._ops);
  10189.             this._cacheElems(".js-multi-step-mobile-onboarding", ["count", "fallback-progress", "slider", "content", "header", "close", "search", "title", "desc", "remaining", "resume", "final"]);
  10190.             this.bindEvents([
  10191.                 [this.$slider, "touchstart", this._onTouchStart],
  10192.                 [this.$slider, "mousedown", this._onTouchStart],
  10193.                 [this.$slider, "touchmove", this._onTouchMove],
  10194.                 [this.$slider, "mousemove", this._onTouchMove],
  10195.                 [this.$slider, "mouseup", this._onTouchEnd],
  10196.                 [this.$slider, "touchend", this._onTouchEnd],
  10197.                 [this.$slider, "click", this._onClick],
  10198.                 [this.$close, "click", this._onClose]
  10199.             ]);
  10200.             this._boundOnTouchEnd = this._onTouchEnd.bind(this);
  10201.             window.addEventListener("mouseup", this._boundOnTouchEnd, false);
  10202.             window.addEventListener("touchend", this._boundOnTouchEnd, false);
  10203.             this.state = {
  10204.                 w: window.innerWidth,
  10205.                 n: this.$slider.children().length,
  10206.                 i: 0,
  10207.                 x0: null,
  10208.                 translated: f * window.innerWidth,
  10209.                 isDragging: false
  10210.             };
  10211.             this._visibilityChangeHandlers = [];
  10212.             this._focusHandlers = [];
  10213.             this._visibilityTimeoutCancelers = [];
  10214.             this._blurTimeoutCancelers = [];
  10215.             this._actionedTimeoutIds = [];
  10216.             this._updateProgress();
  10217.             this.setStep(this.model.getResumeStep(), {
  10218.                 fireRenderPixel: true
  10219.             });
  10220.             this.$slider.find(".js-" + a + "-step").each(function(g, h) {
  10221.                 this._renderStep($(h), this.model.getStatus(g))
  10222.             }.bind(this));
  10223.             if (this._ops.isCppm5) {
  10224.                 if (!this._handleV5VisibilityChange) {
  10225.                     this._handleV5VisibilityChange = function(g) {
  10226.                         if (!document.hidden && this.state.i === 0) {
  10227.                             this._markStepActioned(0)
  10228.                         }
  10229.                     }.bind(this);
  10230.                     document.addEventListener("visibilitychange", this._handleV5VisibilityChange, false)
  10231.                 }
  10232.                 if (!this._handleV5FocusChange) {
  10233.                     this._handleV5FocusChange = function(g) {
  10234.                         if (this.state.i === 0) {
  10235.                             this._markStepActioned(0)
  10236.                         }
  10237.                     }.bind(this);
  10238.                     window.addEventListener("focus", this._handleV5FocusChange, false)
  10239.                 }
  10240.             }
  10241.         },
  10242.         destroy: function() {
  10243.             window.removeEventListener("mouseup", this._boundOnTouchEnd, false);
  10244.             window.removeEventListener("touchend", this._boundOnTouchEnd, false);
  10245.             if (this._handleV5VisibilityChange) {
  10246.                 document.removeEventListener("visibilitychange", this._handleV5VisibilityChange, false)
  10247.             }
  10248.             if (this._handleV5FocusChange) {
  10249.                 document.removeEventListener("focus", this._handleV5FocusChange, false)
  10250.             }
  10251.             this._visibilityChangeHandlers.concat(this._visibilityTimeoutCancelers).forEach(function(g) {
  10252.                 if (g) {
  10253.                     document.removeEventListener("visibilitychange", g, false)
  10254.                 }
  10255.             });
  10256.             this._focusHandlers.forEach(function(g) {
  10257.                 if (g) {
  10258.                     window.removeEventListener("focus", g, false)
  10259.                 }
  10260.             });
  10261.             this._blurTimeoutCancelers.forEach(function(g) {
  10262.                 if (g) {
  10263.                     window.removeEventListener("blur", g, false)
  10264.                 }
  10265.             });
  10266.             this._actionedTimeoutIds.forEach(function(g) {
  10267.                 clearTimeout(g)
  10268.             });
  10269.             clearTimeout(this.timeoutId);
  10270.             b.prototype.destroy.call(this)
  10271.         },
  10272.         _onClose: function() {
  10273.             this._firePixel("close", this.state.i);
  10274.             if (this.model.hasCompletedAllSteps() && this._ops.onStartSearch) {
  10275.                 this._ops.onStartSearch()
  10276.             }
  10277.             this._ops.onClose();
  10278.             this.setStep(this._ops.isStateless ? 0 : this.model.getResumeStep());
  10279.             if (this._ops.isStateless) {
  10280.                 this._updateProgress();
  10281.                 this.$slider.find(".js-" + a + "-step").each(function(g, h) {
  10282.                     this._unmarkStepActioned(g)
  10283.                 }.bind(this))
  10284.             }
  10285.         },
  10286.         _onClick: function(j) {
  10287.             if (j.target && j.target.href && /^mailto:/.test(j.target.href) && !j.target.hasAttribute("data-action") && this.model.hasDdgExtension()) {
  10288.                 j.preventDefault();
  10289.                 j.stopPropagation()
  10290.             }
  10291.             if (!this.state.isDragging && j.target && j.target.hasAttribute("data-action")) {
  10292.                 var i = j.target.getAttribute("data-action");
  10293.                 switch (i) {
  10294.                     case "do":
  10295.                         j.target.blur();
  10296.                         this._firePixel(i, this.state.i);
  10297.                         if (this._ops.isStateless) {
  10298.                             var h = this.state.i;
  10299.                             clearTimeout(this._actionedTimeoutIds[h]);
  10300.                             this._actionedTimeoutIds[h] = setTimeout(function() {
  10301.                                 this._markStepActioned(h)
  10302.                             }.bind(this), 1000);
  10303.                             if (!this._visibilityTimeoutCancelers[h]) {
  10304.                                 this._visibilityTimeoutCancelers[h] = function(k) {
  10305.                                     if (document.hidden) {
  10306.                                         clearTimeout(this._actionedTimeoutIds[h])
  10307.                                     }
  10308.                                     document.removeEventListener("visibilitychange", this._visibilityTimeoutCancelers[h], false);
  10309.                                     this._visibilityTimeoutCancelers[h] = null
  10310.                                 }.bind(this);
  10311.                                 document.addEventListener("visibilitychange", this._visibilityTimeoutCancelers[h], false)
  10312.                             }
  10313.                             if (!this._blurTimeoutCancelers[h]) {
  10314.                                 this._blurTimeoutCancelers[h] = function(k) {
  10315.                                     clearTimeout(this._actionedTimeoutIds[h]);
  10316.                                     window.removeEventListener("blur", this._blurTimeoutCancelers[h], false);
  10317.                                     this._blurTimeoutCancelers[h] = null
  10318.                                 }.bind(this);
  10319.                                 window.addEventListener("blur", this._blurTimeoutCancelers[h], false)
  10320.                             }
  10321.                             if (!this._visibilityChangeHandlers[h]) {
  10322.                                 this._visibilityChangeHandlers[h] = function(k) {
  10323.                                     if (!document.hidden) {
  10324.                                         this._markStepActioned(h);
  10325.                                         document.removeEventListener("visibilitychange", this._visibilityChangeHandlers[h], false);
  10326.                                         this._visibilityChangeHandlers[h] = null;
  10327.                                         if (this._focusHandlers[h]) {
  10328.                                             window.removeEventListener("focus", this._focusHandlers[h], false);
  10329.                                             this._focusHandlers[h] = null
  10330.                                         }
  10331.                                     }
  10332.                                 }.bind(this);
  10333.                                 document.addEventListener("visibilitychange", this._visibilityChangeHandlers[h], false)
  10334.                             }
  10335.                             if (!this._focusHandlers[h]) {
  10336.                                 this._focusHandlers[h] = function(k) {
  10337.                                     this._markStepActioned(h);
  10338.                                     window.removeEventListener("focus", this._focusHandlers[h], false);
  10339.                                     this._focusHandlers[h] = null;
  10340.                                     if (this._visibilityChangeHandlers[h]) {
  10341.                                         document.removeEventListener("visibilitychange", this._visibilityChangeHandlers[h], false);
  10342.                                         this._visibilityChangeHandlers[h] = null
  10343.                                     }
  10344.                                 }.bind(this);
  10345.                                 window.addEventListener("focus", this._focusHandlers[h], false)
  10346.                             }
  10347.                         }
  10348.                         break;
  10349.                     case "skip":
  10350.                         j.target.blur();
  10351.                         this._firePixel(i, this.state.i);
  10352.                         this.setStep(this.model.getResumeStep(this.state.i + 1), {
  10353.                             fireRenderPixel: true
  10354.                         });
  10355.                         if (this._ops.isStateless) {
  10356.                             this._updateProgress()
  10357.                         }
  10358.                         break;
  10359.                     case "nav":
  10360.                         j.target.blur();
  10361.                         j.preventDefault();
  10362.                         j.stopPropagation();
  10363.                         this._firePixel(i, this.state.i, j.target.getAttribute("data-step"), 10);
  10364.                         this.setStep(parseInt(j.target.getAttribute("data-step"), 10), {
  10365.                             fireRenderPixel: true
  10366.                         });
  10367.                         break;
  10368.                     case "complete":
  10369.                         j.target.blur();
  10370.                         this._firePixel(i, this.state.i);
  10371.                         var g = $(j.target).closest(".js-" + a + "-step");
  10372.                         g.toggleClass(a + "__step--anim", true);
  10373.                         this.model.completeStep(this.state.i);
  10374.                         j.target.setAttribute("disabled", "disabled");
  10375.                         this.timeoutId = setTimeout(function() {
  10376.                             this.setStep(this.model.getResumeStep(this.state.i + 1), {
  10377.                                 fireRenderPixel: true
  10378.                             });
  10379.                             this._renderStep(g, "completed");
  10380.                             this._updateProgress()
  10381.                         }.bind(this), 500);
  10382.                         break;
  10383.                     case "resume":
  10384.                     case "search":
  10385.                         this._firePixel(i, this.state.i);
  10386.                         this.model.markDirty();
  10387.                         if (this._ops.onStartSearch) {
  10388.                             this._ops.onStartSearch()
  10389.                         }
  10390.                         this._ops.onClose();
  10391.                         this.setStep(this._ops.isStateless ? 0 : this.model.getResumeStep());
  10392.                         if (this._ops.isStateless) {
  10393.                             this._updateProgress();
  10394.                             this.$slider.find(".js-" + a + "-step").each(function(k, m) {
  10395.                                 this._unmarkStepActioned(k)
  10396.                             }.bind(this))
  10397.                         }
  10398.                         break
  10399.                 }
  10400.             }
  10401.         },
  10402.         _markStepActioned: function(h) {
  10403.             var g = this.$slider.find(".js-" + a + "-step:nth-child(" + (h + 1) + ")");
  10404.             g.addClass(a + "__step--actioned")
  10405.         },
  10406.         _unmarkStepActioned: function(h) {
  10407.             var g = this.$slider.find(".js-" + a + "-step:nth-child(" + (h + 1) + ")");
  10408.             g.removeClass(a + "__step--actioned")
  10409.         },
  10410.         _renderStep: function(i, h) {
  10411.             i.attr("data-status", h);
  10412.             if (h === "completed") {
  10413.                 i.find('[data-action="do"]').hide();
  10414.                 i.find('[data-action="complete"]').attr("disabled", "disabled").text("Completed");
  10415.                 i.find('[data-action="skip"]').hide()
  10416.             } else {
  10417.                 if (!this._ops.isStateless) {
  10418.                     this.$final.hide()
  10419.                 }
  10420.             }
  10421.             if (!this._ops.isStateless) {
  10422.                 var g = a + "__step__content__header__title--final";
  10423.                 if (this.model.hasCompletedAllSteps()) {
  10424.                     this.$title.toggleClass(g, true).html("Setup Complete!");
  10425.                     this.$search.attr("data-action", "search").html("Start Searching");
  10426.                     this.$desc.show();
  10427.                     this.$resume.hide();
  10428.                     this.$final.show()
  10429.                 } else {
  10430.                     var m = [this.model.hasDdgAsDefault(), this.model.hasDdgApp(), this.model.hasDdgExtension()],
  10431.                         j = m.reduce(function(o, n) {
  10432.                             return o + n
  10433.                         }, 0),
  10434.                         k = ["Three Steps", "Two Steps", "One Step"][j];
  10435.                     this.$title.toggleClass(g, false).html(j === 0 ? "Heads Up – You’re Still Missing These Three Privacy Essentials:" : "Almost There!<br /> " + k + " Left to Complete Your Privacy Setup");
  10436.                     this.$search.attr("data-action", "resume").html("Resume Later");
  10437.                     this.$desc.hide();
  10438.                     this.$resume.show();
  10439.                     this.$final.hide();
  10440.                     this.$remaining.children().each(function(n) {
  10441.                         $(this).attr("data-checked", m[n].toString())
  10442.                     })
  10443.                 }
  10444.             }
  10445.         },
  10446.         _updateProgress: function() {
  10447.             var h = this._ops.isStateless ? this.state.i : this.model.getProgressValue();
  10448.             var g = (h / (this.state.n - 1)) * 100;
  10449.             this.$count.text(this._ops.isStateless ? h + 1 : h);
  10450.             this.$fallbackprogress.css("width", g.toString() + "%")
  10451.         },
  10452.         _onTouchStart: function(g) {
  10453.             this.state.x0 = e(g);
  10454.             this.state.isDragging = true;
  10455.             this.$slider.toggleClass(a + "__slider--smooth", false)
  10456.         },
  10457.         _onTouchMove: function(i) {
  10458.             if (this.state.isDragging) {
  10459.                 var h = e(i) - this.state.x0;
  10460.                 var g = this.state.translated + h;
  10461.                 this.$slider.css("transform", "translate(" + g + "px)")
  10462.             }
  10463.         },
  10464.         _onTouchEnd: function(m) {
  10465.             if (this.state.isDragging) {
  10466.                 var j = e(m);
  10467.                 var h;
  10468.                 if ($.isNumeric(j)) {
  10469.                     var g = j - this.state.x0;
  10470.                     var k = g > 0 ? this.state.i - 1 : this.state.i + 1;
  10471.                     var i = Math.abs(g) / this.state.w;
  10472.                     if (k >= 0 && k < this.state.n && i > 0.2) {
  10473.                         h = k;
  10474.                         this._firePixel("swipe", this.state.i, h)
  10475.                     }
  10476.                 }
  10477.                 this.setStep(h, {
  10478.                     fireRenderPixel: true
  10479.                 });
  10480.                 this._updateProgress()
  10481.             }
  10482.         },
  10483.         setStep: function(i, h) {
  10484.             h = h || {};
  10485.             if ($.isNumeric(i) && i >= 0 && i < this.state.n) {
  10486.                 this.state.i = i;
  10487.                 if (h.fireRenderPixel) {
  10488.                     this._firePixel("render", this.state.i);
  10489.                     this.model.trackRenderedStep(this.state.i)
  10490.                 }
  10491.                 if (this._ops.onShowSetAsDefault) {
  10492.                     this._ops.onShowSetAsDefault()
  10493.                 }
  10494.             }
  10495.             var g = (this.state.i * ((1 - (2 * f)) * this.state.w)) - (f * this.state.w);
  10496.             this.state.translated = g * -1;
  10497.             this.$slider.css("transform", "translate(" + this.state.translated + "px)");
  10498.             this.$slider.toggleClass(a + "__slider--smooth", true);
  10499.             this.state.isDragging = false;
  10500.             this.state.x0 = null
  10501.         },
  10502.         _firePixel: function(j, i, g) {
  10503.             var h = "cpp",
  10504.                 k;
  10505.             switch (j) {
  10506.                 case "render":
  10507.                     k = "i";
  10508.                     break;
  10509.                 case "skip":
  10510.                     k = "s";
  10511.                     break;
  10512.                 case "do":
  10513.                     k = "a";
  10514.                     break;
  10515.                 case "nav":
  10516.                     k = "n";
  10517.                     break;
  10518.                 case "complete":
  10519.                 case "resume":
  10520.                 case "search":
  10521.                     k = "c";
  10522.                     break;
  10523.                 case "swipe":
  10524.                     k = "w";
  10525.                     break;
  10526.                 case "close":
  10527.                     k = "x";
  10528.                     break;
  10529.                 default:
  10530.                     break
  10531.             }
  10532.             if (k) {
  10533.                 c.pixel.fire(h + k, c.device.pixelBrowserName, c.opensearch.version, {
  10534.                     va: c.opensearch.variant,
  10535.                     atbva: c.opensearch.atbVariant,
  10536.                     l: w.locale,
  10537.                     p: c.device.pixelPlatformName,
  10538.                     ak: c.settings.get(c.addToBrowser.BADGE_DISMISS_KEY),
  10539.                     kae: c.settings.get("kae"),
  10540.                     st: this.model.createPixelStep(i),
  10541.                     dst: this.model.createPixelStep(g),
  10542.                     s: this.model.getPixelStatuses(),
  10543.                     o: this.model.getPixelOpenStatuses(),
  10544.                     i: this.model.getPixelImpressionStatuses(),
  10545.                     w: this.model.hasStorage ? "1" : "0"
  10546.                 })
  10547.             }
  10548.         }
  10549.     });
  10550.  
  10551.     function e(h) {
  10552.         var g;
  10553.         if (h) {
  10554.             h = h.originalEvent;
  10555.             if (h) {
  10556.                 h = h.changedTouches ? h.changedTouches[0] : h;
  10557.                 if (h) {
  10558.                     g = h.clientX
  10559.                 }
  10560.             }
  10561.         }
  10562.         return g
  10563.     }
  10564. }(DDG);
  10565. ! function(g) {
  10566.     var a = g.Views.Base,
  10567.         e = false,
  10568.         c = false,
  10569.         b = "onboarding-bottom-bathroomguy-animation-on";
  10570.     g.Views.AddToBrowserBadge = function(n) {
  10571.         n = $.extend({}, n);
  10572.         this._timeoutIds = {};
  10573.         n.displayBrowserName = g.device.displayBrowserName;
  10574.         n.browserId = n.displayBrowserName.toLowerCase();
  10575.         n.ctaText = l("Set DuckDuckGo as your %sdefault search engine", "");
  10576.         var p = g.Data.Onboarding[g.opensearch.atbVariant] || {};
  10577.         n.onboardingTest = p;
  10578.         n.va = g.opensearch.variant;
  10579.         n.atbva = g.opensearch.atbVariant;
  10580.         this._canInstallExtension = n.canInstall = g.extension.canInstall();
  10581.         n.random_number = Math.ceil(Math.random() * 10000000);
  10582.         this.animated = p.animateModalIllustration;
  10583.         this.isEnglish = n.isEnglish = window.locale && window.locale.substring(0, 2) === "en";
  10584.         this.hideOnClick = n.hideOnClick;
  10585.         this.badgeType = n.badgeType;
  10586.         this.searchbar = n.searchbar;
  10587.         this.htmlClass = n.htmlClass;
  10588.         this.onOnboardingDone = n.onOnboardingDone;
  10589.         this.onClick = n.onClick;
  10590.         this.isCppExp = n.isCppExp;
  10591.         this.isCppControl = n.isCppControl;
  10592.         if (this.isCppExp) {
  10593.             n.resumeInstall = g.onboarding.isResumable();
  10594.             n.step1Done = g.onboarding.hasCompletedStep1()
  10595.         }
  10596.         if (n.topRight) {
  10597.             this.template = g.extension.canInstall() ? "add_to_browser_badge_top" : "add_to_browser_badge_top_settings";
  10598.             this.topRight = true;
  10599.             $(".js-header-aside").addClass("is-hidden")
  10600.         }
  10601.         if (n.template) {
  10602.             this.template = n.template
  10603.         }
  10604.         if (n.fadeIn) {
  10605.             this._timeoutIds.showBadge = setTimeout(function() {
  10606.                 if (!e) {
  10607.                     this.$el.fadeIn()
  10608.                 }
  10609.             }.bind(this), 500)
  10610.         }
  10611.         if (this._canInstallExtension) {
  10612.             if (g.device.isDesktop && g.device.isFirefox && g.device.firefoxVersion > 56) {
  10613.                 n.url = g.extension.url + this._getFirefoxSrc(n.clickPixel)
  10614.             } else {
  10615.                 if (g.device.isDesktop && g.device.isSafari) {
  10616.                     n.url = g.extension.url;
  10617.                     n.openInNewTab = true;
  10618.                     this._isOpeningInNewTab = true
  10619.                 } else {
  10620.                     this._chromeStoreURL = n.url = g.extension.url
  10621.                 }
  10622.             }
  10623.             if (g.device.isChromiumBased && g.extension.canInstall()) {
  10624.                 if (!c) {
  10625.                     $("head").append('<link rel="chrome-webstore-item" href="' + n.url + '">');
  10626.                     c = true
  10627.                 }
  10628.                 n.url = null
  10629.             }
  10630.         } else {
  10631.             if ((g.device.isChrome48AndUp || g.device.isEdge || g.device.isEdgeChromium || g.device.isIE) && !g.device.isMobileDevice && !g.device.isBrave) {
  10632.                 n.url = "/install";
  10633.                 n.openInNewTab = true;
  10634.                 if (g.settings.get("t")) {
  10635.                     n.url += ("?t=" + g.settings.get("t"))
  10636.                 }
  10637.                 this._isOpeningInNewTab = true
  10638.             }
  10639.         }
  10640.         this.xPixel = n.xPixel;
  10641.         this.clickPixel = n.clickPixel;
  10642.         this.entryPoint = n.entryPoint || "hp";
  10643.         if (g.device.isSafari) {
  10644.             n.showButton = true
  10645.         }
  10646.         a.call(this, n);
  10647.         if (n.impressionPixel) {
  10648.             var q = {
  10649.                 va: g.opensearch.variant,
  10650.                 atbva: g.opensearch.atbVariant,
  10651.                 l: w.locale,
  10652.                 p: g.device.pixelPlatformName
  10653.             };
  10654.             if (n.onlyFireImpressionPixelIfIntoView) {
  10655.                 this._observer = new g.Utils.IsIntoViewObserver(this.$el.get(0), function(r) {
  10656.                     if (r) {
  10657.                         g.pixel.fire(n.impressionPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(q));
  10658.                         this._observer.destroy()
  10659.                     }
  10660.                 }.bind(this))
  10661.             } else {
  10662.                 g.pixel.fire(n.impressionPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(q))
  10663.             }
  10664.         }
  10665.         var o = n.topRight ? ".js-badge-main-msg" : this.$el;
  10666.         if (n.button) {
  10667.             o = n.button
  10668.         }
  10669.         this.bindEvents([
  10670.             [o, "click", j],
  10671.             [".js-badge-link-close", "click", k],
  10672.             [".js-badge-link-dismiss", "click", f.bind(this, n)],
  10673.             [".js-atb-tile-link", "click", h.bind(this)],
  10674.             [".js-scroll-top", "click", i.bind(this)]
  10675.         ].concat(this.isCppExp ? [
  10676.             [g.onboarding, "change:step", this._onChangeOnboardingStep]
  10677.         ] : []));
  10678.         if (this._canInstallExtension && g.device.isFirefox) {
  10679.             this.bindEvents([
  10680.                 [g.device, "resize", this.hideExtensionOverlay.bind(this)],
  10681.                 [g.device, "visibilitychange", this.hideExtensionOverlay.bind(this)]
  10682.             ])
  10683.         }
  10684.         var m = g.history.get("exti");
  10685.         if (m) {
  10686.             g.history.clear("exti");
  10687.             if (this.badgeType !== "splash") {
  10688.                 this.hide()
  10689.             }
  10690.             this.passATBToExtension(function(r) {
  10691.                 if (r) {}
  10692.                 if (m === "1") {
  10693.                     this.showExtensionOverlay()
  10694.                 } else {
  10695.                     if (m === "2") {
  10696.                         this.showExtensionOverlay();
  10697.                         this.showSuccessScreen()
  10698.                     }
  10699.                 }
  10700.             }.bind(this))
  10701.         }
  10702.         if (this.htmlClass) {
  10703.             g.$html.addClass(this.htmlClass)
  10704.         }
  10705.     };
  10706.     g.Views.AddToBrowserBadge.prototype = $.extend({}, a.prototype, {
  10707.         template: "add_to_browser_badge",
  10708.         destroy: function() {
  10709.             if (this._observer) {
  10710.                 this._observer.destroy()
  10711.             }
  10712.             clearInterval(this._successInterval);
  10713.             Object.keys(this._timeoutIds).forEach(function(m) {
  10714.                 clearTimeout(this._timeoutIds[m]);
  10715.                 delete this._timeoutIds[m]
  10716.             }, this);
  10717.             a.prototype.destroy.call(this)
  10718.         },
  10719.         showModal: function() {
  10720.             if (!this.views.modal) {
  10721.                 this.views.modal = new g.Views.AddToBrowserModal({
  10722.                     entryPoint: this.entryPoint,
  10723.                     appendTo: $("body")
  10724.                 })
  10725.             }
  10726.             clearTimeout(this._timeoutIds.showModal);
  10727.             this._timeoutIds.showModal = setTimeout(function() {
  10728.                 this.views.modal.show()
  10729.             }.bind(this), 50)
  10730.         },
  10731.         showCppModal: function() {
  10732.             if (!g.page.views.cppModal) {
  10733.                 g.page.views.cppModal = new g.Views.CppModal({
  10734.                     url: this._chromeStoreURL,
  10735.                     appendTo: $("body"),
  10736.                     passATBToExtension: this.passATBToExtension.bind(this),
  10737.                     model: g.onboarding,
  10738.                     onOnboardingDone: this.onOnboardingDone
  10739.                 })
  10740.             }
  10741.             clearTimeout(this._timeoutIds.showCppModal);
  10742.             this._timeoutIds.showCppModal = setTimeout(function() {
  10743.                 g.page.views.cppModal.show()
  10744.             }, 50)
  10745.         },
  10746.         show: function() {
  10747.             this.$el.show()
  10748.         },
  10749.         hide: function() {
  10750.             $(".js-header-aside").removeClass("is-hidden");
  10751.             if (this.htmlClass) {
  10752.                 g.$html.removeClass(this.htmlClass)
  10753.             }
  10754.             this.$el.hide()
  10755.         },
  10756.         animate: function() {
  10757.             this.$el.addClass(b);
  10758.             this.animated = true
  10759.         },
  10760.         unAnimate: function() {
  10761.             this.$el.removeClass(b);
  10762.             this.animated = false
  10763.         },
  10764.         click: function(m) {
  10765.             j.call(this, m)
  10766.         },
  10767.         dismiss: function() {
  10768.             $(".js-header-aside").removeClass("is-hidden");
  10769.             g.addToBrowser.dismiss();
  10770.             if (!this.dismissed) {
  10771.                 g.pixel.fire(this.xPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps({
  10772.                     va: g.opensearch.variant,
  10773.                     atbva: g.opensearch.atbVariant,
  10774.                     l: w.locale,
  10775.                     p: g.device.pixelPlatformName
  10776.                 }));
  10777.                 this.dismissed = true
  10778.             }
  10779.         },
  10780.         showExtensionOverlay: function() {
  10781.             if (e || !this._canInstallExtension) {
  10782.                 return
  10783.             }
  10784.             e = true;
  10785.             this._onBoardingTest = g.Data.Onboarding[g.opensearch.atbVariant] || {};
  10786.             var n = "add_to_browser_extension_overlay",
  10787.                 p = g.device.browserName ? g.device.browserName.toLowerCase() : "",
  10788.                 o = n + "_" + p,
  10789.                 m = g.templates[o];
  10790.             this.$extOverlay = g.$exec_template(n, {
  10791.                 browserName: p,
  10792.                 subTemplate: m && o,
  10793.                 url: g.extension.url,
  10794.                 onBoardingTest: this._onBoardingTest,
  10795.                 isEnglish: this.isEnglish,
  10796.                 allowAdd: g.device.isFirefoxLessThan67,
  10797.                 allowAddAllow: g.device.isFirefox67,
  10798.                 continueAddAllow: g.device.isFirefox68AndUp
  10799.             });
  10800.             clearTimeout(this._timeoutIds.showExtensionOverlay1);
  10801.             this._timeoutIds.showExtensionOverlay1 = setTimeout(function() {
  10802.                 this.$extOverlay.click(this.hideExtensionOverlay.bind(this))
  10803.             }.bind(this), 100);
  10804.             if (g.device.isOSX) {
  10805.                 this.$extOverlay.addClass("is-osx")
  10806.             }
  10807.             $("body").append(this.$extOverlay);
  10808.             g.$html.addClass("is-blurred");
  10809.             clearTimeout(this._timeoutIds.showExtensionOverlay2);
  10810.             this._timeoutIds.showExtensionOverlay2 = setTimeout(function() {
  10811.                 this.$extOverlay && this.$extOverlay.addClass("is-showing")
  10812.             }.bind(this), 10);
  10813.             if (this._canInstallExtension && g.extension.watchCSSForSuccess) {
  10814.                 this._successInterval = setInterval(function() {
  10815.                     if (!e || w.extensionsuccess) {
  10816.                         return clearInterval(this._successInterval)
  10817.                     }
  10818.                     if (g.extension.isInstalled({
  10819.                             nocache: true
  10820.                         }) && !d.getElementById("confetti")) {
  10821.                         if (g.device.isSafari) {
  10822.                             this.reloadAndResumeAtStep(2)
  10823.                         } else {
  10824.                             this.showSuccessScreen()
  10825.                         }
  10826.                     }
  10827.                 }.bind(this), 500)
  10828.             }
  10829.         },
  10830.         hideExtensionOverlay: function() {
  10831.             if (!e) {
  10832.                 return
  10833.             }
  10834.             g.$html.removeClass("is-blurred");
  10835.             this.$extOverlay && this.$extOverlay.removeClass("is-showing");
  10836.             clearTimeout(this._timeoutIds.hideExtensionOverlay);
  10837.             this._timeoutIds.hideExtensionOverlay = setTimeout(function() {
  10838.                 this.$extOverlay && this.$extOverlay.remove()
  10839.             }.bind(this), 300);
  10840.             if (this.hideOnClick) {
  10841.                 this.show()
  10842.             }
  10843.             this._successInterval && clearInterval(this._successInterval);
  10844.             e = false
  10845.         },
  10846.         showSuccessScreen: function() {
  10847.             if (w.extensionsuccess) {
  10848.                 return
  10849.             }
  10850.             this.hideExtensionOverlay();
  10851.             this._fireInstalledPixel();
  10852.             g.device.scrollTop(0);
  10853.             this.$extOverlay && this.$extOverlay.off("click");
  10854.             g.addToBrowser.emit("extension-installed")
  10855.         },
  10856.         passATBToExtension: function(n) {
  10857.             var m = g.Data.Onboarding[g.opensearch.atbVariant] || {};
  10858.             return $.ajax({
  10859.                 dataType: "json",
  10860.                 url: "/atb.js?" + Math.ceil(Math.random() * 10000000),
  10861.                 error: function(p, o, q) {
  10862.                     g.pixel.fire("exte", this._cppifyPixelOps({
  10863.                         status: p.status,
  10864.                         statusText: p.statusText,
  10865.                         responseText: p.responseText,
  10866.                         msg: q,
  10867.                         p: g.device.pixelPlatformName
  10868.                     }));
  10869.                     this._failedToAddATBData = true;
  10870.                     if (typeof n === "function") {
  10871.                         n(new Error(q || p.responseText || p.status))
  10872.                     }
  10873.                 }.bind(this),
  10874.                 success: function(o) {
  10875.                     if (!o || !o.version || !o.majorVersion || !o.minorVersion) {
  10876.                         g.pixel.fire("exte", this._cppifyPixelOps({
  10877.                             msg: "invalid-atb-info",
  10878.                             d: encodeURIComponent(o),
  10879.                             p: g.device.pixelPlatformName
  10880.                         }));
  10881.                         this._failedToAddATBData = true;
  10882.                         if (typeof n === "function") {
  10883.                             n(null, o)
  10884.                         }
  10885.                         return
  10886.                     }
  10887.                     this._failedToAddATBData = false;
  10888.                     g.opensearch.setATB(o, {
  10889.                         skipVariant: true
  10890.                     });
  10891.                     if (this.badgeType === "splash") {
  10892.                         g.opensearch.atbVariant = g.tParam.get();
  10893.                         if (g.history.get("va")) {
  10894.                             g.opensearch.variant = g.history.get("va")[0]
  10895.                         } else {
  10896.                             if (m.variant) {
  10897.                                 g.opensearch.variant = m.variant
  10898.                             } else {
  10899.                                 g.opensearch.variant = g.opensearch.atbVariant
  10900.                             }
  10901.                         }
  10902.                     }
  10903.                     g.history.set("natb", g.opensearch.version + g.opensearch.variant + g.opensearch.atbVariant);
  10904.                     if (this.clickPixel) {
  10905.                         g.history.set("cp", this.clickPixel)
  10906.                     }
  10907.                     var p = g.device.isChromiumBased && g.extension.canInstall() ? "data-chromeatb" : "data-atb";
  10908.                     $("html").attr(p, g.opensearch.version + g.opensearch.variant + g.opensearch.atbVariant);
  10909.                     if (typeof n === "function") {
  10910.                         n(null, o)
  10911.                     }
  10912.                 }.bind(this)
  10913.             })
  10914.         },
  10915.         reloadAndResumeAtStep: function(n, m) {
  10916.             g.history.set("exti", n, function() {
  10917.                 clearTimeout(this._timeoutIds.reloadAndResumeAtStep);
  10918.                 this._timeoutIds.reloadAndResumeAtStep = setTimeout(function() {
  10919.                     window.location.reload()
  10920.                 }, m || 0)
  10921.             }.bind(this));
  10922.             g.history.set("t", "h" + g.opensearch.atbVariant)
  10923.         },
  10924.         _fireInstalledPixel: function() {
  10925.             var m, o = {
  10926.                 atbva: g.opensearch.atbVariant,
  10927.                 va: g.opensearch.variant,
  10928.                 l: window.locale,
  10929.                 cp: this.clickPixel,
  10930.                 exte: this._failedToAddATBData ? 1 : 0,
  10931.                 p: g.device.pixelPlatformName
  10932.             };
  10933.             if ((this.clickPixel === "atbhc" || this.clickPixel === "atbsc")) {
  10934.                 m = g.settings.isDefault(g.addToBrowser.BADGE_RECURRING_KEY) ? 0 : 1
  10935.             }
  10936.             o.ax = (m) ? m : 0;
  10937.             if (g.opensearch.adRef) {
  10938.                 o.r = g.opensearch.adRef
  10939.             }
  10940.             g.pixel.fire("exti", g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(o));
  10941.             if (g.device.isChromiumBased && g.extension.canInstall() || (g.device.isFirefox && g.device.firefoxVersion > 56) || g.device.isSafari) {
  10942.                 return
  10943.             }
  10944.             var n = this._failedToAddATBData ? "&exte=1" : "";
  10945.             $.ajax({
  10946.                 url: "/exti/?atb=" + g.opensearch.getFullATBParam() + n + "&p=" + g.device.pixelPlatformName + "&l=" + window.locale + "&cp=" + this.clickPixel
  10947.             });
  10948.             g.pixel.fire("iconf", g.device.pixelBrowserName, g.opensearch.version, o)
  10949.         },
  10950.         _removeHTMLClass: function() {
  10951.             if (this.htmlClass) {
  10952.                 g.$html.removeClass(this.htmlClass)
  10953.             }
  10954.         },
  10955.         _onChangeOnboardingStep: function(m) {
  10956.             switch (m) {
  10957.                 case 1:
  10958.                     $(".js-cta-state-cpp").text("Resume Privacy Setup");
  10959.                     break;
  10960.                 case 2:
  10961.                     $(".js-cta-state-cpp").text("Resume Privacy Setup");
  10962.                     $(".js-cpp-step-1").attr("data-status", "completed");
  10963.                     break;
  10964.                 case 3:
  10965.                     $(".js-cta-state-cpp").text("Resume Privacy Setup");
  10966.                     $(".js-cpp-step-2").attr("data-status", "completed");
  10967.                     if (g.page && g.page.views) {
  10968.                         Object.keys(g.page.views).forEach(function(o) {
  10969.                             var n = g.page.views[o];
  10970.                             if (n && typeof n.hide === "function" && (n.template === "add_to_browser_badge_top_cpp" || n.template === "add_to_browser_badge_button" || n.template === "add_to_browser_fullbleed_billboard_v2")) {
  10971.                                 n.hide();
  10972.                                 if (n.template === "add_to_browser_fullbleed_billboard_v2") {
  10973.                                     window.scrollTo(0, 0)
  10974.                                 }
  10975.                             }
  10976.                         })
  10977.                     }
  10978.                     break
  10979.             }
  10980.         },
  10981.         _cppifyPixelOps: function(m) {
  10982.             return this.isCppExp ? $.extend({}, m, {
  10983.                 st: g.onboarding.getStep(),
  10984.                 i: (+g.onboarding.hasBeenExposed()),
  10985.                 r: (+g.onboarding.isResumable())
  10986.             }) : m
  10987.         },
  10988.         _getFirefoxSrc: function(q) {
  10989.             var o = {
  10990.                 serp: "results"
  10991.             };
  10992.             var r = {
  10993.                 atbhc: "top",
  10994.                 atbsc: "",
  10995.                 atbfc: "faq",
  10996.                 atb1c: "onboarding-1",
  10997.                 atb2c: "onboarding-2",
  10998.                 atb3c: "onboarding-3",
  10999.                 atbbc: "onboarding-4",
  11000.                 atbaoct: "top",
  11001.                 atbaoc: "bottom",
  11002.                 atbmc: "sidebar",
  11003.                 atbpc: "privacy",
  11004.                 atbic: ""
  11005.             };
  11006.             var n = o[g.page.pageType] || g.page.pageType;
  11007.             var p = q in r ? r[q] : "other";
  11008.             var m = "?src=external-" + n;
  11009.             if (p) {
  11010.                 m += "-" + p
  11011.             }
  11012.             return m
  11013.         }
  11014.     });
  11015.  
  11016.     function j(m) {
  11017.         if (this._preventClicks) {
  11018.             m && m.preventDefault();
  11019.             return
  11020.         }
  11021.         if (this._isNoOpClick) {
  11022.             this._isNoOpClick = false;
  11023.             return
  11024.         }
  11025.         if (this.onClick) {
  11026.             this.onClick()
  11027.         }
  11028.         if (this.isCppExp || this.isCppControl) {
  11029.             g.opensearch.trap()
  11030.         }
  11031.         var n = {
  11032.             va: g.opensearch.variant,
  11033.             atbva: g.opensearch.atbVariant,
  11034.             l: w.locale,
  11035.             p: g.device.pixelPlatformName
  11036.         };
  11037.         if (g.opensearch.adRef) {
  11038.             n.r = g.opensearch.adRef
  11039.         }
  11040.         if (this._isOpeningInNewTab) {
  11041.             g.pixel.fire(this.clickPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(n));
  11042.             return
  11043.         }
  11044.         if (g.device.chromeVersion > 70 && g.device.isChromiumBased && g.extension.canInstall() && g.device.isDesktop) {
  11045.             g.pixel.fire(this.clickPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(n));
  11046.             if (this.isCppExp) {
  11047.                 this.showCppModal()
  11048.             } else {
  11049.                 this.passATBToExtension(function(o) {
  11050.                     if (o) {}
  11051.                     window.open(this._chromeStoreURL)
  11052.                 }.bind(this))
  11053.             }
  11054.             return
  11055.         }
  11056.         if (this._canInstallExtension) {
  11057.             n.exti = 1;
  11058.             g.pixel.fire(this.clickPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(n));
  11059.             if (this.hideOnClick) {
  11060.                 this.hide()
  11061.             }
  11062.             if (g.device.isSafari) {
  11063.                 this.reloadAndResumeAtStep(1, 1000)
  11064.             } else {
  11065.                 if (m) {
  11066.                     m.preventDefault()
  11067.                 }
  11068.                 this._preventClicks = true;
  11069.                 this.passATBToExtension(function(o) {
  11070.                     this._preventClicks = false;
  11071.                     if (o) {}
  11072.                     if (g.device.isChromiumBased && this._canInstallExtension) {
  11073.                         chrome.webstore.install(this._chromeStoreURL, this.showSuccessScreen.bind(this), this.hideExtensionOverlay.bind(this))
  11074.                     }
  11075.                     clearTimeout(this._timeoutIds.onClick);
  11076.                     this._timeoutIds.onClick = setTimeout(function() {
  11077.                         this.showExtensionOverlay()
  11078.                     }.bind(this), 100);
  11079.                     if (m) {
  11080.                         this._isNoOpClick = true;
  11081.                         m.target.click()
  11082.                     }
  11083.                 }.bind(this))
  11084.             }
  11085.             return
  11086.         }
  11087.         m && m.preventDefault();
  11088.         g.pixel.fire(this.clickPixel, g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps(n));
  11089.         this.showModal()
  11090.     }
  11091.  
  11092.     function k(m) {
  11093.         m.preventDefault();
  11094.         m.stopPropagation();
  11095.         this.dismiss();
  11096.         if (this._showingCookieMessage) {
  11097.             this._showingCookieMessage = false;
  11098.             clearTimeout(this._timeoutIds.cookieMessageTimeout);
  11099.             this._removeHTMLClass()
  11100.         }
  11101.         this.destroy()
  11102.     }
  11103.  
  11104.     function f(m, n) {
  11105.         n.preventDefault();
  11106.         n.stopPropagation();
  11107.         this.dismiss();
  11108.         this._showingCookieMessage = true;
  11109.         this.$(".js-badge-main-msg").hide();
  11110.         this.$(".js-badge-cookie-msg").show();
  11111.         clearTimeout(this._timeoutIds.cookieMessageTimeout);
  11112.         this._timeoutIds.cookieMessageTimeout = setTimeout(function() {
  11113.             this.$el && this.$el.fadeOut(600, function() {
  11114.                 this._removeHTMLClass();
  11115.                 this._showingCookieMessage = false
  11116.             }.bind(this))
  11117.         }.bind(this), 7000)
  11118.     }
  11119.  
  11120.     function h(m) {
  11121.         g.pixel.fire("atbhtc", $(m.currentTarget).data("id"), g.device.pixelBrowserName, g.opensearch.version, this._cppifyPixelOps({}))
  11122.     }
  11123.  
  11124.     function i() {
  11125.         g.$html.animate({
  11126.             scrollTop: 0
  11127.         }, 500, function() {
  11128.             this.searchbar.focus({
  11129.                 focusInput: true
  11130.             })
  11131.         }.bind(this))
  11132.     }
  11133. }(DDG);
  11134. ! function(f) {
  11135.     var a = f.Views.Base,
  11136.         b = "atb-banner";
  11137.     f.Views.AddToBrowserBanner = function(n) {
  11138.         if (n.isCppm || n.isCppm4 || n.isCppm5 || n.isCppmControl || n.isCppmStateless) {
  11139.             n = $.extend({}, n, {
  11140.                 isCppmExpOrControl: true
  11141.             })
  11142.         }
  11143.         this._ops = n;
  11144.         n.displayBrowserName = f.device.displayBrowserName;
  11145.         n.androidChromeNoOpenSearch = f.device.isAndroidChromeNoOpenSearch;
  11146.         var o = f.Data.Onboarding[f.opensearch.atbVariant] || {};
  11147.         this.onboardingTest = n.onboardingTest = o;
  11148.         n.isEnglish = f.device.isEnglish;
  11149.         this.xPixel = n.xPixel;
  11150.         this.clickPixel = n.clickPixel;
  11151.         this.entryPoint = n.entryPoint || "hp";
  11152.         a.call(this, n);
  11153.         if (n.isCppm) {
  11154.             this.bindEvents([
  11155.                 [this._ops.mobileOnboarding, "change:statuses", this._onChangeStatuses],
  11156.                 [this._ops.mobileOnboarding, "change:isDirty", this._onChangeStatuses]
  11157.             ])
  11158.         }
  11159.         var k = parseInt(f.history.get("exti"), 10),
  11160.             m = f.history.get("va");
  11161.         if (k === 3) {
  11162.             this.clickPixel = f.history.get("cp");
  11163.             f.opensearch.variant = m;
  11164.             f.history.clear("cp");
  11165.             f.history.clear("va");
  11166.             f.history.clear("exti");
  11167.             f.history.clear("q");
  11168.             this.showModal()
  11169.         }
  11170.         if (n.impressionPixel && k !== 3) {
  11171.             f.pixel.fire(n.impressionPixel, f.device.pixelBrowserName, f.opensearch.version, this._cppmifyPixelOps({
  11172.                 va: f.opensearch.variant,
  11173.                 atbva: f.opensearch.atbVariant,
  11174.                 l: w.locale,
  11175.                 p: f.device.pixelPlatformName,
  11176.                 ak: f.settings.get(f.addToBrowser.BADGE_DISMISS_KEY)
  11177.             }))
  11178.         }
  11179.     };
  11180.     f.Views.AddToBrowserBanner.prototype = $.extend({}, a.prototype, {
  11181.         template: "add_to_browser_banner",
  11182.         _render: function(k) {
  11183.             if (k.template) {
  11184.                 this.template = k.template
  11185.             } else {
  11186.                 if (f.addToBrowser.canShowMobileButton()) {
  11187.                     this.template = "add_to_browser_button"
  11188.                 } else {
  11189.                     if (f.device.isAndroid && !f.addToBrowser.canShowMobileBanner()) {
  11190.                         this.template = "add_to_browser_badge_android"
  11191.                     }
  11192.                 }
  11193.             }
  11194.             if (this.template === "add_to_browser_banner" || this.template === "add_to_browser_button") {
  11195.                 this.$parent.addClass("fix-to-bottom");
  11196.                 if (f.device.isMobile) {
  11197.                     this.$parent.addClass("show-on-small-screens")
  11198.                 }
  11199.             }
  11200.             if (k.displayableBannerHtmlClass) {
  11201.                 if (this.template === "add_to_browser_banner") {
  11202.                     f.addClass("html", f.$html, k.displayableBannerHtmlClass)
  11203.                 } else {
  11204.                     f.removeClass("html", f.$html, k.displayableBannerHtmlClass)
  11205.                 }
  11206.             }
  11207.             if (this.template === "add_to_browser_button_serp") {
  11208.                 setTimeout(function() {
  11209.                     this.$el.addClass("atb-loaded")
  11210.                 }.bind(this), 500)
  11211.             }
  11212.             a.prototype._render.call(this, k);
  11213.             this._cacheElems(".js-atb-banner", ["learnmore", "close", "dismiss", "start", "cookiemsg", "mainmsg", "link"]);
  11214.             this.bindEvents([
  11215.                 [this.$el, "click", h],
  11216.                 [this.$learnmore, "click", g],
  11217.                 [this.$close, "click", i],
  11218.                 [this.$dismiss, "click", e],
  11219.                 [this.$start, "click", c],
  11220.                 [this.$cookiemsg, "click", j]
  11221.             ]);
  11222.             if (k.isCppm) {
  11223.                 this._onChangeStatuses()
  11224.             }
  11225.         },
  11226.         destroy: function() {
  11227.             if (this._ops.displayableBannerHtmlClass) {
  11228.                 f.removeClass("html", f.$html, this._ops.displayableBannerHtmlClass)
  11229.             }
  11230.             a.prototype.destroy.call(this)
  11231.         },
  11232.         showModal: function() {
  11233.             if (!this.views.modal) {
  11234.                 this.views.modal = new f.Views.AddToBrowserModalBlurred({
  11235.                     isCppm: this._ops.isCppm,
  11236.                     isCppm4: this._ops.isCppm4,
  11237.                     isCppm5: this._ops.isCppm5,
  11238.                     isCppmStateless: this._ops.isCppmStateless,
  11239.                     entryPoint: this.entryPoint,
  11240.                     clickPixel: this.clickPixel,
  11241.                     appendTo: $("body"),
  11242.                     onStartSearch: this._ops.onStartSearch,
  11243.                     mobileOnboarding: this._ops.mobileOnboarding
  11244.                 })
  11245.             }
  11246.             if (this._ops.isCppm || this._ops.isCppm4 || this._ops.isCppm5 || this._ops.isCppmStateless) {
  11247.                 this._ops.mobileOnboarding.setOpenStatuses()
  11248.             }
  11249.             setTimeout(function() {
  11250.                 this.views.modal.show()
  11251.             }.bind(this), 50)
  11252.         },
  11253.         show: function(k) {
  11254.             if (k) {
  11255.                 setTimeout(function() {
  11256.                     this.$el.show()
  11257.                 }.bind(this), k)
  11258.             } else {
  11259.                 this.$el.show()
  11260.             }
  11261.         },
  11262.         hide: function() {
  11263.             this.$el.hide()
  11264.         },
  11265.         dismiss: function() {
  11266.             f.addToBrowser.dismiss();
  11267.             if (f.page.onboardingTest.bannerAbove) {
  11268.                 f.removeClass("html", f.$html, "fixed-header")
  11269.             }
  11270.             f.pixel.fire(this.xPixel, f.device.pixelBrowserName, f.opensearch.version, this._cppmifyPixelOps({
  11271.                 va: f.opensearch.variant,
  11272.                 atbva: f.opensearch.atbVariant,
  11273.                 l: w.locale,
  11274.                 p: f.device.pixelPlatformName
  11275.             }));
  11276.             this.dismissed = true
  11277.         },
  11278.         _onChangeStatuses: function() {
  11279.             if (this._ops.mobileOnboarding.hasCompletedAllSteps()) {
  11280.                 this.$el.addClass(b + "--cppm-completed")
  11281.             } else {
  11282.                 if (this._ops.mobileOnboarding.isResumable()) {
  11283.                     if (this.$link) {
  11284.                         this.$link.text("Resume Privacy Setup")
  11285.                     }
  11286.                 }
  11287.             }
  11288.         },
  11289.         _cppmifyPixelOps: function(k) {
  11290.             return (this._ops.isCppm || this._ops.isCppm4 || this._ops.isCppm5 || this._ops.isCppmStateless) ? $.extend({}, k, {
  11291.                 kae: f.settings.get("kae"),
  11292.                 s: this._ops.mobileOnboarding.getPixelStatuses(),
  11293.                 i: this._ops.mobileOnboarding.getPixelImpressionStatuses(),
  11294.                 r: (+this._ops.mobileOnboarding.isResumable()),
  11295.                 w: this._ops.mobileOnboarding.hasStorage ? "1" : "0"
  11296.             }) : k
  11297.         }
  11298.     });
  11299.  
  11300.     function h(k) {
  11301.         k.preventDefault();
  11302.         k.stopPropagation();
  11303.         if (this._ops.onClick) {
  11304.             this._ops.onClick()
  11305.         }
  11306.         if (fq) {
  11307.             return false
  11308.         }
  11309.         f.pixel.fire(this.clickPixel, f.device.pixelBrowserName, f.opensearch.version, this._cppmifyPixelOps({
  11310.             va: f.opensearch.variant,
  11311.             atbva: f.opensearch.atbVariant,
  11312.             l: w.locale,
  11313.             p: f.device.pixelPlatformName,
  11314.             ak: f.settings.get(f.addToBrowser.BADGE_DISMISS_KEY)
  11315.         }));
  11316.         if (this._ops.isCppm || this._ops.isCppm4 || this._ops.isCppm5 || this._ops.isCppmStateless || this._ops.isCppmControl) {
  11317.             f.opensearch.trap()
  11318.         }
  11319.         if (f.addToBrowser.usesOpenSearch() && f.page.pageType !== "serp") {
  11320.             window.location.href = "/?q=duckduckgo&exti=3&t=h" + f.opensearch.atbVariant + "&va=" + f.opensearch.variant + "&cp=" + this.clickPixel
  11321.         } else {
  11322.             this.showModal()
  11323.         }
  11324.     }
  11325.  
  11326.     function i(k) {
  11327.         k.preventDefault();
  11328.         k.stopPropagation();
  11329.         this.dismiss();
  11330.         this.destroy()
  11331.     }
  11332.  
  11333.     function e(k) {
  11334.         k.preventDefault();
  11335.         k.stopPropagation();
  11336.         this.dismiss();
  11337.         this._showingCookieMessage = true;
  11338.         this.$mainmsg.hide();
  11339.         this.$cookiemsg.show();
  11340.         setTimeout(function() {
  11341.             this.$el && this.$el.fadeOut(600)
  11342.         }.bind(this), 7000)
  11343.     }
  11344.  
  11345.     function c(k) {
  11346.         k.preventDefault();
  11347.         k.stopPropagation();
  11348.         window.location.href = "https://start.duckduckgo.com"
  11349.     }
  11350.  
  11351.     function j(k) {
  11352.         k.preventDefault();
  11353.         k.stopPropagation()
  11354.     }
  11355.  
  11356.     function g(k) {
  11357.         k.preventDefault();
  11358.         k.stopPropagation();
  11359.         this.dismissed = true;
  11360.         this.destroy();
  11361.         f.page.addOnboarding();
  11362.         f.pixel.fire("atbhl", f.device.pixelBrowserName, f.opensearch.version, {
  11363.             va: f.opensearch.variant,
  11364.             atbva: f.opensearch.atbVariant,
  11365.             l: w.locale,
  11366.             p: f.device.pixelPlatformName,
  11367.             ax: (f.settings.isDefault(f.addToBrowser.BADGE_RECURRING_KEY)) ? 0 : 1
  11368.         })
  11369.     }
  11370. }(DDG);
  11371. ! function(c) {
  11372.     var b = c.Views.Modal,
  11373.         a = "js-add-to-browser",
  11374.         e = "is-hidden";
  11375.     c.Views.AddToBrowserModal = function(f) {
  11376.         this.entryPoint = f.entryPoint;
  11377.         b.call(this, f)
  11378.     };
  11379.     c.Views.AddToBrowserModal.prototype = $.extend({}, b.prototype, {
  11380.         template: "add_to_browser_modal",
  11381.         show: function() {
  11382.             b.prototype.show.call(this);
  11383.             $(window).on("blur.atb", function() {
  11384.                 c.pixel.fire("atbob", this.entryPoint, c.device.pixelBrowserName, c.opensearch.version, {
  11385.                     va: c.opensearch.atbVariant
  11386.                 })
  11387.             }.bind(this))
  11388.         },
  11389.         hide: function() {
  11390.             b.prototype.hide.call(this);
  11391.             $(window).off("blur.atb")
  11392.         },
  11393.         _render: function() {
  11394.             var k = c.device,
  11395.                 n = k.getAddToBrowserDirections(),
  11396.                 i = {
  11397.                     displayBrowserName: k.displayBrowserName,
  11398.                     showExtensionLink: k.displayBrowserName === "Vivaldi" && k.chromeVersion >= 50
  11399.                 },
  11400.                 g = n.useForSearch && c.exec_template(n.useForSearch, i),
  11401.                 f = n.setAsHomepage && c.exec_template(n.setAsHomepage, i),
  11402.                 m = k.getBrowserMoreURL(),
  11403.                 j = g && f,
  11404.                 h = j || m;
  11405.             b.prototype._render.call(this, $.extend(i, {
  11406.                 useForSearch: g,
  11407.                 setAsHomepage: f,
  11408.                 moreURL: m,
  11409.                 hasToggle: j,
  11410.                 hasFooter: h
  11411.             }));
  11412.             if (j) {
  11413.                 this.$("." + a + "-search-link").click(this._showDirections.bind(this, "search"));
  11414.                 this.$("." + a + "-homepage-link").click(this._showDirections.bind(this, "homepage"))
  11415.             }
  11416.             this.$(".js-btn-nui").click(function() {
  11417.                 c.pixel.fire("atboc", this.entryPoint, c.device.pixelBrowserName, c.opensearch.version, {
  11418.                     va: c.opensearch.atbVariant
  11419.                 });
  11420.                 c.opensearch.addSearchProvider();
  11421.                 this.$(".has-btn").removeClass("has-btn");
  11422.                 this.$(".js-hide-on-nui").addClass(e);
  11423.                 this.$(".js-show-on-nui").removeClass(e);
  11424.                 return false
  11425.             }.bind(this));
  11426.             this.$el.click(function(o) {
  11427.                 o.preventDefault && o.stopPropagation()
  11428.             })
  11429.         },
  11430.         _showDirections: function(f, i) {
  11431.             i.preventDefault();
  11432.             i.stopPropagation();
  11433.             var g = f === "search" ? "homepage" : "search",
  11434.                 j = "." + a + "-" + g,
  11435.                 h = "." + a + "-" + f;
  11436.             this.$(j).addClass(e);
  11437.             this.$(j + "-link").removeClass(e);
  11438.             this.$(h).removeClass(e);
  11439.             this.$(h + "-link").addClass(e)
  11440.         }
  11441.     })
  11442. }(DDG);
  11443. ! function(e) {
  11444.     var c = e.Views.Modal;
  11445.     e.Views.AddToBrowserModalBlurred = function(f) {
  11446.         this._ops = f;
  11447.         this.clickPixel = f.clickPixel;
  11448.         c.call(this, f)
  11449.     };
  11450.     e.Views.AddToBrowserModalBlurred.prototype = $.extend({}, c.prototype, {
  11451.         template: "add_to_browser_modal_blurred",
  11452.         _render: function(f) {
  11453.             f = f || this._ops;
  11454.             var g = e.Data.Onboarding[e.opensearch.atbVariant] || {};
  11455.             f.content = e.exec_template((f.isCppm || f.isCppm4 || f.isCppm5 || f.isCppmStateless) ? "use_for_search_ios8_cppm" : e.device.getAddToBrowserDirections().useForSearch, {
  11456.                 displayBrowserName: e.device.displayBrowserName,
  11457.                 height: e.device.height,
  11458.                 onboardingTest: g
  11459.             });
  11460.             this.template = (e.addToBrowser.showDarkInstructions()) ? "add_to_browser_modal_blurred_dark" : "add_to_browser_modal_blurred";
  11461.             c.prototype._render.call(this, f);
  11462.             if (f.isCppm || f.isCppm4 || f.isCppm5 || f.isCppmStateless) {
  11463.                 this._createMultiStepMobileOnboardingView();
  11464.                 this.$el.addClass("add-to-browser--blurred-cppm")
  11465.             }
  11466.             var h = (e.addToBrowser.showDarkInstructions() && !(f.isCppm || f.isCppm4 || f.isCppm5 || f.isCppmStateless)) ? "add-to-browser--blurred__backdrop-dark" : "add-to-browser--blurred__backdrop";
  11467.             if (f.isCppm || f.isCppm4 || f.isCppm5 || f.isCppmStateless) {
  11468.                 h += " add-to-browser--blurred__backdrop--cppm"
  11469.             }
  11470.             if (f.isCppm4 || f.isCppm5) {
  11471.                 h += " add-to-browser--blurred__backdrop--cppm-dark"
  11472.             }
  11473.             this.$backdrop = $('<div class="' + h + '"></div>');
  11474.             $("body").append(this.$backdrop);
  11475.             this._measureHeight();
  11476.             e.device.on("resize", this._measureHeight.bind(this));
  11477.             this.bindEvents([
  11478.                 [this.$backdrop, "click", a]
  11479.             ].concat((f.isCppm || f.isCppm4 || f.isCppm5 || f.isCppmStateless) ? [] : [
  11480.                 [this.$el, "click", a]
  11481.             ]))
  11482.         },
  11483.         _createMultiStepMobileOnboardingView: function() {
  11484.             if (!this.views.multiStepMobileOnboarding) {
  11485.                 this.views.multiStepMobileOnboarding = new e.Views.MultiStepMobileOnboarding({
  11486.                     appendTo: ".js-use-for-search-ios8-cppm",
  11487.                     isStateless: this._ops.isCppmStateless || this._ops.isCppm4 || this._ops.isCppm5,
  11488.                     isCppm4: this._ops.isCppm4,
  11489.                     isCppm5: this._ops.isCppm5,
  11490.                     model: this._ops.mobileOnboarding,
  11491.                     onClose: this.hide.bind(this),
  11492.                     onStartSearch: this._ops.onStartSearch,
  11493.                     onShowSetAsDefault: this._setViewedCookie.bind(this)
  11494.                 })
  11495.             }
  11496.         },
  11497.         show: function() {
  11498.             e.$html.addClass("blurred-animation").addClass("is-blurred");
  11499.             if (this._ops.isCppm || this._ops.isCppm4 || this._ops.isCppm5 || this._ops.isCppmStateless) {
  11500.                 e.$html.addClass("cppm")
  11501.             } else {
  11502.                 this._setViewedCookie()
  11503.             }
  11504.             this.$backdrop.addClass("is-showing");
  11505.             b(this.$el, "translate3d(0px," + this._translateY + "px,0px)");
  11506.             c.prototype.show.call(this)
  11507.         },
  11508.         hide: function() {
  11509.             b(this.$el, "translate3d(0px,0px,0px)");
  11510.             e.$html.removeClass("is-blurred");
  11511.             this.$backdrop.removeClass("is-showing");
  11512.             if (this._ops.isCppm || this._ops.isCppm4 || this._ops.isCppm5 || this._ops.isCppmStateless) {
  11513.                 e.$html.removeClass("cppm")
  11514.             }
  11515.             c.prototype.hide.call(this);
  11516.             setTimeout(function() {
  11517.                 e.$html.removeClass("blurred-animation")
  11518.             }, 300)
  11519.         },
  11520.         _measureHeight: function() {
  11521.             this._translateY = ((this.$el.outerHeight() * -1) - ((this._ops.isCppm || this._ops.isCppm4 || this._ops.isCppm5 || this._ops.isCppmStateless) ? 0 : 10));
  11522.             if (this.isShowing) {
  11523.                 this.hide()
  11524.             }
  11525.         },
  11526.         _setViewedCookie: function() {
  11527.             if (!e.settings.isDefault(e.settings.MOBILE_INSTRUCTIONS_KEY)) {
  11528.                 return
  11529.             }
  11530.             var f = "o";
  11531.             if (e.page.pageType === "home" || e.page.pageType === "serp") {
  11532.                 f = e.page.pageType[0]
  11533.             }
  11534.             e.settings.set(e.settings.MOBILE_INSTRUCTIONS_KEY, e.opensearch.getFullATBParam() + f + this.clickPixel)
  11535.         }
  11536.     });
  11537.     var b = function(f, g) {
  11538.             f.css({
  11539.                 "-webkit-transform": g,
  11540.                 transform: g
  11541.             })
  11542.         },
  11543.         a = function(f) {
  11544.             f.preventDefault();
  11545.             f.stopPropagation();
  11546.             this.hide()
  11547.         }
  11548. }(DDG);
  11549. ! function(b) {
  11550.     var a = b.Views.Base;
  11551.     b.Views.SpreadBadge = function(c) {
  11552.         a.call(this, c);
  11553.         b.ImageLoader.registerAll(this.$(".js-lazysvg"), "sidemenu", {
  11554.             svg: true
  11555.         });
  11556.         this.bindEvents([
  11557.             [this.$el, "click", this._onClick],
  11558.             [".js-badge-link-close", "click", this._onCloseClick]
  11559.         ])
  11560.     };
  11561.     b.Views.SpreadBadge.prototype = $.extend({}, a.prototype, {
  11562.         template: "spread_badge",
  11563.         _onClick: function() {
  11564.             b.pixel.fire("sm_spread");
  11565.             window.location.href = "/spread"
  11566.         },
  11567.         _onCloseClick: function() {
  11568.             b.settings.set("kak", -1, {
  11569.                 saveToCloud: true
  11570.             });
  11571.             this.destroy()
  11572.         }
  11573.     })
  11574. }(DDG);
  11575. ! function(c) {
  11576.     var b = c.Views.Modal,
  11577.         a = "is-expanded";
  11578.     c.Views.CppModal = function(e) {
  11579.         e.browser = c.device.displayBrowserName;
  11580.         this.onOnboardingAction = e.onOnboardingAction;
  11581.         this.passATBToExtension = e.passATBToExtension;
  11582.         this.url = e.url;
  11583.         this.onOnboardingDone = e.onOnboardingDone;
  11584.         this.openChromeStoreTimeoutId = null;
  11585.         this.step1TimeoutID = null;
  11586.         this.step2TimeoutID = null;
  11587.         this.rafId = null;
  11588.         b.call(this, $.extend({}, e, {
  11589.             step1Done: e.model.getStep() >= 2,
  11590.             step2Done: e.model.getStep() >= 3,
  11591.             animateOpenStore: e.model.getStep() < 2
  11592.         }));
  11593.         this._cacheElems(".js-cpp", ["wrapper", "title", "subtitle", "step-1", "step-2", "step-1-btn", "step-2-btn", "success", "close", "later-btn", "store-link"]);
  11594.         this.bindEvents([
  11595.             [this.$step1btn, "click", this.onStep1BtnClick],
  11596.             [this.$step2btn, "click", this.onStep2BtnClick],
  11597.             [this.$success, "click", this.onSuccessClick],
  11598.             [this.$close, "click", this.onCloseClick],
  11599.             [this.$laterbtn, "click", this.onLaterBtnClick],
  11600.             [this.$storelink, "click", this.onStoreLinkClick]
  11601.         ]);
  11602.         if (this.model.getStep() < 2) {
  11603.             this._boundOnExtensionMessage = this._onExtensionMessage.bind(this);
  11604.             window.addEventListener("message", this._boundOnExtensionMessage, false)
  11605.         }
  11606.     };
  11607.     c.Views.CppModal.prototype = $.extend({}, b.prototype, {
  11608.         template: "cpp_modal",
  11609.         show: function() {
  11610.             b.prototype.show.call(this);
  11611.             this._hasBeenExposedAtOpening = this.model.hasBeenExposed();
  11612.             this._lastRecordedStepAtOpening = this.model.getLastRecordedStep();
  11613.             this._stepAtOpening = this.model.getStep();
  11614.             this._firePixel("render", this.model.getStep());
  11615.             if (!this.model.hasBeenExposed()) {
  11616.                 this.model.setStep(0)
  11617.             }
  11618.             this.rafId = window.requestAnimationFrame(function() {
  11619.                 this.rafId = window.requestAnimationFrame(function() {
  11620.                     this.$el.addClass("fade-in-out")
  11621.                 }.bind(this))
  11622.             }.bind(this));
  11623.             c.$html.addClass("has-cpp-modal");
  11624.             if (this.model.getStep() < 2) {
  11625.                 if (c.extension.isInstalled()) {
  11626.                     this.onStep1Done()
  11627.                 } else {
  11628.                     this.$step1btn.removeClass("btn--installed btn--primary btn--cta").addClass("btn--opening").find("span").text("Opening Chrome Store");
  11629.                     if (this._xhr) {
  11630.                         try {
  11631.                             this._xhr.abort()
  11632.                         } catch (e) {}
  11633.                     }
  11634.                     this._xhr = this.passATBToExtension(function(f) {
  11635.                         this._xhr = null;
  11636.                         if (f) {}
  11637.                         c.history.set("npi", "1");
  11638.                         this.openChromeStoreTimeoutId = setTimeout(function() {
  11639.                             this._firePixel("do", this.model.getStep(), true);
  11640.                             this._openChromeStore(true)
  11641.                         }.bind(this), this._storeWindow && !this._storeWindow.closed ? 0 : 3000)
  11642.                     }.bind(this))
  11643.                 }
  11644.             }
  11645.         },
  11646.         hide: function() {
  11647.             var e = this.$el.get(0),
  11648.                 g = this;
  11649.  
  11650.             function f() {
  11651.                 e.scrollTop = 0;
  11652.                 b.prototype.hide.call(g);
  11653.                 e.removeEventListener("transitionend", f);
  11654.                 c.$html.removeClass("has-cpp-modal")
  11655.             }
  11656.             e.addEventListener("transitionend", f);
  11657.             this.$el.removeClass("fade-in-out");
  11658.             c.history.clear("natb", "npi", "cp");
  11659.             clearTimeout(this.openChromeStoreTimeoutId)
  11660.         },
  11661.         _render: function(e) {
  11662.             b.prototype._render.call(this, e)
  11663.         },
  11664.         destroy: function() {
  11665.             if (this._boundOnExtensionMessage) {
  11666.                 window.removeEventListener("message", this._boundOnExtensionMessage, false)
  11667.             }
  11668.             if (this._xhr) {
  11669.                 try {
  11670.                     this._xhr.abort()
  11671.                 } catch (e) {}
  11672.             }
  11673.             cancelAnimationFrame(this.rafId);
  11674.             clearTimeout(this.openChromeStoreTimeoutId);
  11675.             clearTimeout(this.step1TimeoutID);
  11676.             clearTimeout(this.step2TimeoutID);
  11677.             b.prototype.destroy.call(this)
  11678.         },
  11679.         _openChromeStore: function(e) {
  11680.             if (e) {
  11681.                 this.$step1btn.removeClass("btn--installed btn--opening").addClass("btn--primary btn--cta").find("span").text("Install DuckDuckGo")
  11682.             }
  11683.             this.model.setStep(1);
  11684.             var g = "status=0,location=0,toolbar=1,menubar=1,height=300,width=1100";
  11685.             if (!this._storeWindow || this._storeWindow.closed) {
  11686.                 this._storeWindow = window.open(this.url, "ChromeStoreWindow", g)
  11687.             } else {
  11688.                 try {
  11689.                     this._storeWindow.focus()
  11690.                 } catch (f) {}
  11691.             }
  11692.         },
  11693.         _onExtensionMessage: function(f) {
  11694.             if (f.origin === window.location.origin && f.data && f.data.type === "onboarding" && f.data.ready) {
  11695.                 c.history.clear("natb", "npi", "cp");
  11696.                 this._firePixel("complete", this.model.getStep());
  11697.                 this.onStep1Done()
  11698.             }
  11699.         },
  11700.         onStep1BtnClick: function() {
  11701.             this._firePixel("do", this.model.getStep());
  11702.             if (this.model.getStep() < 2) {
  11703.                 this._openChromeStore()
  11704.             }
  11705.         },
  11706.         onStep1Done: function() {
  11707.             this.model.setStep(2);
  11708.             this.$step1.removeClass(a).addClass("done");
  11709.             this.$step1btn.removeClass("btn--primary btn--cta btn--opening").addClass("btn--installed").attr("disabled", "disabled").find("span").text("Installed");
  11710.             this.step1TimeoutID = setTimeout(function() {
  11711.                 this.$step2.addClass(a)
  11712.             }.bind(this), 200)
  11713.         },
  11714.         onStep2BtnClick: function() {
  11715.             this._firePixel("do", this.model.getStep());
  11716.             this.model.setStep(3);
  11717.             this.$step2.removeClass(a).addClass("done");
  11718.             this.$step2btn.addClass("btn--installed").removeClass("btn--primary").attr("disabled", "disabled").find("span").text("Installed");
  11719.             this.$title.text("Say Hello To Peace of Mind!");
  11720.             this.$subtitle.text("Whether you’re browsing on desktop or mobile, your online data is now more private by default!");
  11721.             this.step2TimeoutID = setTimeout(function() {
  11722.                 this.$laterbtn.removeClass("btn--grey").addClass("btn--primary").text("Done");
  11723.                 this.$success.removeClass("is-hidden")
  11724.             }.bind(this), 600)
  11725.         },
  11726.         onLaterBtnClick: function() {
  11727.             this._firePixel("resume", this.model.getStep());
  11728.             this.hide();
  11729.             if (this.onOnboardingDone && this.model.getStep() === 3) {
  11730.                 this.onOnboardingDone()
  11731.             }
  11732.         },
  11733.         onCloseClick: function() {
  11734.             this._firePixel("close", this.model.getStep());
  11735.             this.hide();
  11736.             if (this.onOnboardingDone && this.model.getStep() === 3) {
  11737.                 this.onOnboardingDone()
  11738.             }
  11739.         },
  11740.         onStoreLinkClick: function(f) {
  11741.             this._firePixel("do", this.model.getStep());
  11742.             f.preventDefault();
  11743.             clearTimeout(this.openChromeStoreTimeoutId);
  11744.             this._openChromeStore(true)
  11745.         },
  11746.         _firePixel: function(g, f, i) {
  11747.             var e = "cpp",
  11748.                 h;
  11749.             switch (g) {
  11750.                 case "render":
  11751.                     h = "i";
  11752.                     break;
  11753.                 case "do":
  11754.                     h = "a";
  11755.                     break;
  11756.                 case "complete":
  11757.                     h = "c";
  11758.                     break;
  11759.                 case "resume":
  11760.                     h = "s";
  11761.                     break;
  11762.                 case "close":
  11763.                     h = "x";
  11764.                     break;
  11765.                 default:
  11766.                     break
  11767.             }
  11768.             if (h) {
  11769.                 c.pixel.fire(e + h, c.device.pixelBrowserName, c.opensearch.version, {
  11770.                     va: c.opensearch.variant,
  11771.                     atbva: c.opensearch.atbVariant,
  11772.                     l: w.locale,
  11773.                     p: c.device.pixelPlatformName,
  11774.                     st: f,
  11775.                     s: this._lastRecordedStepAtOpening,
  11776.                     i: this._hasBeenExposedAtOpening ? "1" : "0",
  11777.                     o: this._stepAtOpening,
  11778.                     w: i ? "1" : "0"
  11779.                 })
  11780.             }
  11781.         }
  11782.     })
  11783. }(DDG);
  11784. ! function(b) {
  11785.     var a = b.Views.Base;
  11786.     b.Views.Faq = function(c) {
  11787.         c = $.extend({
  11788.             faq: [{
  11789.                 id: 6,
  11790.                 question: "How does DuckDuckGo make money?",
  11791.                 answer: "We make our money from private ads on our search engine. On other search engines, ads are based on profiles compiled about you using your personal information like search, browsing, and purchase history. Since we don’t collect that information, search ads on DuckDuckGo are based on the search results page you are viewing, not on you as a person. For example, if you search for cars, we’ll show you ads about cars.",
  11792.                 learnMoreUrl: "https://spreadprivacy.com/duckduckgo-revenue-model/"
  11793.             }, {
  11794.                 id: 2,
  11795.                 question: "What does Google know about me?",
  11796.                 answer: "Not only does Google keep your search history forever by default, their trackers have been found on 75% of the top million websites, which means they are tracking most everywhere you go on the Internet (unless you stop them with DuckDuckGo!). And that’s just the tip of the iceberg.",
  11797.                 learnMoreUrl: "https://spreadprivacy.com/what-does-google-know-about-me/"
  11798.             }, {
  11799.                 id: 1,
  11800.                 question: "Why use DuckDuckGo instead of Google?",
  11801.                 answer: 'Ever notice ads constantly following you around? That’s in part because Google tracks your searches and hides trackers on millions of websites. By contrast, our private search engine doesn’t track your searches and our <a href="https://duckduckgo.com/app" target="_blank" data-id="1-t0">DuckDuckGo browser extension and mobile app</a> block Google’s (and many other companies’) trackers across the Internet, helping to keep your browsing history more private, as it should be. And that’s just the beginning — by using DuckDuckGo you also escape the manipulation of the filter bubble and can use the Internet faster (after all that tracking code is disabled).',
  11802.                 learnMoreUrl: "https://spreadprivacy.com/why-use-duckduckgo-instead-of-google/"
  11803.             }, {
  11804.                 id: 4,
  11805.                 question: "How do DuckDuckGo search results compare to Google’s?",
  11806.                 answer: 'DuckDuckGo search gives you truly private search results without tradeoffs in result quality. We have everything you’ve come to expect in an online search experience, and a few <a href="https://duckduckgo.com/bang" target="_blank" data-id="4-t0">bonus features</a> that make searching the Internet not only private, but also a bit more fun! And, on top of that, because there is no search history on DuckDuckGo, you escape the filter bubble of manipulated results.',
  11807.                 learnMoreUrl: "https://spreadprivacy.com/is-duckduckgo-a-good-search-engine/"
  11808.             }, {
  11809.                 id: 3,
  11810.                 question: "What’s the difference between using DuckDuckGo and Incognito mode?",
  11811.                 answer: "It is a myth that you can’t be tracked while using so-called “Incognito” mode. In fact, Incognito mode mainly just deletes information on your computer and does nothing to stop Google from saving your searches, nor does it stop companies, Internet service providers, or governments from being able to track you across the Internet. By contrast, DuckDuckGo search is completely anonymous and if you add our app & extension on top, we help keep you private when browsing off of search results.",
  11812.                 learnMoreUrl: "https://spreadprivacy.com/how-anonymous-is-duckduckgo/"
  11813.             }, {
  11814.                 id: 5,
  11815.                 question: "How popular is DuckDuckGo?",
  11816.                 answer: 'We don’t track our users, so it’s actually impossible for us to know how many users in total are using our products. However, we are able to make an estimate based on the number of searches we get per month, <a href="https://duckduckgo.com/traffic" target="_blank" data-id="5-t0">which we make public</a>. Our best guess — over 50 million people!',
  11817.                 learnMoreUrl: "https://spreadprivacy.com/how-many-people-use-duckduckgo/"
  11818.             }, {
  11819.                 id: 0,
  11820.                 question: "How does the DuckDuckGo app & extension work?",
  11821.                 answer: "The DuckDuckGo Privacy Browser mobile app and Privacy Essentials desktop extension both come with our best-in-class tracker blocker, encryption enforcer, and private search engine – all in one simple package. This gives you all the key privacy protection tools to search and browse privately, curbing the constant monitoring of your Internet activity by companies like Google and Facebook.",
  11822.                 learnMoreUrl: "https://spreadprivacy.com/how-does-the-duckduckgo-app-extension-protect-my-privacy/"
  11823.             }].map(function(f, e) {
  11824.                 f.isCollapsed = e !== 0;
  11825.                 return f
  11826.             })
  11827.         }, c);
  11828.         this._ops = c;
  11829.         a.call(this, this._ops)
  11830.     };
  11831.     b.Views.Faq.prototype = $.extend({}, a.prototype, {
  11832.         template: "faq",
  11833.         _render: function() {
  11834.             a.prototype._render.call(this, this._ops);
  11835.             if (this._collapsers) {
  11836.                 this._collapsers.forEach(function(i) {
  11837.                     i.destroy()
  11838.                 })
  11839.             }
  11840.             this._collapsers = [];
  11841.             var j = document.getElementsByClassName("js-faq-section");
  11842.             for (var f = 0; f < j.length; f++) {
  11843.                 var h = j[f];
  11844.                 var e = h.querySelector(".js-faq-header");
  11845.                 var c = h.querySelector(".js-faq-collapsible");
  11846.                 var g = new b.Utils.Collapser(c);
  11847.                 g.registerTrigger(e, {
  11848.                     onToggle: (function(k) {
  11849.                         return function(i) {
  11850.                             if (!i) {
  11851.                                 this._collapsers.forEach(function(n, p) {
  11852.                                     if (k !== p && !n.isCollapsed()) {
  11853.                                         n.collapse();
  11854.                                         var o = j[p].querySelector("button[aria-expanded]");
  11855.                                         o.setAttribute("aria-expanded", "false");
  11856.                                         o.setAttribute("aria-disabled", "false");
  11857.                                         j[p].querySelector("header").setAttribute("data-disabled", "false")
  11858.                                     }
  11859.                                 }, this);
  11860.                                 var m = j[k].querySelector("button[aria-expanded]");
  11861.                                 m.setAttribute("aria-expanded", (!i).toString());
  11862.                                 m.setAttribute("aria-disabled", (!i).toString());
  11863.                                 j[k].querySelector("header").setAttribute("data-disabled", (!i).toString());
  11864.                                 this._firePixel("clickQuestion", this._ops.faq[k].id);
  11865.                                 this._firePixel("renderAnswer", this._ops.faq[k].id)
  11866.                             }
  11867.                         }.bind(this)
  11868.                     }.bind(this))(f),
  11869.                     collapsible: false
  11870.                 });
  11871.                 this._collapsers.push(g)
  11872.             }
  11873.             if (this._observer) {
  11874.                 this._observer.destroy()
  11875.             }
  11876.             this._observer = new b.Utils.IsIntoViewObserver(document.querySelector(".js-faq-section"), function(i) {
  11877.                 if (i) {
  11878.                     this._firePixel("renderFAQ", "n");
  11879.                     this._firePixel("renderAnswer", this._ops.faq[0].id);
  11880.                     this._observer.destroy()
  11881.                 }
  11882.             }.bind(this));
  11883.             this.bindEvents([
  11884.                 [this.$el, "click", this._onClick]
  11885.             ])
  11886.         },
  11887.         destroy: function() {
  11888.             if (this._collapsers) {
  11889.                 this._collapsers.forEach(function(c) {
  11890.                     c.destroy()
  11891.                 })
  11892.             }
  11893.             if (this._observer) {
  11894.                 this._observer.destroy()
  11895.             }
  11896.             a.prototype.destroy.call(this)
  11897.         },
  11898.         _onClick: function(c) {
  11899.             if (c.target && c.target.localName === "a" && c.target.hasAttribute("data-id")) {
  11900.                 var g = c.target.getAttribute("data-id");
  11901.                 var f = g.split("-");
  11902.                 this._firePixel("clickLink", f[0], f[1])
  11903.             }
  11904.         },
  11905.         _firePixel: function(e, g, c) {
  11906.             var f;
  11907.             switch (e) {
  11908.                 case "renderFAQ":
  11909.                 case "renderAnswer":
  11910.                     f = "i";
  11911.                     break;
  11912.                 case "clickQuestion":
  11913.                     f = "c";
  11914.                     break;
  11915.                 case "clickLink":
  11916.                     f = "a";
  11917.                     break;
  11918.                 default:
  11919.                     break
  11920.             }
  11921.             if (f) {
  11922.                 b.pixel.fire("faq" + f, b.device.pixelBrowserName, b.opensearch.version, $.extend({
  11923.                     va: b.opensearch.variant,
  11924.                     atbva: b.opensearch.atbVariant,
  11925.                     l: w.locale,
  11926.                     p: b.device.pixelPlatformName,
  11927.                     o: g,
  11928.                     s: c
  11929.                 }, this._ops.stats))
  11930.             }
  11931.         }
  11932.     })
  11933. }(DDG);
  11934. ! function(b) {
  11935.     var a = b.Views.Base;
  11936.     b.Views.NewsletterFormExpand = function(c) {
  11937.         a.call(this, c);
  11938.         this._cacheElems(".js-badge", ["email", "form", "lock"]);
  11939.         this.bindEvents([
  11940.             [this.$form, "submit", this._submit]
  11941.         ]);
  11942.         this._init()
  11943.     };
  11944.     b.Views.NewsletterFormExpand.prototype = $.extend({}, a.prototype, {
  11945.         template: "newsletter_form_expand",
  11946.         _init: function() {
  11947.             this._animateIn(this.$form);
  11948.             this.$email && this.$email.focus()
  11949.         },
  11950.         _animateIn: function(e) {
  11951.             var c = 300;
  11952.             e.hide().slideDown(c, "swing");
  11953.             setTimeout(function() {
  11954.                 e.animate({
  11955.                     opacity: 1
  11956.                 }, c);
  11957.                 this.$lock && this.$lock.animate({
  11958.                     opacity: 1
  11959.                 })
  11960.             }.bind(this), c + 100)
  11961.         },
  11962.         _submit: function(c) {
  11963.             c.preventDefault();
  11964.             this.params = this.$form.serialize() + "&" + $.param({
  11965.                 flow: b.opensearch.version + b.newsletter.group,
  11966.                 campaign: "b"
  11967.             });
  11968.             $.post("https://duck.co/s/a", this.params);
  11969.             this._animateOut(this.$form.add(".js-badge-title"), function() {
  11970.                 this.emit("subscribed")
  11971.             }.bind(this));
  11972.             b.settings.set("kaq", "-1");
  11973.             b.settings.clear("kap")
  11974.         },
  11975.         _animateOut: function(c, e) {
  11976.             this.$lock.animate({
  11977.                 opacity: 0
  11978.             }, 400);
  11979.             c.animate({
  11980.                 opacity: 0
  11981.             }, {
  11982.                 duration: 100,
  11983.                 queue: false
  11984.             }).delay(300).slideUp({
  11985.                 duration: 400,
  11986.                 complete: e
  11987.             })
  11988.         }
  11989.     })
  11990. }(DDG);
  11991. ! function(c) {
  11992.     var b = c.Models,
  11993.         a = b.Base;
  11994.     b.Newsletter = function() {
  11995.         a.call(this);
  11996.         this.showStartMessage = true;
  11997.         this.group = "none"
  11998.     };
  11999.     b.Newsletter.prototype = $.extend({}, a.prototype, {
  12000.         shouldShowBadge: function() {
  12001.             if (window.locale && !/en_/.test(window.locale) || c.device.isMobileDevice || !c.settings.isDefault("kaq")) {
  12002.                 return false
  12003.             }
  12004.             if (c.history.get("atb") || !c.settings.isDefault("kak")) {
  12005.                 return false
  12006.             }
  12007.             if (c.tParam.fromDefaultSearch()) {
  12008.                 var f = new Date(),
  12009.                     g = f.getMonth(),
  12010.                     e = f.getDate();
  12011.                 if (e === 3 || e === 9 || e === 18 || e === 24 || (e === 28 && g !== 1)) {
  12012.                     this.group = "tparam";
  12013.                     this.showStartMessage = false;
  12014.                     return this._getChanceOfShowingBadge(true)
  12015.                 }
  12016.                 return false
  12017.             }
  12018.             if (!c.device.canAddToBrowser() && (c.page.pageType === "home" && !c.page.isStart || c.page.pageType === "serp" && c.tParam.fromHomepage())) {
  12019.                 this.group = "noatb";
  12020.                 return this._getChanceOfShowingBadge()
  12021.             }
  12022.             return false
  12023.         },
  12024.         _getChanceOfShowingBadge: function(f) {
  12025.             var e;
  12026.             if (c.page.pageType === "home" && !f) {
  12027.                 e = true
  12028.             } else {
  12029.                 e = Math.random() <= 0.15
  12030.             }
  12031.             return e
  12032.         }
  12033.     })
  12034. }(DDG);
  12035. ! function(c) {
  12036.     var b = c.Views.Base;
  12037.     c.Views.SubscribeToNewsletterBadge = function(g) {
  12038.         this.xPixel = "nlx";
  12039.         this.successPixel = "nlms";
  12040.         this.clickPixel = "nlc";
  12041.         this.views = {};
  12042.         b.call(this, g);
  12043.         this._cacheElems(".js-badge", ["expand", "link", "form-container"]);
  12044.         this.bindEvents([
  12045.             [this.$expand, "click", e],
  12046.             [".js-badge-link-close", "click", f],
  12047.             [".js-badge-link-dismiss", "click", a]
  12048.         ])
  12049.     };
  12050.     c.Views.SubscribeToNewsletterBadge.prototype = $.extend({}, b.prototype, {
  12051.         template: "subscribe_to_newsletter_badge",
  12052.         showForm: function() {
  12053.             this._animate(this.$expand, function() {
  12054.                 this.$formcontainer.html("");
  12055.                 this.views.newsletterExpand = new c.Views.NewsletterFormExpand({
  12056.                     appendTo: ".js-badge-form-container"
  12057.                 });
  12058.                 this.xPixel = "nlmx";
  12059.                 this.views.newsletterExpand.on("subscribed", this._subscribed.bind(this))
  12060.             }.bind(this))
  12061.         },
  12062.         _subscribed: function() {
  12063.             this.$success_template = c.$exec_template("newsletter_form_success");
  12064.             this.$formcontainer.html(this.$success_template);
  12065.             this.views.newsletterExpand.destroy();
  12066.             this.$success = $(".js-badge-success");
  12067.             this.$success.css({
  12068.                 opacity: 0
  12069.             }).delay(100).animate({
  12070.                 opacity: 1
  12071.             }, 400);
  12072.             this.xPixel = "nlxs";
  12073.             c.pixel.fire(this.successPixel, c.newsletter.group, c.page.pageType);
  12074.             setTimeout(function() {
  12075.                 this.$link && this.$link.fadeOut(600)
  12076.             }.bind(this), 7000)
  12077.         },
  12078.         _animate: function(g, h) {
  12079.             g.animate({
  12080.                 opacity: 0
  12081.             }, 200, h)
  12082.         },
  12083.         show: function() {
  12084.             this.$el.show()
  12085.         },
  12086.         hide: function() {
  12087.             this.$el.hide()
  12088.         },
  12089.         click: function(g) {
  12090.             e.call(this, g)
  12091.         },
  12092.         dismiss: function() {
  12093.             c.pixel.fire(this.xPixel, c.newsletter.group, c.page.pageType);
  12094.             c.settings.set("kaq", "-1");
  12095.             c.settings.clear("kap")
  12096.         }
  12097.     });
  12098.  
  12099.     function e(g) {
  12100.         c.pixel.fire(this.clickPixel, c.newsletter.group, c.page.pageType);
  12101.         this.showForm();
  12102.         $("body").off("click.atb")
  12103.     }
  12104.  
  12105.     function f(g) {
  12106.         g.preventDefault();
  12107.         g.stopPropagation();
  12108.         this.dismiss();
  12109.         this.destroy()
  12110.     }
  12111.  
  12112.     function a(g) {
  12113.         g.preventDefault();
  12114.         g.stopPropagation();
  12115.         this.dismiss();
  12116.         this.$el.addClass("reset-height");
  12117.         this.$(".js-badge-main-msg").hide();
  12118.         if (c.newsletter.showStartMessage) {
  12119.             this.$(".js-badge-cookie-msg").show();
  12120.             setTimeout(function() {
  12121.                 this.$el && this.$el.fadeOut(600)
  12122.             }.bind(this), 7000)
  12123.         } else {
  12124.             this.$el.hide()
  12125.         }
  12126.     }
  12127. }(DDG);
  12128. ! function(b) {
  12129.     var a = b.Views.Base;
  12130.     b.Views.NewUserPoll = function(c) {
  12131.         a.call(this, c);
  12132.         $(".js-extension-overlay").addClass("atb-extension-overlay--new-user-poll");
  12133.         this.newUserPixel = "pollnew";
  12134.         this.oldUserPixel = "pollold";
  12135.         this.iconClass = "atb-extension-overlay__image--small";
  12136.         this.pageView = c.pageView;
  12137.         this.prefix = ".js-poll";
  12138.         this._cacheElems(this.prefix, ["other-radio-returning", "other-text-returning", "radio-returning", "error-returning", "form-returning", "question-returning", "question-new-user", "question-referral", "welcome-back", "balance-text", "other-radio", "other-text", "button-new", "button-old", "thank-you", "radio", "close", "error", "form"]);
  12139.         this.bindEvents([
  12140.             [this.$form, "submit", this.submitReferral],
  12141.             [this.$formreturning, "submit", this.submitReturning],
  12142.             [this.$buttonnew, "click", this._onClickNewUser],
  12143.             [this.$buttonold, "click", this._onClickOldUser],
  12144.             [this.$othertext, "keyup", this._onKeyupOtherTextReferral],
  12145.             [this.$othertextreturning, "keyup", this._onKeyupOtherTextReturning],
  12146.             [this.$close, "click", this.pageView.hideExtensionOverlay.bind(this.pageView)]
  12147.         ])
  12148.     };
  12149.     b.Views.NewUserPoll.prototype = $.extend({}, a.prototype, {
  12150.         template: "new_user_poll",
  12151.         submitReferral: function(f) {
  12152.             f.preventDefault();
  12153.             this._onKeyupOtherTextReferral();
  12154.             var c = {};
  12155.             var g = true;
  12156.             this.$form.serializeArray().forEach(function(e) {
  12157.                 if (e.value) {
  12158.                     c[e.name] = e.value;
  12159.                     g = false
  12160.                 }
  12161.             });
  12162.             if (g) {
  12163.                 this.$error.show();
  12164.                 return
  12165.             }
  12166.             c.va = b.opensearch.atbVariant;
  12167.             c.l = window.locale;
  12168.             b.pixel.fire("pollr", b.device.pixelBrowserName, b.opensearch.version, c);
  12169.             this.$thankyou.show();
  12170.             this._startRedirectTimeout();
  12171.             this.$questionreferral.hide();
  12172.             if (this.$icon) {
  12173.                 this.$icon.removeClass(this.iconClass)
  12174.             }
  12175.         },
  12176.         submitReturning: function(f) {
  12177.             f.preventDefault();
  12178.             this._onKeyupOtherTextReturning();
  12179.             var c = {};
  12180.             var g = true;
  12181.             this.$formreturning.serializeArray().forEach(function(e) {
  12182.                 if (e.value) {
  12183.                     c[e.name] = e.value;
  12184.                     g = false
  12185.                 }
  12186.             });
  12187.             if (g) {
  12188.                 this.$errorreturning.show();
  12189.                 return
  12190.             }
  12191.             c.va = b.opensearch.atbVariant;
  12192.             c.l = window.locale;
  12193.             b.pixel.fire("pollret", b.device.pixelBrowserName, b.opensearch.version, c);
  12194.             this.$welcomeback.show();
  12195.             this._startRedirectTimeout();
  12196.             this.$questionreturning.hide();
  12197.             if (this.$icon) {
  12198.                 this.$icon.removeClass(this.iconClass)
  12199.             }
  12200.         },
  12201.         _onClickNewUser: function() {
  12202.             this._onNewOldResponse("yes")
  12203.         },
  12204.         _onClickOldUser: function() {
  12205.             this._onNewOldResponse("no")
  12206.         },
  12207.         _onNewOldResponse: function(c) {
  12208.             var e;
  12209.             this.$questionnewuser.hide();
  12210.             if (c === "yes") {
  12211.                 e = this.newUserPixel;
  12212.                 this.$questionreferral.show();
  12213.                 this._shuffle(this.$radio)
  12214.             } else {
  12215.                 e = this.oldUserPixel;
  12216.                 this.$questionreturning.show();
  12217.                 this._shuffle(this.$radioreturning)
  12218.             }
  12219.             b.pixel.fire(e, b.device.pixelBrowserName, b.opensearch.version, {
  12220.                 va: b.opensearch.atbVariant,
  12221.                 l: window.locale
  12222.             });
  12223.             this.$icon = $(this.prefix + "-icon");
  12224.             this.$icon.addClass(this.iconClass);
  12225.             $.balanceText(this.$balancetext)
  12226.         },
  12227.         _startRedirectTimeout: function() {
  12228.             setTimeout(function() {
  12229.                 window.location.reload()
  12230.             }, (10 * 1000))
  12231.         },
  12232.         _shuffle: function(f) {
  12233.             var c;
  12234.             for (var e = 0; e < f.length; e++) {
  12235.                 c = Math.floor(Math.random() * f.length);
  12236.                 $(f[e]).before($(f[c]))
  12237.             }
  12238.             return this
  12239.         },
  12240.         _onKeyupOtherTextReferral: function() {
  12241.             var c = this.$otherradio.is(":checked");
  12242.             if (!this.$othertext.val() && c) {
  12243.                 this.$otherradio.prop("checked", false)
  12244.             } else {
  12245.                 if (this.$othertext.val() && !c) {
  12246.                     this.$otherradio.prop("checked", true)
  12247.                 }
  12248.             }
  12249.         },
  12250.         _onKeyupOtherTextReturning: function() {
  12251.             var c = this.$otherradioreturning.is(":checked");
  12252.             if (!this.$othertextreturning.val() && c) {
  12253.                 this.$otherradioreturning.prop("checked", false)
  12254.             } else {
  12255.                 if (this.$othertextreturning.val() && !c) {
  12256.                     this.$otherradioreturning.prop("checked", true)
  12257.                 }
  12258.             }
  12259.         }
  12260.     })
  12261. }(DDG);
  12262. ! function(e) {
  12263.     var c = e.Models,
  12264.         b = c.Base,
  12265.         f = ["VTKG7CN", "6ZS2CXN"],
  12266.         a = true;
  12267.     c.Survey = function() {
  12268.         b.call(this);
  12269.         this.showBanner = e.device && e.device.isMobileDevice
  12270.     };
  12271.     c.Survey.prototype = $.extend({}, b.prototype, {
  12272.         BADGE_CLICK_KEY: "kau",
  12273.         shouldShowBadge: function() {
  12274.             if (a) {
  12275.                 return false
  12276.             }
  12277.             if (e.device.isMobileDevice && !e.device.isDDGApp && !e.addToBrowser.canAddToChromeMobile()) {
  12278.                 return false
  12279.             } else {
  12280.                 if (e.device.isDesktop && !(e.extension.isInstalled() || e.device.isDDGApp)) {
  12281.                     return false
  12282.                 }
  12283.             }
  12284.             if (!e.settings.isDefault(this.BADGE_CLICK_KEY)) {
  12285.                 return false
  12286.             }
  12287.             if (!(e.page.pageType === "home" || e.page.pageType === "serp")) {
  12288.                 return false
  12289.             }
  12290.             if ($.isEmptyObject(e.opensearch.installed)) {
  12291.                 return false
  12292.             }
  12293.             this.cohortVersion = e.opensearch.installed.version;
  12294.             if (!window.locale || window.locale !== "en_US") {
  12295.                 return false
  12296.             }
  12297.             this.delta = e.opensearch.getDaysSinceCohort(this.cohortVersion);
  12298.             switch (this.delta) {
  12299.                 case 1:
  12300.                     return Math.random() <= 0.14;
  12301.                 case 2:
  12302.                     return Math.random() <= 0.17;
  12303.                 case 3:
  12304.                     return Math.random() <= 0.2;
  12305.                 case 14:
  12306.                     return Math.random() <= 0.25;
  12307.                 case 28:
  12308.                     return Math.random() <= 0.3;
  12309.                 default:
  12310.                     return false
  12311.             }
  12312.         },
  12313.         getSurveyUrl: function() {
  12314.             var h = "https://www.surveymonkey.com/r/";
  12315.             var g = Math.floor(Math.random() * f.length);
  12316.             var i = f[g];
  12317.             var j = {
  12318.                 atb: this.cohortVersion,
  12319.                 delta: e.opensearch.getDaysSinceCohort(this.cohortVersion),
  12320.                 "var": e.opensearch.installed.atbVariant || "_",
  12321.                 b: e.device.pixelBrowserName,
  12322.                 bv: e.device.pixelBrowserVersion
  12323.             };
  12324.             return h + i + "?" + $.param(j)
  12325.         }
  12326.     })
  12327. }(DDG);
  12328. ! function(b) {
  12329.     var a = b.Views.Base;
  12330.     b.Views.SurveyBadge = function(e) {
  12331.         this.xPixel = "sux";
  12332.         this.impressionPixel = "sui";
  12333.         this.clickPixel = "suc";
  12334.         e.url = b.survey.getSurveyUrl();
  12335.         e.serp = b.page.pageType === "serp";
  12336.         a.call(this, e);
  12337.         var c = b.device.isMobileDevice ? ".js-atb-banner" : ".js-badge-link";
  12338.         this._cacheElems(c, ["button", "dismiss"]);
  12339.         this.bindEvents([
  12340.             [this.$button, "click", this._onClick.bind(this)],
  12341.             [this.$dismiss, "click", this._onDismiss.bind(this)]
  12342.         ]);
  12343.         if (!b.survey.showBanner) {
  12344.             $(".js-header-aside").addClass("is-hidden")
  12345.         }
  12346.     };
  12347.     b.Views.SurveyBadge.prototype = $.extend({}, a.prototype, {
  12348.         template: "survey_badge",
  12349.         _render: function(c) {
  12350.             if (b.device && b.device.isMobileDevice) {
  12351.                 this.template = "survey_banner"
  12352.             }
  12353.             a.prototype._render.call(this, c)
  12354.         },
  12355.         show: function() {
  12356.             this.$el.show();
  12357.             b.pixel.fire(this.impressionPixel, b.page.pageType, {
  12358.                 delta: b.survey.delta
  12359.             })
  12360.         },
  12361.         hide: function() {
  12362.             $(".js-header-aside").removeClass("is-hidden");
  12363.             this.$el.hide()
  12364.         },
  12365.         _onClick: function() {
  12366.             b.pixel.fire(this.clickPixel, b.page.pageType, {
  12367.                 delta: b.survey.delta
  12368.             });
  12369.             $("body").off("click.atb");
  12370.             b.settings.set(b.survey.BADGE_CLICK_KEY, "-1");
  12371.             this.hide()
  12372.         },
  12373.         _onDismiss: function(c) {
  12374.             c.preventDefault();
  12375.             c.stopPropagation();
  12376.             b.pixel.fire(this.xPixel, b.page.pageType, {
  12377.                 delta: b.survey.delta
  12378.             });
  12379.             b.settings.set(b.survey.BADGE_CLICK_KEY, "-1");
  12380.             this.hide()
  12381.         }
  12382.     })
  12383. }(DDG);
  12384. ! function(c) {
  12385.     var a = c.Views.Base,
  12386.         b = c.Views.Dropdowns;
  12387.     b.Base = function(e) {
  12388.         this._verticalPos = e.verticalPos || "bottom";
  12389.         this._horizontalPos = e.horizontalPos || "left";
  12390.         a.call(this, e)
  12391.     };
  12392.     b.Base.prototype = $.extend({}, a.prototype, {
  12393.         template: "dropdown",
  12394.         destroy: function() {
  12395.             c.$doc.off("scroll.modal click.modal");
  12396.             a.prototype.destroy.call(this)
  12397.         },
  12398.         open: function() {
  12399.             if (c.dropdownOpen) {
  12400.                 c.dropdownOpen.close()
  12401.             }
  12402.             c.dropdownOpen = this;
  12403.             if (!this.modalClass) {
  12404.                 throw new Error("didn't define modalClass for dropdown")
  12405.             }
  12406.             if (!this.views.modal) {
  12407.                 this.views.modal = new b[this.modalClass]($.extend({
  12408.                     appendTo: $("body"),
  12409.                     isPopover: c.device.isMobile
  12410.                 }, this.modalOps || {}));
  12411.                 this.views.modal.on("shown", this._onModalShown.bind(this));
  12412.                 this.views.modal.on("hidden", this._onModalHidden.bind(this));
  12413.                 this.views.modal.on("item-clicked", this._onItemClick.bind(this))
  12414.             }
  12415.             this.views.modal && this.views.modal.show();
  12416.             if (!c.device.isMobile) {
  12417.                 c.$doc.on("scroll.modal click.modal", this.close.bind(this))
  12418.             }
  12419.             this._repositionModal()
  12420.         },
  12421.         close: function() {
  12422.             delete c.dropdownOpen;
  12423.             this.views.modal && this.views.modal.hide();
  12424.             c.$doc.off("scroll.modal click.modal")
  12425.         },
  12426.         _render: function(e) {
  12427.             a.prototype._render.call(this, e);
  12428.             this._cacheElems(".js-dropdown", ["button"]);
  12429.             this.bindEvents([
  12430.                 [this.$button, "click", this._onClick],
  12431.                 [this.$button, "mouseup touchend", this._onMouseUp]
  12432.             ])
  12433.         },
  12434.         _repositionModal: function() {
  12435.             if (!this.views.modal) {
  12436.                 return
  12437.             }
  12438.             var e = this.$el.offset();
  12439.             if (this._horizontalPos === "center") {
  12440.                 e.left += this.$el.outerWidth() / 2
  12441.             } else {
  12442.                 if (this._horizontalPos === "right") {
  12443.                     e.left += this.$el.outerWidth()
  12444.                 }
  12445.             }
  12446.             if (this._verticalPos === "bottom") {
  12447.                 e.top += this.$el.outerHeight()
  12448.             }
  12449.             this.views.modal.pointAt(e)
  12450.         },
  12451.         _onModalShown: function() {
  12452.             this.$el.addClass("is-open");
  12453.             this.emit("opened")
  12454.         },
  12455.         _onModalHidden: function() {
  12456.             this.$el.removeClass("is-open");
  12457.             this.emit("closed")
  12458.         },
  12459.         _onClick: function(f) {
  12460.             f.preventDefault();
  12461.             if (!this.views.modal || !this.views.modal.isShowing) {
  12462.                 this.open()
  12463.             } else {
  12464.                 this.close()
  12465.             }
  12466.             return false
  12467.         },
  12468.         _onMouseUp: function(f) {
  12469.             f.stopPropagation()
  12470.         },
  12471.         _onItemClick: function(f) {
  12472.             this.emit("item-clicked", f)
  12473.         }
  12474.     })
  12475. }(DDG);
  12476. ! function(c) {
  12477.     var b = c.Views.Dropdowns,
  12478.         a = b.Base;
  12479.     b.SelectListDropdown = function(e) {
  12480.         this._showSelected = e.showSelected;
  12481.         this._module = e.module;
  12482.         a.call(this, e);
  12483.         this.modalOps = {
  12484.             header: e.header,
  12485.             key: e.key,
  12486.             model: this.model,
  12487.             position: this._verticalPos
  12488.         }
  12489.     };
  12490.     b.SelectListDropdown.prototype = $.extend({}, a.prototype, {
  12491.         modalClass: "SelectListDropdownModal",
  12492.         _render: function(e) {
  12493.             a.prototype._render.call(this, $.extend({}, this.model, e));
  12494.             this.bindEvents([
  12495.                 [this.model, "change:disabled", this._onDisabledChange],
  12496.                 [this.model, "change:selected", this._onSelectedChange]
  12497.             ]);
  12498.             this._updateShowSelected()
  12499.         },
  12500.         _updateShowSelected: function() {
  12501.             var e = this._module ? "<span>" + l("Use") + " </span>" + this.model.selected.name : this.model.selected.name;
  12502.             if (this._showSelected) {
  12503.                 this.$button.html(e)
  12504.             }
  12505.         },
  12506.         _onDisabledChange: function() {
  12507.             if (this.model.disabled) {
  12508.                 this.$el.hide()
  12509.             } else {
  12510.                 this.$el.show()
  12511.             }
  12512.         },
  12513.         _onSelectedChange: function() {
  12514.             this._updateShowSelected()
  12515.         }
  12516.     })
  12517. }(DDG);
  12518. ! function(e) {
  12519.     var c = e.Views.Dropdowns,
  12520.         b = e.Views.Modal,
  12521.         g = "is-disabled",
  12522.         f = "is-selected",
  12523.         a = "is-active";
  12524.     c.SelectListDropdownModal = function(h) {
  12525.         b.call(this, h)
  12526.     };
  12527.     c.SelectListDropdownModal.prototype = $.extend({}, b.prototype, {
  12528.         template: "dropdown_modal",
  12529.         hasActiveItem: function() {
  12530.             return !!this.$("." + a).length
  12531.         },
  12532.         _render: function(h) {
  12533.             b.prototype._render.call(this, $.extend({}, this.model, h));
  12534.             this._cacheElems(".js-dropdown", ["items"]);
  12535.             this.bindEvents([
  12536.                 [this.$items, "mouseenter touchstart", this._onItemMouseEnter],
  12537.                 [this.$items, "mouseleave", this._onItemMouseLeave],
  12538.                 [this.$items, "click", this._onItemClick],
  12539.                 [this.model, "change:disabled", this._onDisabledChange],
  12540.                 [this.model, "change:selected", this._onSelectedChange],
  12541.                 [e.device, "resize", this.hide]
  12542.             ])
  12543.         },
  12544.         _setValue: function(i) {
  12545.             var h = this.$items.filter("[data-value='" + i + "']");
  12546.             this.$("." + f).removeClass(f);
  12547.             h.addClass(f);
  12548.             this._currentValue = i
  12549.         },
  12550.         _onItemClick: function(i) {
  12551.             i.preventDefault();
  12552.             var h = $(i.currentTarget),
  12553.                 j = h.data("value");
  12554.             if (j !== this._currentValue && !h.hasClass(g)) {
  12555.                 this.model.select(j);
  12556.                 this._setValue(j);
  12557.                 this.emit("item-clicked", j)
  12558.             }
  12559.             this.hide();
  12560.             return false
  12561.         },
  12562.         _onItemMouseEnter: function(h) {
  12563.             $(h.currentTarget).addClass(a)
  12564.         },
  12565.         _onItemMouseLeave: function(h) {
  12566.             $(h.currentTarget).removeClass(a)
  12567.         },
  12568.         _onDisabledChange: function() {
  12569.             this.model.values.forEach(function(h) {
  12570.                 this.$items.find("[data-value='" + h.id + "']").toggleClass(g, h.disabled)
  12571.             }.bind(this))
  12572.         },
  12573.         _onSelectedChange: function() {
  12574.             this._setValue(this.model.selected.val)
  12575.         }
  12576.     })
  12577. }(DDG);
  12578. ! function(c) {
  12579.     var b = c.Views.Dropdowns,
  12580.         a = b.Base;
  12581.     b.SettingsDropdown = function(e) {
  12582.         this.isCog = e.isCog;
  12583.         if (this.isCog) {
  12584.             this.template = "settings_dropdown_cog"
  12585.         }
  12586.         a.call(this, e);
  12587.         c.require("settings", this._renderDropdown.bind(this))
  12588.     };
  12589.     b.SettingsDropdown.prototype = $.extend({}, a.prototype, {
  12590.         template: "settings_dropdown",
  12591.         modalClass: "SettingsDropdownModal",
  12592.         _render: function(e) {
  12593.             $.noop()
  12594.         },
  12595.         _renderDropdown: function(e) {
  12596.             e = e || {};
  12597.             a.prototype._render.call(this, e);
  12598.             if (c.device.isMobile && !this.isCog) {
  12599.                 $(".js-duckbar-dropdowns-separator").removeClass("is-hidden")
  12600.             }
  12601.         },
  12602.         open: function() {
  12603.             a.prototype.open.call(this);
  12604.             c.$doc.off("click.modal");
  12605.             c.$doc.on("click.modal", this._onModalClick.bind(this))
  12606.         },
  12607.         _onModalClick: function(g) {
  12608.             var f = this.views.modal.$el.has(g.target);
  12609.             if (!f.length) {
  12610.                 a.prototype.close.call(this)
  12611.             }
  12612.         }
  12613.     })
  12614. }(DDG);
  12615. ! function(c) {
  12616.     var b = c.Views.Dropdowns,
  12617.         a = c.Views.Modal;
  12618.     b.SettingsDropdownModal = function(e) {
  12619.         this.dropdownSettings = c.settings.getDropdownSettings();
  12620.         a.call(this, e)
  12621.     };
  12622.     b.SettingsDropdownModal.prototype = $.extend({}, a.prototype, {
  12623.         template: "settings_dropdown_modal",
  12624.         show: function() {
  12625.             a.prototype.show.call(this);
  12626.             c.pixel.fire("sdd", "e")
  12627.         },
  12628.         _render: function(e) {
  12629.             a.prototype._render.call(this, {
  12630.                 isPopover: e.isPopover,
  12631.                 header: e.isPopover && lp("feedback form", "Settings")
  12632.             });
  12633.             this._cacheElems(".js-settings-dropdown", ["appearance", "general", "reset-appearance", "reset-general"]);
  12634.             this._renderDropdownSettings()
  12635.         },
  12636.         _renderDropdownSettings: function() {
  12637.             for (var i in this.dropdownSettings) {
  12638.                 this["$reset" + i].on("click", {
  12639.                     category: i
  12640.                 }, this._onReset.bind(this));
  12641.                 for (var k in this.dropdownSettings[i]) {
  12642.                     var j = c.settings.getData(k),
  12643.                         f = this["$" + i],
  12644.                         e = j.type,
  12645.                         h = c.settings.getFieldClass(e);
  12646.                     var g = new c.Views.Settings[h]({
  12647.                         id: k,
  12648.                         settings: c.settings,
  12649.                         data: j,
  12650.                         appendTo: f,
  12651.                         source: "d"
  12652.                     });
  12653.                     c.settings.on("change:" + k, this._showResetLink.bind(this));
  12654.                     g.$el.children(".frm__label").attr("title", window.lp("settings", g.data.desc))
  12655.                 }
  12656.             }
  12657.             this._showResetLink()
  12658.         },
  12659.         _onReset: function(j) {
  12660.             var h = j.data.category,
  12661.                 g = this.dropdownSettings[h],
  12662.                 k = [];
  12663.             c.pixel.fire("sdr", h);
  12664.             for (var i in g) {
  12665.                 if (!c.settings.isDefault(i) || i === c.settings.THEME_KEY) {
  12666.                     var f = c.settings.getDefault(i);
  12667.                     if (i === c.settings.THEME_KEY) {
  12668.                         c.settings.setTheme(f, {
  12669.                             saveToCloud: true,
  12670.                             updateURLParams: true,
  12671.                             fallbackToUrlParam: true
  12672.                         })
  12673.                     } else {
  12674.                         c.settings.set(i, f)
  12675.                     }
  12676.                     k.push(i)
  12677.                 }
  12678.             }
  12679.             if (k.indexOf(c.settings.LANGUAGE_KEY) > -1) {
  12680.                 window.location.reload()
  12681.             }
  12682.         },
  12683.         _showResetLink: function() {
  12684.             for (var f in this.dropdownSettings) {
  12685.                 var e = this["$reset" + f];
  12686.                 for (var g in this.dropdownSettings[f]) {
  12687.                     var h = false;
  12688.                     if (!c.settings.isDefault(g)) {
  12689.                         h = true;
  12690.                         break
  12691.                     }
  12692.                 }
  12693.                 h ? e.show() : e.hide()
  12694.             }
  12695.         }
  12696.     })
  12697. }(DDG);
  12698. (function(a) {
  12699.     Handlebars.registerHelper("and", function() {
  12700.         var c = Array.prototype.slice.call(arguments),
  12701.             b = c.pop();
  12702.         for (var e = 0; e < c.length; e++) {
  12703.             if (!c[e]) {
  12704.                 return
  12705.             }
  12706.         }
  12707.         return b.fn(this)
  12708.     });
  12709.     Handlebars.registerHelper("commifyNumber", function(b) {
  12710.         return DDG.commifyNumber(b)
  12711.     });
  12712.     Handlebars.registerHelper("concat", function(h, f) {
  12713.         if (!h) {
  12714.             return ""
  12715.         }
  12716.         var e = f.hash.sep || "",
  12717.             j = f.hash.conj || "",
  12718.             b = h.length,
  12719.             c = "";
  12720.         if (b === 1) {
  12721.             return f.fn(h[0])
  12722.         }
  12723.         if (b === 2) {
  12724.             return f.fn(h[0]) + j + f.fn(h[1])
  12725.         }
  12726.         if (b === 3) {
  12727.             return f.fn(h[0]) + e + " " + f.fn(h[1]) + j + f.fn(h[2])
  12728.         }
  12729.         for (var g = 0; g < b; g++) {
  12730.             if (g == b - 1) {
  12731.                 c += e + j
  12732.             } else {
  12733.                 if (g > 0) {
  12734.                     c += e + " "
  12735.                 }
  12736.             }
  12737.             c += f.fn(h[g])
  12738.         }
  12739.         return c
  12740.     });
  12741.     Handlebars.registerHelper("condense", function(e, h) {
  12742.         var c = 0,
  12743.             g = 0;
  12744.         var f = h.hash.truncation || "...";
  12745.         if (h.hash.maxlen) {
  12746.             c = parseInt(h.hash.maxlen, 10)
  12747.         }
  12748.         if (h.hash.fuzz) {
  12749.             g = parseInt(h.hash.fuzz, 10)
  12750.         }
  12751.         if (!e) {
  12752.             return ""
  12753.         }
  12754.         if (g > c) {
  12755.             g = 0
  12756.         }
  12757.         if (c && e.length > c) {
  12758.             var b;
  12759.             if (e.length > c && e.lastIndexOf(".", c) + 1 !== 0) {
  12760.                 b = e.substr(0, e.lastIndexOf(".", c)) + f
  12761.             } else {
  12762.                 if (e.length > c - g && e.lastIndexOf(" ", c) !== 0) {
  12763.                     b = e.substr(0, e.lastIndexOf(" ", c)) + f
  12764.                 }
  12765.             }
  12766.             if (!(b.length < (c + g) && b.length > (c - g))) {
  12767.                 return e.substring(0, c) + f
  12768.             }
  12769.             return b
  12770.         }
  12771.         return e
  12772.     });
  12773.     Handlebars.registerHelper("domain", function(b) {
  12774.         var c = new RegExp("^.*?//([^/?:#]+)");
  12775.         if (c.test(b)) {
  12776.             return RegExp.$1.replace("www.", "")
  12777.         }
  12778.     });
  12779.     Handlebars.registerHelper("domainWithPath", function(b) {
  12780.         var c = new RegExp("^.*?//([^?:;#]+)");
  12781.         if (c.test(b)) {
  12782.             return RegExp.$1.replace("www.", "").replace(/\/$/, "")
  12783.         }
  12784.     });
  12785.     Handlebars.registerHelper("durationFormat", function(c, b) {
  12786.         return DDG.formatDuration(c)
  12787.     });
  12788.     Handlebars.registerHelper("ellipsis", function(k, c, m) {
  12789.         if (!k) {
  12790.             return ""
  12791.         }
  12792.         if (DDG.isNumber(k)) {
  12793.             k = k + ""
  12794.         }
  12795.         if (m && m.hash.parseFirst) {
  12796.             k = DDG.parse_link(k, "rest")
  12797.         }
  12798.         if (!$.isNumeric(c)) {
  12799.             if (m && m.hash.fallback) {
  12800.                 c = m.hash.fallback
  12801.             }
  12802.             if (!$.isNumeric(c)) {
  12803.                 c = 100
  12804.             }
  12805.         }
  12806.         var n = [],
  12807.             g = 0,
  12808.             h = k.split(" ");
  12809.         for (var e = 0; e < h.length; e++) {
  12810.             g += h[e].length + (e < h.length - 1 ? 1 : 0);
  12811.             if (g <= c) {
  12812.                 n.push(h[e])
  12813.             }
  12814.         }
  12815.         if (n.length === 0) {
  12816.             return k
  12817.         }
  12818.         var b = h.length > n.length;
  12819.         n = n.join(" ");
  12820.         var f = n.split("<b>").length - 1;
  12821.         var j = n.split("</b>").length - 1;
  12822.         n += f > j ? "</b>" : "";
  12823.         if (b && !(n[n.length - 1].match(/\.$/))) {
  12824.             return n + "..."
  12825.         }
  12826.         return n
  12827.     });
  12828.     Handlebars.registerHelper("favicon", function(g, n) {
  12829.         var j = g || this.source_url,
  12830.             c = n && n.hash || {},
  12831.             f = c.lazyload,
  12832.             k = c.className || "zci__more-at__icon",
  12833.             m = c.w || "16",
  12834.             i = c.h || "16",
  12835.             b = DDG.get_favicon_url(j),
  12836.             e = '<img width="' + m + '" height="' + i + '" class="' + k;
  12837.         if (!b) {
  12838.             return e + '" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" />'
  12839.         }
  12840.         if (f) {
  12841.             e += ' js-lazyload" data-src="' + b + '" />'
  12842.         } else {
  12843.             e += '" src="' + b + '" />'
  12844.         }
  12845.         return e
  12846.     });
  12847.     Handlebars.registerHelper("firstLetter", function(b) {
  12848.         return b.charAt(0).toLowerCase()
  12849.     });
  12850.     Handlebars.registerHelper("formatSubtitle", function(b) {
  12851.         if (!b) {
  12852.             return "&nbsp;"
  12853.         }
  12854.         b = $.isArray(b) ? b : [b];
  12855.         return DDG.exec_template("subtitle", {
  12856.             components: b
  12857.         })
  12858.     });
  12859.     Handlebars.registerHelper("formatTitle", function(f, b) {
  12860.         var c = b.hash;
  12861.         if (c.parseFirst) {
  12862.             f = DDG.parse_link(f, "text")
  12863.         }
  12864.         var e = DDG.parseAbstract(f),
  12865.             g = e.main;
  12866.         if (c.ellipsis) {
  12867.             g = Handlebars.helpers.ellipsis(e.main, c.ellipsis)
  12868.         }
  12869.         return DDG.exec_template("title", {
  12870.             tagName: c.el || "span",
  12871.             className: c.className || "title",
  12872.             classNameSec: c.classNameSec,
  12873.             subTitle: !c.noSub && e.subTitle,
  12874.             optSub: c.optSub,
  12875.             title: g,
  12876.             href: (c.href && this[c.href]) || c.href,
  12877.             hrefTitle: e.main && !e.main.match(/<b>/) ? e.main : null
  12878.         })
  12879.     });
  12880.     Handlebars.registerHelper("imageProxy", function(c, b) {
  12881.         return DDG.getImageProxyURL(c, b)
  12882.     });
  12883.     Handlebars.registerHelper("include", function(h, c) {
  12884.         var f = c && c.hash || {},
  12885.             g = f.wrap,
  12886.             e = $.extend(this, f),
  12887.             b = "";
  12888.         b = DDG.exec_template(h, e);
  12889.         if (b && g) {
  12890.             return Spice.exec_template(g, {
  12891.                 content: b
  12892.             })
  12893.         }
  12894.         return b
  12895.     });
  12896.     Handlebars.registerHelper("keys", function(f, e) {
  12897.         var c = "";
  12898.         for (var b in f) {
  12899.             c += e.fn($.extend({}, this, {
  12900.                 key: b,
  12901.                 value: f[b]
  12902.             }))
  12903.         }
  12904.         return c
  12905.     });
  12906.     Handlebars.registerHelper("l", function() {
  12907.         return l.apply(window, arguments)
  12908.     });
  12909.     Handlebars.registerHelper("lp", function() {
  12910.         return lp.apply(window, arguments)
  12911.     });
  12912.     Handlebars.registerHelper("loop", function(c, g) {
  12913.         var b, f;
  12914.         c = Math.min(c, 100);
  12915.         if (g.data) {
  12916.             f = Handlebars.createFrame(g.data)
  12917.         }
  12918.         b = "";
  12919.         for (var e = 0; e < c; e++) {
  12920.             if (f) {
  12921.                 f.index = e;
  12922.                 f.max = c
  12923.             }
  12924.             b += g.fn(this, {
  12925.                 data: f
  12926.             })
  12927.         }
  12928.         return b
  12929.     });
  12930.     Handlebars.registerHelper("lyricsAbstract", function(b) {
  12931.         return b.split(/<(?:<b>)?break(?:<\/b>)?>/).join("<br />")
  12932.     });
  12933.     Handlebars.registerHelper("lyricsTitle", function(g, c) {
  12934.         var h = /^(.*?):\slyrics:\s(?:(.*?):\s(.*?)$|(.*?)$)/,
  12935.             b = h.exec(g),
  12936.             f = b[1],
  12937.             e = b[4] || b[3] + " (" + b[2] + ")";
  12938.         return DDG.exec_template("title", {
  12939.             tagName: "h1",
  12940.             className: "c-info__title",
  12941.             title: f,
  12942.             subTitle: e,
  12943.             href: c
  12944.         })
  12945.     });
  12946.     Handlebars.registerHelper("makeRelative", function(b) {
  12947.         if (/^https?:\/\/(?:[^\.]+\.|)duckduckgo.com\/?(.*)$/.test(b)) {
  12948.             return RegExp.$1
  12949.         } else {
  12950.             return b
  12951.         }
  12952.     });
  12953.     Handlebars.registerHelper("momentDate", function(g, c) {
  12954.         if (!moment) {
  12955.             return ""
  12956.         }
  12957.         var e = c && c.hash || {},
  12958.             b = moment.utc(g, "YYYY-MM-DD HH:mm:ss"),
  12959.             f = e.format || "ddd MMM D";
  12960.         return b.local().format(f)
  12961.     });
  12962.     Handlebars.registerHelper("momentTime", function(c) {
  12963.         if (!moment) {
  12964.             return ""
  12965.         }
  12966.         var b = moment.utc(c, "YYYY-MM-DD HH:mm:ss");
  12967.         return b.local().format("LT")
  12968.     });
  12969.     Handlebars.registerHelper("moreAt", function(g, e, c) {
  12970.         var f = c && c.hash || {};
  12971.         g = g || {};
  12972.         if (typeof g === "string") {
  12973.             if (!e) {
  12974.                 return
  12975.             }
  12976.             g = {
  12977.                 sourceUrl: g,
  12978.                 sourceName: e,
  12979.                 sourceIcon: true
  12980.             }
  12981.         } else {
  12982.             if (g.repo === "fathead") {
  12983.                 if (!e) {
  12984.                     return
  12985.                 }
  12986.                 g.sourceUrl = e;
  12987.                 g.sourceName = g.src_name;
  12988.                 g.sourceIcon = true
  12989.             } else {
  12990.                 if (g.repo === "longtail") {
  12991.                     if (!e) {
  12992.                         return
  12993.                     }
  12994.                     if (e === "none") {
  12995.                         return
  12996.                     }
  12997.                     g.sourceName = g.name;
  12998.                     g.sourceUrl = e;
  12999.                     g.sourceIcon = true
  13000.                 } else {
  13001.                     if (!g.sourceIconUrl && g.sourceUrl && !g.sourceLogo && g.sourceIcon !== false) {
  13002.                         g.sourceIcon = true
  13003.                     }
  13004.                 }
  13005.             }
  13006.         }
  13007.         if (!g.sourceUrl) {
  13008.             return
  13009.         }
  13010.         g.className = "zci__more-at";
  13011.         g.iconClassName = "zci__more-at__icon";
  13012.         var b = g.moreAtText = (DDG.templates.more_at_text(g) || "").trim();
  13013.         if (f.noIcon) {
  13014.             g.sourceIcon = false
  13015.         }
  13016.         if (f.className) {
  13017.             g.className = f.className
  13018.         }
  13019.         if (f.iconClassName) {
  13020.             g.iconClassName = f.iconClassName
  13021.         }
  13022.         if (f.iconUrl) {
  13023.             g.sourceIconUrl = f.iconUrl;
  13024.             g.sourceIcon = false
  13025.         }
  13026.         if (f.iconPlaceholder) {
  13027.             g.sourceIconUrl = "/assets/icon_favicon_placeholder.v104.png";
  13028.             g.sourceIcon = false
  13029.         }
  13030.         if (!g.hideMoreAtText && !f.hideMoreAtText && !f.dynamicMoreAtText && !(DDG.device.isMobile && f.sourceOnlyMobile)) {
  13031.             g.moreAtText = l("More at %s ", b)
  13032.         }
  13033.         if (f.dynamicMoreAtText) {
  13034.             g.moreAtText = (g.moreAtText.length < f.dynamicMoreAtText) ? l("More at %s ", b) : g.moreAtText
  13035.         }
  13036.         if (DDG.device.isMobile && g.iconOnlyMobile) {
  13037.             g.moreAtText = ""
  13038.         }
  13039.         return DDG.templates.more_at(g)
  13040.     });
  13041.     Handlebars.registerHelper("numFormat", function(e, c) {
  13042.         if (!e) {
  13043.             return ""
  13044.         }
  13045.         var b = ",",
  13046.             f = e.toString();
  13047.         if (c && c.hash && c.hash.delimiter) {
  13048.             b = c.hash.delimiter
  13049.         }
  13050.         return f.replace(/\b(\d+)((\.\d+)*)\b/g, function(h, g, i) {
  13051.             return (g.charAt(0) > 0 && !(i || ".").lastIndexOf(".") ? g.replace(/(\d)(?=(\d{3})+$)/g, "$1,") : g) + i
  13052.         })
  13053.     });
  13054.     Handlebars.registerHelper("ordinal", function(b) {
  13055.         return DDG.getOrdinal(b)
  13056.     });
  13057.     Handlebars.registerHelper("plural", function(b, c) {
  13058.         var e = DDG.pluralize(b, c.hash.singular, c.hash.plural);
  13059.         if (!e) {
  13060.             return
  13061.         }
  13062.         if (c.hash.delimiter) {
  13063.             b = Handlebars.helpers.numFormat(b, c)
  13064.         }
  13065.         return b + " " + e
  13066.     });
  13067.     Handlebars.registerHelper("priceSymbols", function(c, f) {
  13068.         var e = "",
  13069.             b = 0;
  13070.         for (b = 0; b < f; b++) {
  13071.             if (b < c) {
  13072.                 e += "<b>$</b>"
  13073.             } else {
  13074.                 e += "$"
  13075.             }
  13076.         }
  13077.         return e
  13078.     });
  13079.     Handlebars.registerHelper("renderStars", function(b) {
  13080.         if (typeof b === "string") {
  13081.             b = {
  13082.                 rating: b
  13083.             }
  13084.         }
  13085.         return DDG.templates.stars(b)
  13086.     });
  13087.     Handlebars.registerHelper("retinaImage", function(c) {
  13088.         var b = c.split(".");
  13089.         b[b.length - 2] += DDG.device.is3x ? "@3x" : DDG.device.is2x ? "@2x" : "";
  13090.         return b.join(".")
  13091.     });
  13092.     Handlebars.registerHelper("reviewCount", function(h, e, j, b) {
  13093.         if (!h || h === "") {
  13094.             h = 0
  13095.         }
  13096.         var g, i = '<span class="review-count">',
  13097.             f = "</span>",
  13098.             c = h;
  13099.         if (b && b === true) {
  13100.             c = DDG.abbrevNumber(h)
  13101.         } else {
  13102.             c = DDG.commifyNumber(h)
  13103.         }
  13104.         if (j === true) {
  13105.             if (!h) {
  13106.                 return ""
  13107.             }
  13108.             g = i + c + f
  13109.         } else {
  13110.             g = ln("%2$s %1$s %3$s review", "%2$s %1$s %3$s reviews", c, i, f)
  13111.         }
  13112.         if (e) {
  13113.             g = '<a href="' + e + '">' + g + "</a>"
  13114.         }
  13115.         return g
  13116.     });
  13117.     Handlebars.registerHelper("starRating", function(c) {
  13118.         c = $.isNumeric(c) ? c : 0;
  13119.         var b = c.toString();
  13120.         if (b.match(/(\d)\.(\d)/)) {
  13121.             var e = parseInt(RegExp.$1, 10);
  13122.             var f = parseInt(RegExp.$2, 10) > 4 ? 5 : 0;
  13123.             if (e > 5) {
  13124.                 e = 5
  13125.             }
  13126.             c = e;
  13127.             if (f && e < 5) {
  13128.                 c += "-" + f
  13129.             }
  13130.         } else {
  13131.             c = Math.floor(c)
  13132.         }
  13133.         return Handlebars.helpers.renderStars({
  13134.             rating: c
  13135.         })
  13136.     });
  13137.     Handlebars.registerHelper("starsAndReviews", function(c, e, b, f) {
  13138.         return Handlebars.helpers.starRating(c) + Handlebars.helpers.reviewCount(e, b, f, true)
  13139.     });
  13140.     Handlebars.registerHelper("stripHTML", function(c, b) {
  13141.         return b.fn(DDG.strip_html(c))
  13142.     });
  13143.     Handlebars.registerHelper("table-each", function(f, c) {
  13144.         if (!f) {
  13145.             return ""
  13146.         }
  13147.         var b = "";
  13148.         if (f.record_keys) {
  13149.             var h = f.record_keys;
  13150.             for (var e in h) {
  13151.                 if (f.record_data[h[e]]) {
  13152.                     b += c.fn({
  13153.                         key: h[e],
  13154.                         value: f.record_data[h[e]]
  13155.                     })
  13156.                 }
  13157.             }
  13158.         } else {
  13159.             for (var g in f.record_data) {
  13160.                 b += c.fn({
  13161.                     key: g,
  13162.                     value: f.record_data[g]
  13163.                 })
  13164.             }
  13165.         }
  13166.         return b
  13167.     });
  13168.     Handlebars.registerHelper("toHTTP", function(b) {
  13169.         return DDG.toHTTP(b)
  13170.     });
  13171.     Handlebars.registerHelper("toHTTPS", function(b) {
  13172.         return DDG.toHTTPS(b)
  13173.     });
  13174.     Handlebars.registerHelper("trim", function(b) {
  13175.         if (b) {
  13176.             return b.trim()
  13177.         }
  13178.     });
  13179.     Handlebars.registerHelper("stripNonAlpha", function(b) {
  13180.         if (b) {
  13181.             return DDG.strip_non_alpha(b.toLowerCase())
  13182.         }
  13183.     });
  13184.     Handlebars.registerHelper("loader", function(f) {
  13185.         var b = typeof f === "string" && f,
  13186.             i = DDG.is3x ? "x3" : DDG.is2x ? "x2" : "x1";
  13187.         if (!b) {
  13188.             var g = DDG.settings.get("k7"),
  13189.                 c = tinycolor(g),
  13190.                 e = c.isValid() && c.toHsl().l < 0.5;
  13191.             b = e ? "white" : "black"
  13192.         }
  13193.         var h = "/assets/loader/" + b + i + ".png";
  13194.         return '<div class="loader" style="background-image:url(\'' + h + "');\"></div>"
  13195.     })
  13196. })(this);
  13197. ! function(a) {
  13198.     a.adFeed = new a.Models.AdFeed({});
  13199.     a.deep = new a.Models.Deep({});
  13200.     a.search = new a.Models.Search();
  13201.     a.device = new a.Models.Device({
  13202.         ua: navigator.userAgent.toLowerCase(),
  13203.         dpr: window.devicePixelRatio,
  13204.         qs: window.location.search
  13205.     });
  13206.     a.hidden = new a.Models.Hidden();
  13207.     a.extension = new a.Models.Extension();
  13208.     a.settings = new a.Models.Settings.Settings({
  13209.         cloudSaveKey: window.key || window[a.Models.Settings.CloudSave.keyField]
  13210.     });
  13211.     a.tParam = new a.Models.TParam();
  13212.     a.addToBrowser = new a.Models.AddToBrowser();
  13213.     a.onboarding = new a.Models.Onboarding();
  13214.     a.onboardingEducation = new a.Models.Settings.OnboardingEducation();
  13215.     a.opensearch = new a.Models.OpenSearch();
  13216.     a.newsletter = new a.Models.Newsletter();
  13217.     a.survey = new a.Models.Survey()
  13218. }(DDG);
  13219. this["DDG"] = this["DDG"] || {};
  13220. this["DDG"]["templates"] = this["DDG"]["templates"] || {};
  13221. this["DDG"]["templates"]["add_to_browser_badge"] = Handlebars.template(function(e, r, p, i, u) {
  13222.     this.compilerInfo = [4, ">= 1.0.0"];
  13223.     p = this.merge(p, e.helpers);
  13224.     u = u || {};
  13225.     var q = "",
  13226.         g, a, c = "function",
  13227.         b = this.escapeExpression,
  13228.         n = this,
  13229.         o = p.helperMissing;
  13230.  
  13231.     function m(A, z) {
  13232.         var v = "",
  13233.             x, y;
  13234.         v += '<a class="badge-link ddg-extension-hide js-badge-link" href="';
  13235.         if (y = p.url) {
  13236.             x = y.call(A, {
  13237.                 hash: {},
  13238.                 data: z
  13239.             })
  13240.         } else {
  13241.             y = (A && A.url);
  13242.             x = typeof y === c ? y.call(A, {
  13243.                 hash: {},
  13244.                 data: z
  13245.             }) : y
  13246.         }
  13247.         v += b(x) + '" ';
  13248.         x = p["if"].call(A, (A && A.openInNewTab), {
  13249.             hash: {},
  13250.             inverse: n.noop,
  13251.             fn: n.program(2, k, z),
  13252.             data: z
  13253.         });
  13254.         if (x || x === 0) {
  13255.             v += x
  13256.         }
  13257.         v += ">";
  13258.         return v
  13259.     }
  13260.  
  13261.     function k(x, v) {
  13262.         return 'target="_blank"'
  13263.     }
  13264.  
  13265.     function j(x, v) {
  13266.         return '<div class="badge-link ddg-extension-hide js-badge-link">'
  13267.     }
  13268.  
  13269.     function h(A, z) {
  13270.         var x, y, v;
  13271.         x = (y = p.l || (A && A.l), v = {
  13272.             hash: {},
  13273.             data: z
  13274.         }, y ? y.call(A, "Set DuckDuckGo as your %sdefault search engine", "", v) : o.call(A, "l", "Set DuckDuckGo as your %sdefault search engine", "", v));
  13275.         if (x || x === 0) {
  13276.             return x
  13277.         } else {
  13278.             return ""
  13279.         }
  13280.     }
  13281.  
  13282.     function f(A, z) {
  13283.         var x, y, v;
  13284.         x = (y = p.l || (A && A.l), v = {
  13285.             hash: {},
  13286.             data: z
  13287.         }, y ? y.call(A, "Set DuckDuckGo as your %sdefault search engine", "<br/>", v) : o.call(A, "l", "Set DuckDuckGo as your %sdefault search engine", "<br/>", v));
  13288.         if (x || x === 0) {
  13289.             return x
  13290.         } else {
  13291.             return ""
  13292.         }
  13293.     }
  13294.  
  13295.     function t(x, v) {
  13296.         return "</a>"
  13297.     }
  13298.  
  13299.     function s(x, v) {
  13300.         return "</div>"
  13301.     }
  13302.     g = p["if"].call(r, (r && r.url), {
  13303.         hash: {},
  13304.         inverse: n.program(4, j, u),
  13305.         fn: n.program(1, m, u),
  13306.         data: u
  13307.     });
  13308.     if (g || g === 0) {
  13309.         q += g
  13310.     }
  13311.     q += '<i class="badge-link__icon browser--';
  13312.     if (a = p.browserId) {
  13313.         g = a.call(r, {
  13314.             hash: {},
  13315.             data: u
  13316.         })
  13317.     } else {
  13318.         a = (r && r.browserId);
  13319.         g = typeof a === c ? a.call(r, {
  13320.             hash: {},
  13321.             data: u
  13322.         }) : a
  13323.     }
  13324.     q += b(g) + '"></i><span class="badge-link__text">';
  13325.     g = p["if"].call(r, (r && r.noBreak), {
  13326.         hash: {},
  13327.         inverse: n.program(8, f, u),
  13328.         fn: n.program(6, h, u),
  13329.         data: u
  13330.     });
  13331.     if (g || g === 0) {
  13332.         q += g
  13333.     }
  13334.     q += '</span><span class="ddgsi badge-link__close js-badge-link-close">&times;</span>';
  13335.     g = p["if"].call(r, (r && r.url), {
  13336.         hash: {},
  13337.         inverse: n.program(12, s, u),
  13338.         fn: n.program(10, t, u),
  13339.         data: u
  13340.     });
  13341.     if (g || g === 0) {
  13342.         q += g
  13343.     }
  13344.     return q
  13345. });
  13346. this["DDG"]["templates"]["add_to_browser_badge_android"] = Handlebars.template(function(c, j, b, h, g) {
  13347.     this.compilerInfo = [4, ">= 1.0.0"];
  13348.     b = this.merge(b, c.helpers);
  13349.     g = g || {};
  13350.     var f = "",
  13351.         a, e, k, i = b.helperMissing;
  13352.     f += '<div class="js-atb-banner atb-banner--inline"><div class="js-badge-link btn btn--primary atb-banner__btn atb-banner__btn--install">';
  13353.     a = (e = b.l || (j && j.l), k = {
  13354.         hash: {},
  13355.         data: g
  13356.     }, e ? e.call(j, "Add to Home Screen", k) : i.call(j, "l", "Add to Home Screen", k));
  13357.     if (a || a === 0) {
  13358.         f += a
  13359.     }
  13360.     f += '</div><div class="js-atb-banner-learnmore btn btn--primary atb-banner__learn-more">';
  13361.     a = (e = b.l || (j && j.l), k = {
  13362.         hash: {},
  13363.         data: g
  13364.     }, e ? e.call(j, "Learn %sMore%s", "", "", k) : i.call(j, "l", "Learn %sMore%s", "", "", k));
  13365.     if (a || a === 0) {
  13366.         f += a
  13367.     }
  13368.     f += "</div></div>";
  13369.     return f
  13370. });
  13371. this["DDG"]["templates"]["add_to_browser_badge_button"] = Handlebars.template(function(f, t, r, k, B) {
  13372.     this.compilerInfo = [4, ">= 1.0.0"];
  13373.     r = this.merge(r, f.helpers);
  13374.     B = B || {};
  13375.     var s = "",
  13376.         h, a, c = "function",
  13377.         b = this.escapeExpression,
  13378.         p = this,
  13379.         q = r.helperMissing;
  13380.  
  13381.     function o(D, C) {
  13382.         return " ddg-extension-hide"
  13383.     }
  13384.  
  13385.     function n(G, F) {
  13386.         var C = "",
  13387.             D, E;
  13388.         C += 'href="';
  13389.         if (E = r.url) {
  13390.             D = E.call(G, {
  13391.                 hash: {},
  13392.                 data: F
  13393.             })
  13394.         } else {
  13395.             E = (G && G.url);
  13396.             D = typeof E === c ? E.call(G, {
  13397.                 hash: {},
  13398.                 data: F
  13399.             }) : E
  13400.         }
  13401.         C += b(D) + '" ';
  13402.         D = r["if"].call(G, (G && G.openInNewTab), {
  13403.             hash: {},
  13404.             inverse: p.noop,
  13405.             fn: p.program(4, m, F),
  13406.             data: F
  13407.         });
  13408.         if (D || D === 0) {
  13409.             C += D
  13410.         }
  13411.         return C
  13412.     }
  13413.  
  13414.     function m(D, C) {
  13415.         return 'target="_blank"'
  13416.     }
  13417.  
  13418.     function j(D, C) {
  13419.         return '<span class="js-atb-banner-link">DuckDuckGo Privacy Setup</span>'
  13420.     }
  13421.  
  13422.     function g(E, D) {
  13423.         var C;
  13424.         C = r["if"].call(E, (E && E.androidChromeNoOpenSearch), {
  13425.             hash: {},
  13426.             inverse: p.program(11, A, D),
  13427.             fn: p.program(9, e, D),
  13428.             data: D
  13429.         });
  13430.         if (C || C === 0) {
  13431.             return C
  13432.         } else {
  13433.             return ""
  13434.         }
  13435.     }
  13436.  
  13437.     function e(G, F) {
  13438.         var D, E, C;
  13439.         D = (E = r.l || (G && G.l), C = {
  13440.             hash: {},
  13441.             data: F
  13442.         }, E ? E.call(G, "Add to Home Screen", C) : q.call(G, "l", "Add to Home Screen", C));
  13443.         if (D || D === 0) {
  13444.             return D
  13445.         } else {
  13446.             return ""
  13447.         }
  13448.     }
  13449.  
  13450.     function A(E, D) {
  13451.         var C;
  13452.         C = r["if"].call(E, (E && E.isCppExp), {
  13453.             hash: {},
  13454.             inverse: p.program(17, v, D),
  13455.             fn: p.program(12, z, D),
  13456.             data: D
  13457.         });
  13458.         if (C || C === 0) {
  13459.             return C
  13460.         } else {
  13461.             return ""
  13462.         }
  13463.     }
  13464.  
  13465.     function z(E, D) {
  13466.         var C;
  13467.         C = r["if"].call(E, (E && E.resumeInstall), {
  13468.             hash: {},
  13469.             inverse: p.program(15, x, D),
  13470.             fn: p.program(13, y, D),
  13471.             data: D
  13472.         });
  13473.         if (C || C === 0) {
  13474.             return C
  13475.         } else {
  13476.             return ""
  13477.         }
  13478.     }
  13479.  
  13480.     function y(D, C) {
  13481.         return "Resume Privacy Setup"
  13482.     }
  13483.  
  13484.     function x(D, C) {
  13485.         return "Get Started"
  13486.     }
  13487.  
  13488.     function v(E, D) {
  13489.         var C;
  13490.         C = r["if"].call(E, (E && E.isEnglish), {
  13491.             hash: {},
  13492.             inverse: p.program(20, i, D),
  13493.             fn: p.program(18, u, D),
  13494.             data: D
  13495.         });
  13496.         if (C || C === 0) {
  13497.             return C
  13498.         } else {
  13499.             return ""
  13500.         }
  13501.     }
  13502.  
  13503.     function u(G, F) {
  13504.         var D, E, C;
  13505.         D = (E = r.l || (G && G.l), C = {
  13506.             hash: {},
  13507.             data: F
  13508.         }, E ? E.call(G, "Add DuckDuckGo to %s", (G && G.displayBrowserName), C) : q.call(G, "l", "Add DuckDuckGo to %s", (G && G.displayBrowserName), C));
  13509.         if (D || D === 0) {
  13510.             return D
  13511.         } else {
  13512.             return ""
  13513.         }
  13514.     }
  13515.  
  13516.     function i(G, F) {
  13517.         var D, E, C;
  13518.         D = (E = r.lp || (G && G.lp), C = {
  13519.             hash: {},
  13520.             data: F
  13521.         }, E ? E.call(G, "homepage onboarding", "Install DuckDuckGo", C) : q.call(G, "lp", "homepage onboarding", "Install DuckDuckGo", C));
  13522.         if (D || D === 0) {
  13523.             return D
  13524.         } else {
  13525.             return ""
  13526.         }
  13527.     }
  13528.     s += '<a class="btn ';
  13529.     if (a = r.buttonClass) {
  13530.         h = a.call(t, {
  13531.             hash: {},
  13532.             data: B
  13533.         })
  13534.     } else {
  13535.         a = (t && t.buttonClass);
  13536.         h = typeof a === c ? a.call(t, {
  13537.             hash: {},
  13538.             data: B
  13539.         }) : a
  13540.     }
  13541.     s += b(h);
  13542.     h = r.unless.call(t, (t && t.isCppExp), {
  13543.         hash: {},
  13544.         inverse: p.noop,
  13545.         fn: p.program(1, o, B),
  13546.         data: B
  13547.     });
  13548.     if (h || h === 0) {
  13549.         s += h
  13550.     }
  13551.     s += '"';
  13552.     h = r["if"].call(t, (t && t.url), {
  13553.         hash: {},
  13554.         inverse: p.noop,
  13555.         fn: p.program(3, n, B),
  13556.         data: B
  13557.     });
  13558.     if (h || h === 0) {
  13559.         s += h
  13560.     }
  13561.     s += ">";
  13562.     h = r["if"].call(t, (t && t.isCppmExpOrControl), {
  13563.         hash: {},
  13564.         inverse: p.program(8, g, B),
  13565.         fn: p.program(6, j, B),
  13566.         data: B
  13567.     });
  13568.     if (h || h === 0) {
  13569.         s += h
  13570.     }
  13571.     s += "</a>";
  13572.     return s
  13573. });
  13574. this["DDG"]["templates"]["add_to_browser_badge_top"] = Handlebars.template(function(f, s, q, k, z) {
  13575.     this.compilerInfo = [4, ">= 1.0.0"];
  13576.     q = this.merge(q, f.helpers);
  13577.     z = z || {};
  13578.     var r = "",
  13579.         h, a, e, c = "function",
  13580.         b = this.escapeExpression,
  13581.         o = this,
  13582.         p = q.helperMissing;
  13583.  
  13584.     function n(B, A) {
  13585.         return "serp "
  13586.     }
  13587.  
  13588.     function m(B, A) {
  13589.         return "top "
  13590.     }
  13591.  
  13592.     function j(B, A) {
  13593.         return "badge-link--fadein "
  13594.     }
  13595.  
  13596.     function i(E, D) {
  13597.         var A = "",
  13598.             B, C;
  13599.         A += '<a class="badge-link__wrap js-badge-main-msg" href="';
  13600.         if (C = q.url) {
  13601.             B = C.call(E, {
  13602.                 hash: {},
  13603.                 data: D
  13604.             })
  13605.         } else {
  13606.             C = (E && E.url);
  13607.             B = typeof C === c ? C.call(E, {
  13608.                 hash: {},
  13609.                 data: D
  13610.             }) : C
  13611.         }
  13612.         A += b(B) + '" ';
  13613.         B = q["if"].call(E, (E && E.openInNewTab), {
  13614.             hash: {},
  13615.             inverse: o.noop,
  13616.             fn: o.program(8, g, D),
  13617.             data: D
  13618.         });
  13619.         if (B || B === 0) {
  13620.             A += B
  13621.         }
  13622.         A += ">";
  13623.         return A
  13624.     }
  13625.  
  13626.     function g(B, A) {
  13627.         return 'target="_blank"'
  13628.     }
  13629.  
  13630.     function y(B, A) {
  13631.         return '<div class="badge-link__wrap js-badge-main-msg">'
  13632.     }
  13633.  
  13634.     function x(E, D) {
  13635.         var B, C, A;
  13636.         B = (C = q.l || (E && E.l), A = {
  13637.             hash: {},
  13638.             data: D
  13639.         }, C ? C.call(E, "Add DuckDuckGo to %s", (E && E.displayBrowserName), A) : p.call(E, "l", "Add DuckDuckGo to %s", (E && E.displayBrowserName), A));
  13640.         if (B || B === 0) {
  13641.             return B
  13642.         } else {
  13643.             return ""
  13644.         }
  13645.     }
  13646.  
  13647.     function v(E, D) {
  13648.         var B, C, A;
  13649.         B = (C = q.l || (E && E.l), A = {
  13650.             hash: {},
  13651.             data: D
  13652.         }, C ? C.call(E, "Install", A) : p.call(E, "l", "Install", A));
  13653.         if (B || B === 0) {
  13654.             return B
  13655.         } else {
  13656.             return ""
  13657.         }
  13658.     }
  13659.  
  13660.     function u(B, A) {
  13661.         return "</a>"
  13662.     }
  13663.  
  13664.     function t(B, A) {
  13665.         return "</div>"
  13666.     }
  13667.     r += '<div class="badge-link badge-link--';
  13668.     h = q["if"].call(s, (s && s.serp), {
  13669.         hash: {},
  13670.         inverse: o.program(3, m, z),
  13671.         fn: o.program(1, n, z),
  13672.         data: z
  13673.     });
  13674.     if (h || h === 0) {
  13675.         r += h
  13676.     }
  13677.     h = q["if"].call(s, (s && s.fadeIn), {
  13678.         hash: {},
  13679.         inverse: o.noop,
  13680.         fn: o.program(5, j, z),
  13681.         data: z
  13682.     });
  13683.     if (h || h === 0) {
  13684.         r += h
  13685.     }
  13686.     r += ' ddg-extension-hide js-badge-link">';
  13687.     h = q["if"].call(s, (s && s.url), {
  13688.         hash: {},
  13689.         inverse: o.program(10, y, z),
  13690.         fn: o.program(7, i, z),
  13691.         data: z
  13692.     });
  13693.     if (h || h === 0) {
  13694.         r += h
  13695.     }
  13696.     r += '<div class="badge-link__thumb"><img class="badge-link__thumb__img" src="assets/onboarding/robot-icon-frameless.svg"></div><p class="badge-link__title js-badge-link__title">';
  13697.     h = (a = q.lp || (s && s.lp), e = {
  13698.         hash: {},
  13699.         data: z
  13700.     }, a ? a.call(s, "homepage ATB modal", "Your data shouldn’t be for sale.", e) : p.call(s, "lp", "homepage ATB modal", "Your data shouldn’t be for sale.", e));
  13701.     if (h || h === 0) {
  13702.         r += h
  13703.     }
  13704.     r += "<br>";
  13705.     h = (a = q.lp || (s && s.lp), e = {
  13706.         hash: {},
  13707.         data: z
  13708.     }, a ? a.call(s, "homepage ATB modal", "At DuckDuckGo, we agree.", e) : p.call(s, "lp", "homepage ATB modal", "At DuckDuckGo, we agree.", e));
  13709.     if (h || h === 0) {
  13710.         r += h
  13711.     }
  13712.     r += '</p><ol class="badge-link__bullets"><li class="badge-link__bullet"><span class="badge-link__bullet-num">1</span>';
  13713.     h = (a = q.lp || (s && s.lp), e = {
  13714.         hash: {},
  13715.         data: z
  13716.     }, a ? a.call(s, "reasons-to-use-duckduckgo", "Block advertising trackers.", e) : p.call(s, "lp", "reasons-to-use-duckduckgo", "Block advertising trackers.", e));
  13717.     if (h || h === 0) {
  13718.         r += h
  13719.     }
  13720.     r += '</li><li class="badge-link__bullet"><span class="badge-link__bullet-num">2</span>';
  13721.     h = (a = q.lp || (s && s.lp), e = {
  13722.         hash: {},
  13723.         data: z
  13724.     }, a ? a.call(s, "reasons-to-use-duckduckgo", "Keep your search history private.", e) : p.call(s, "lp", "reasons-to-use-duckduckgo", "Keep your search history private.", e));
  13725.     if (h || h === 0) {
  13726.         r += h
  13727.     }
  13728.     r += '</li><li class="badge-link__bullet"><span class="badge-link__bullet-num">3</span>';
  13729.     h = (a = q.lp || (s && s.lp), e = {
  13730.         hash: {},
  13731.         data: z
  13732.     }, a ? a.call(s, "reasons-to-use-duckduckgo", "Take control of your personal data.", e) : p.call(s, "lp", "reasons-to-use-duckduckgo", "Take control of your personal data.", e));
  13733.     if (h || h === 0) {
  13734.         r += h
  13735.     }
  13736.     r += '</li></ol><div class="badge-link__btn-group"><span class="badge-link__btn btn btn--primary js-badge-link-button">';
  13737.     h = q["if"].call(s, (s && s.isEnglish), {
  13738.         hash: {},
  13739.         inverse: o.program(14, v, z),
  13740.         fn: o.program(12, x, z),
  13741.         data: z
  13742.     });
  13743.     if (h || h === 0) {
  13744.         r += h
  13745.     }
  13746.     r += '</span></div><span class="ddgsi badge-link__close js-badge-link-dismiss">&times;</span>';
  13747.     h = q["if"].call(s, (s && s.url), {
  13748.         hash: {},
  13749.         inverse: o.program(18, t, z),
  13750.         fn: o.program(16, u, z),
  13751.         data: z
  13752.     });
  13753.     if (h || h === 0) {
  13754.         r += h
  13755.     }
  13756.     r += '<div class="badge-link__wrap badge-link__wrap--hidden js-badge-cookie-msg"><div class="badge-link__cookie-msg"><p>';
  13757.     h = (a = q.l || (s && s.l), e = {
  13758.         hash: {},
  13759.         data: z
  13760.     }, a ? a.call(s, "Clear your cookies often?", e) : p.call(s, "l", "Clear your cookies often?", e));
  13761.     if (h || h === 0) {
  13762.         r += h
  13763.     }
  13764.     r += "</p><p>";
  13765.     h = (a = q.l || (s && s.l), e = {
  13766.         hash: {},
  13767.         data: z
  13768.     }, a ? a.call(s, "Try our homepage that never shows these messages:", e) : p.call(s, "l", "Try our homepage that never shows these messages:", e));
  13769.     if (h || h === 0) {
  13770.         r += h
  13771.     }
  13772.     r += '</p><p><b><a href="https://start.duckduckgo.com">start.duckduckgo.com</a></b></p></div><span class="ddgsi badge-link__close js-badge-link-close">&times;</span></div></div>';
  13773.     return r
  13774. });
  13775. this["DDG"]["templates"]["add_to_browser_badge_top_cpp"] = Handlebars.template(function(f, s, q, j, y) {
  13776.     this.compilerInfo = [4, ">= 1.0.0"];
  13777.     q = this.merge(q, f.helpers);
  13778.     y = y || {};
  13779.     var r = "",
  13780.         h, a, e, c = "function",
  13781.         b = this.escapeExpression,
  13782.         o = this,
  13783.         p = q.helperMissing;
  13784.  
  13785.     function n(D, C) {
  13786.         var z = "",
  13787.             A, B;
  13788.         z += '<a class="badge-link__wrap js-badge-main-msg" href="';
  13789.         if (B = q.url) {
  13790.             A = B.call(D, {
  13791.                 hash: {},
  13792.                 data: C
  13793.             })
  13794.         } else {
  13795.             B = (D && D.url);
  13796.             A = typeof B === c ? B.call(D, {
  13797.                 hash: {},
  13798.                 data: C
  13799.             }) : B
  13800.         }
  13801.         z += b(A) + '" ';
  13802.         A = q["if"].call(D, (D && D.openInNewTab), {
  13803.             hash: {},
  13804.             inverse: o.noop,
  13805.             fn: o.program(2, m, C),
  13806.             data: C
  13807.         });
  13808.         if (A || A === 0) {
  13809.             z += A
  13810.         }
  13811.         z += ">";
  13812.         return z
  13813.     }
  13814.  
  13815.     function m(A, z) {
  13816.         return 'target="_blank"'
  13817.     }
  13818.  
  13819.     function k(A, z) {
  13820.         return '<div class="badge-link__wrap js-badge-main-msg">'
  13821.     }
  13822.  
  13823.     function i(A, z) {
  13824.         return "completed"
  13825.     }
  13826.  
  13827.     function g(A, z) {
  13828.         return "pending"
  13829.     }
  13830.  
  13831.     function x(A, z) {
  13832.         return "Resume Privacy Setup"
  13833.     }
  13834.  
  13835.     function v(A, z) {
  13836.         return "Get Started"
  13837.     }
  13838.  
  13839.     function u(A, z) {
  13840.         return "</a>"
  13841.     }
  13842.  
  13843.     function t(A, z) {
  13844.         return "</div>"
  13845.     }
  13846.     r += '<div class="badge-link badge-link--serp badge-link--cpp badge-link--fadein js-badge-link js-badge-link-cpp">';
  13847.     h = q["if"].call(s, (s && s.url), {
  13848.         hash: {},
  13849.         inverse: o.program(4, k, y),
  13850.         fn: o.program(1, n, y),
  13851.         data: y
  13852.     });
  13853.     if (h || h === 0) {
  13854.         r += h
  13855.     }
  13856.     r += '<div class="badge-link__thumb"><img class="badge-link__thumb__img" src="assets/add-to-browser/cpp/laptop-serp.svg"></div><p class="badge-link__title js-badge-link__title">DuckDuckGo Privacy Setup</p><!-- STEP 1 --><div class="cpp__step js-cpp-step-1" data-status="';
  13857.     h = q["if"].call(s, (s && s.step1Done), {
  13858.         hash: {},
  13859.         inverse: o.program(8, g, y),
  13860.         fn: o.program(6, i, y),
  13861.         data: y
  13862.     });
  13863.     if (h || h === 0) {
  13864.         r += h
  13865.     }
  13866.     r += '"><span class="cpp__step__num">1</span><h2 class="cpp__step__title">Privacy for ';
  13867.     if (a = q.browser) {
  13868.         h = a.call(s, {
  13869.             hash: {},
  13870.             data: y
  13871.         })
  13872.     } else {
  13873.         a = (s && s.browser);
  13874.         h = typeof a === c ? a.call(s, {
  13875.             hash: {},
  13876.             data: y
  13877.         }) : a
  13878.     }
  13879.     r += b(h) + '</h2><div class="cpp__checkbox"><img src="/assets/add-to-browser/cpp/check-white.svg" class="cpp__checkbox__img"></div></div><!-- STEP 2 --><div class="cpp__step js-cpp-step-2" data-status="';
  13880.     h = q["if"].call(s, (s && s.step2Done), {
  13881.         hash: {},
  13882.         inverse: o.program(8, g, y),
  13883.         fn: o.program(6, i, y),
  13884.         data: y
  13885.     });
  13886.     if (h || h === 0) {
  13887.         r += h
  13888.     }
  13889.     r += '"><span class="cpp__step__num">2</span><h2 class="cpp__step__title">Privacy for Mobile</h2><div class="cpp__checkbox"><img src="/assets/add-to-browser/cpp/check-white.svg" class="cpp__checkbox__img"></div></div><div class="badge-link__btn-group"><span class="badge-link__btn btn btn--primary js-badge-link-button js-cta-state-cpp">';
  13890.     h = q["if"].call(s, (s && s.resumeInstall), {
  13891.         hash: {},
  13892.         inverse: o.program(12, v, y),
  13893.         fn: o.program(10, x, y),
  13894.         data: y
  13895.     });
  13896.     if (h || h === 0) {
  13897.         r += h
  13898.     }
  13899.     r += '</span></div><span class="ddgsi badge-link__close js-badge-link-dismiss">&times;</span>';
  13900.     h = q["if"].call(s, (s && s.url), {
  13901.         hash: {},
  13902.         inverse: o.program(16, t, y),
  13903.         fn: o.program(14, u, y),
  13904.         data: y
  13905.     });
  13906.     if (h || h === 0) {
  13907.         r += h
  13908.     }
  13909.     r += '<div class="badge-link__wrap badge-link__wrap--hidden js-badge-cookie-msg"><div class="badge-link__cookie-msg"><p>';
  13910.     h = (a = q.l || (s && s.l), e = {
  13911.         hash: {},
  13912.         data: y
  13913.     }, a ? a.call(s, "Clear your cookies often?", e) : p.call(s, "l", "Clear your cookies often?", e));
  13914.     if (h || h === 0) {
  13915.         r += h
  13916.     }
  13917.     r += "</p><p>";
  13918.     h = (a = q.l || (s && s.l), e = {
  13919.         hash: {},
  13920.         data: y
  13921.     }, a ? a.call(s, "Try our homepage that never shows these messages:", e) : p.call(s, "l", "Try our homepage that never shows these messages:", e));
  13922.     if (h || h === 0) {
  13923.         r += h
  13924.     }
  13925.     r += '</p><p><b><a href="https://start.duckduckgo.com">start.duckduckgo.com</a></b></p></div><span class="ddgsi badge-link__close js-badge-link-close">&times;</span></div></div>';
  13926.     return r
  13927. });
  13928. this["DDG"]["templates"]["add_to_browser_badge_top_settings"] = Handlebars.template(function(f, s, q, k, z) {
  13929.     this.compilerInfo = [4, ">= 1.0.0"];
  13930.     q = this.merge(q, f.helpers);
  13931.     z = z || {};
  13932.     var r = "",
  13933.         h, a, e, c = "function",
  13934.         b = this.escapeExpression,
  13935.         o = this,
  13936.         p = q.helperMissing;
  13937.  
  13938.     function n(B, A) {
  13939.         return "serp "
  13940.     }
  13941.  
  13942.     function m(B, A) {
  13943.         return "top "
  13944.     }
  13945.  
  13946.     function j(B, A) {
  13947.         return "badge-link--fadein "
  13948.     }
  13949.  
  13950.     function i(E, D) {
  13951.         var A = "",
  13952.             B, C;
  13953.         A += '<a class="badge-link__wrap js-badge-main-msg" href="';
  13954.         if (C = q.url) {
  13955.             B = C.call(E, {
  13956.                 hash: {},
  13957.                 data: D
  13958.             })
  13959.         } else {
  13960.             C = (E && E.url);
  13961.             B = typeof C === c ? C.call(E, {
  13962.                 hash: {},
  13963.                 data: D
  13964.             }) : C
  13965.         }
  13966.         A += b(B) + '" ';
  13967.         B = q["if"].call(E, (E && E.openInNewTab), {
  13968.             hash: {},
  13969.             inverse: o.noop,
  13970.             fn: o.program(8, g, D),
  13971.             data: D
  13972.         });
  13973.         if (B || B === 0) {
  13974.             A += B
  13975.         }
  13976.         A += ">";
  13977.         return A
  13978.     }
  13979.  
  13980.     function g(B, A) {
  13981.         return 'target="_blank"'
  13982.     }
  13983.  
  13984.     function y(B, A) {
  13985.         return '<div class="badge-link__wrap js-badge-main-msg">'
  13986.     }
  13987.  
  13988.     function x(E, D) {
  13989.         var B, C, A;
  13990.         B = (C = q.l || (E && E.l), A = {
  13991.             hash: {},
  13992.             data: D
  13993.         }, C ? C.call(E, "Add DuckDuckGo to %s", (E && E.displayBrowserName), A) : p.call(E, "l", "Add DuckDuckGo to %s", (E && E.displayBrowserName), A));
  13994.         if (B || B === 0) {
  13995.             return B
  13996.         } else {
  13997.             return ""
  13998.         }
  13999.     }
  14000.  
  14001.     function v(E, D) {
  14002.         var B, C, A;
  14003.         B = (C = q.l || (E && E.l), A = {
  14004.             hash: {},
  14005.             data: D
  14006.         }, C ? C.call(E, "Install", A) : p.call(E, "l", "Install", A));
  14007.         if (B || B === 0) {
  14008.             return B
  14009.         } else {
  14010.             return ""
  14011.         }
  14012.     }
  14013.  
  14014.     function u(B, A) {
  14015.         return "</a>"
  14016.     }
  14017.  
  14018.     function t(B, A) {
  14019.         return "</div>"
  14020.     }
  14021.     r += '<div class="badge-link badge-link--';
  14022.     h = q["if"].call(s, (s && s.serp), {
  14023.         hash: {},
  14024.         inverse: o.program(3, m, z),
  14025.         fn: o.program(1, n, z),
  14026.         data: z
  14027.     });
  14028.     if (h || h === 0) {
  14029.         r += h
  14030.     }
  14031.     h = q["if"].call(s, (s && s.fadeIn), {
  14032.         hash: {},
  14033.         inverse: o.noop,
  14034.         fn: o.program(5, j, z),
  14035.         data: z
  14036.     });
  14037.     if (h || h === 0) {
  14038.         r += h
  14039.     }
  14040.     r += ' ddg-extension-hide js-badge-link">';
  14041.     h = q["if"].call(s, (s && s.url), {
  14042.         hash: {},
  14043.         inverse: o.program(10, y, z),
  14044.         fn: o.program(7, i, z),
  14045.         data: z
  14046.     });
  14047.     if (h || h === 0) {
  14048.         r += h
  14049.     }
  14050.     r += '<div class="badge-link__thumb"><img class="badge-link__thumb__img" src="assets/onboarding/robot-icon-frameless.svg"></div><p class="badge-link__title js-badge-link__title">';
  14051.     h = (a = q.lp || (s && s.lp), e = {
  14052.         hash: {},
  14053.         data: z
  14054.     }, a ? a.call(s, "homepage onboarding", "Switch to DuckDuckGo and take back your privacy!", e) : p.call(s, "lp", "homepage onboarding", "Switch to DuckDuckGo and take back your privacy!", e));
  14055.     if (h || h === 0) {
  14056.         r += h
  14057.     }
  14058.     r += '</p><ol class="badge-link__bullets"><li class="badge-link__bullet"><span class="badge-link__bullet-num">1</span>';
  14059.     h = (a = q.lp || (s && s.lp), e = {
  14060.         hash: {},
  14061.         data: z
  14062.     }, a ? a.call(s, "reasons-to-use-duckduckgo", "We don't store your personal info.", e) : p.call(s, "lp", "reasons-to-use-duckduckgo", "We don't store your personal info.", e));
  14063.     if (h || h === 0) {
  14064.         r += h
  14065.     }
  14066.     r += '</li><li class="badge-link__bullet"><span class="badge-link__bullet-num">2</span>';
  14067.     h = (a = q.lp || (s && s.lp), e = {
  14068.         hash: {},
  14069.         data: z
  14070.     }, a ? a.call(s, "reasons-to-use-duckduckgo", "We don't follow you around with ads.", e) : p.call(s, "lp", "reasons-to-use-duckduckgo", "We don't follow you around with ads.", e));
  14071.     if (h || h === 0) {
  14072.         r += h
  14073.     }
  14074.     r += '</li><li class="badge-link__bullet"><span class="badge-link__bullet-num">3</span>';
  14075.     h = (a = q.lp || (s && s.lp), e = {
  14076.         hash: {},
  14077.         data: z
  14078.     }, a ? a.call(s, "reasons-to-use-duckduckgo", "We don't track you. Ever.", e) : p.call(s, "lp", "reasons-to-use-duckduckgo", "We don't track you. Ever.", e));
  14079.     if (h || h === 0) {
  14080.         r += h
  14081.     }
  14082.     r += '</li></ol><div class="badge-link__btn-group"><span class="badge-link__btn btn btn--primary js-badge-link-button">';
  14083.     h = q["if"].call(s, (s && s.isEnglish), {
  14084.         hash: {},
  14085.         inverse: o.program(14, v, z),
  14086.         fn: o.program(12, x, z),
  14087.         data: z
  14088.     });
  14089.     if (h || h === 0) {
  14090.         r += h
  14091.     }
  14092.     r += '</span></div><span class="ddgsi badge-link__close js-badge-link-dismiss">&times;</span>';
  14093.     h = q["if"].call(s, (s && s.url), {
  14094.         hash: {},
  14095.         inverse: o.program(18, t, z),
  14096.         fn: o.program(16, u, z),
  14097.         data: z
  14098.     });
  14099.     if (h || h === 0) {
  14100.         r += h
  14101.     }
  14102.     r += '<div class="badge-link__wrap badge-link__wrap--hidden js-badge-cookie-msg"><div class="badge-link__cookie-msg"><p>';
  14103.     h = (a = q.l || (s && s.l), e = {
  14104.         hash: {},
  14105.         data: z
  14106.     }, a ? a.call(s, "Clear your cookies often?", e) : p.call(s, "l", "Clear your cookies often?", e));
  14107.     if (h || h === 0) {
  14108.         r += h
  14109.     }
  14110.     r += "</p><p>";
  14111.     h = (a = q.l || (s && s.l), e = {
  14112.         hash: {},
  14113.         data: z
  14114.     }, a ? a.call(s, "Try our homepage that never shows these messages:", e) : p.call(s, "l", "Try our homepage that never shows these messages:", e));
  14115.     if (h || h === 0) {
  14116.         r += h
  14117.     }
  14118.     r += '</p><p><b><a href="https://start.duckduckgo.com">start.duckduckgo.com</a></b></p></div><span class="ddgsi badge-link__close js-badge-link-close">&times;</span></div></div>';
  14119.     return r
  14120. });
  14121. this["DDG"]["templates"]["add_to_browser_banner"] = Handlebars.template(function(f, m, e, j, i) {
  14122.     this.compilerInfo = [4, ">= 1.0.0"];
  14123.     e = this.merge(e, f.helpers);
  14124.     i = i || {};
  14125.     var h = "",
  14126.         b, g, p, k = e.helperMissing,
  14127.         o = this;
  14128.  
  14129.     function c(r, q) {
  14130.         return "atb-banner--cppm"
  14131.     }
  14132.  
  14133.     function a(r, q) {
  14134.         return '<img class="atb-banner__thumbnail atb-banner__thumbnail--round" src="/assets/add-to-browser/cppm/homepage.svg" alt="privacy protection"/><div class="atb-banner__content"><div class="atb-banner__title">DuckDuckGo Privacy Setup</div><div class="atb-banner__copy">Add seamless privacy protection to all your devices.</div></div><div class="js-atb-banner-link atb-banner__btn atb-banner__btn--exp btn btn--primary">Launch Setup</div>'
  14135.     }
  14136.  
  14137.     function n(v, u) {
  14138.         var q = "",
  14139.             s, t, r;
  14140.         q += '<img class="atb-banner__thumbnail atb-banner__thumbnail--round" src="assets/onboarding/bathroomguy/thumbnails/[email protected]" height="65"><div class="atb-banner__content"><div class="atb-banner__title">';
  14141.         s = (t = e.l || (v && v.l), r = {
  14142.             hash: {},
  14143.             data: u
  14144.         }, t ? t.call(v, "Take Back Your Privacy!", r) : k.call(v, "l", "Take Back Your Privacy!", r));
  14145.         if (s || s === 0) {
  14146.             q += s
  14147.         }
  14148.         q += '</div><div class="atb-banner__copy">';
  14149.         s = (t = e.l || (v && v.l), r = {
  14150.             hash: {},
  14151.             data: u
  14152.         }, t ? t.call(v, "Switch to the search engine that doesn't track you. Ever.", r) : k.call(v, "l", "Switch to the search engine that doesn't track you. Ever.", r));
  14153.         if (s || s === 0) {
  14154.             q += s
  14155.         }
  14156.         q += '</div></div><div class="js-atb-banner-link atb-banner__btn atb-banner__btn--exp btn btn--primary">';
  14157.         s = (t = e.l || (v && v.l), r = {
  14158.             hash: {},
  14159.             data: u
  14160.         }, t ? t.call(v, "Add DuckDuckGo to %s", (v && v.displayBrowserName), r) : k.call(v, "l", "Add DuckDuckGo to %s", (v && v.displayBrowserName), r));
  14161.         if (s || s === 0) {
  14162.             q += s
  14163.         }
  14164.         q += '</div><div class="js-atb-banner-learnmore atb-banner__link">';
  14165.         s = (t = e.l || (v && v.l), r = {
  14166.             hash: {},
  14167.             data: u
  14168.         }, t ? t.call(v, "Learn %sMore%s", "", "", r) : k.call(v, "l", "Learn %sMore%s", "", "", r));
  14169.         if (s || s === 0) {
  14170.             q += s
  14171.         }
  14172.         q += "</div>";
  14173.         return q
  14174.     }
  14175.     h += '<div class="atb-banner ';
  14176.     b = e["if"].call(m, (m && m.isCppmExpOrControl), {
  14177.         hash: {},
  14178.         inverse: o.noop,
  14179.         fn: o.program(1, c, i),
  14180.         data: i
  14181.     });
  14182.     if (b || b === 0) {
  14183.         h += b
  14184.     }
  14185.     h += '"><div class="atb-banner__bottom js-atb-banner-mainmsg"><span class="ddgsi atb-banner__close js-atb-banner-dismiss">×</span>';
  14186.     b = e["if"].call(m, (m && m.isCppmExpOrControl), {
  14187.         hash: {},
  14188.         inverse: o.program(5, n, i),
  14189.         fn: o.program(3, a, i),
  14190.         data: i
  14191.     });
  14192.     if (b || b === 0) {
  14193.         h += b
  14194.     }
  14195.     h += '</div><div class="atb-banner__bottom atb-banner--hidden js-atb-banner-cookiemsg"><span class="ddgsi atb-banner__close js-atb-banner-close">×</span><div class="atb-banner__start"><div class="atb-banner__title">';
  14196.     b = (g = e.l || (m && m.l), p = {
  14197.         hash: {},
  14198.         data: i
  14199.     }, g ? g.call(m, "Clear your cookies often?", p) : k.call(m, "l", "Clear your cookies often?", p));
  14200.     if (b || b === 0) {
  14201.         h += b
  14202.     }
  14203.     h += '</div><div class="atb-banner__copy">';
  14204.     b = (g = e.l || (m && m.l), p = {
  14205.         hash: {},
  14206.         data: i
  14207.     }, g ? g.call(m, "Try our homepage that never shows these messages:", p) : k.call(m, "l", "Try our homepage that never shows these messages:", p));
  14208.     if (b || b === 0) {
  14209.         h += b
  14210.     }
  14211.     h += '<span class="js-atb-banner-start atb-banner__link">start.duckduckgo.com</span></div></div></div></div>';
  14212.     return h
  14213. });
  14214. this["DDG"]["templates"]["add_to_browser_button"] = Handlebars.template(function(f, k, e, i, h) {
  14215.     this.compilerInfo = [4, ">= 1.0.0"];
  14216.     e = this.merge(e, f.helpers);
  14217.     h = h || {};
  14218.     var g = "",
  14219.         b, j = e.helperMissing,
  14220.         n = this;
  14221.  
  14222.     function c(p, o) {
  14223.         return "atb-banner--inline-cppm"
  14224.     }
  14225.  
  14226.     function a(p, o) {
  14227.         return '<div class="js-atb-banner-link btn btn--primary atb-banner__btn atb-banner__btn--install">DuckDuckGo Privacy Setup</div>'
  14228.     }
  14229.  
  14230.     function m(t, s) {
  14231.         var o = "",
  14232.             q, r, p;
  14233.         o += '<div class="js-atb-banner-link btn btn--primary atb-banner__btn atb-banner__btn--install">';
  14234.         q = (r = e.l || (t && t.l), p = {
  14235.             hash: {},
  14236.             data: s
  14237.         }, r ? r.call(t, "Add to %s", (t && t.displayBrowserName), p) : j.call(t, "l", "Add to %s", (t && t.displayBrowserName), p));
  14238.         if (q || q === 0) {
  14239.             o += q
  14240.         }
  14241.         o += '</div><div class="js-atb-banner-learnmore btn btn--primary atb-banner__learn-more">';
  14242.         q = (r = e.l || (t && t.l), p = {
  14243.             hash: {},
  14244.             data: s
  14245.         }, r ? r.call(t, "Learn %sMore%s", "", "", p) : j.call(t, "l", "Learn %sMore%s", "", "", p));
  14246.         if (q || q === 0) {
  14247.             o += q
  14248.         }
  14249.         o += "</div>";
  14250.         return o
  14251.     }
  14252.     g += '<div class="js-atb-banner atb-banner--inline ';
  14253.     b = e["if"].call(k, (k && k.isCppmExpOrControl), {
  14254.         hash: {},
  14255.         inverse: n.noop,
  14256.         fn: n.program(1, c, h),
  14257.         data: h
  14258.     });
  14259.     if (b || b === 0) {
  14260.         g += b
  14261.     }
  14262.     g += '">    ';
  14263.     b = e["if"].call(k, (k && k.isCppmExpOrControl), {
  14264.         hash: {},
  14265.         inverse: n.program(5, m, h),
  14266.         fn: n.program(3, a, h),
  14267.         data: h
  14268.     });
  14269.     if (b || b === 0) {
  14270.         g += b
  14271.     }
  14272.     g += "</div>";
  14273.     return g
  14274. });
  14275. this["DDG"]["templates"]["add_to_browser_button_icon"] = Handlebars.template(function(f, n, e, m, k) {
  14276.     this.compilerInfo = [4, ">= 1.0.0"];
  14277.     e = this.merge(e, f.helpers);
  14278.     k = k || {};
  14279.     var i = "",
  14280.         a, g, h = "function",
  14281.         j = this.escapeExpression,
  14282.         q = this;
  14283.  
  14284.     function c(x, v) {
  14285.         var s = "",
  14286.             t, u;
  14287.         s += '<a href="';
  14288.         if (u = e.url) {
  14289.             t = u.call(x, {
  14290.                 hash: {},
  14291.                 data: v
  14292.             })
  14293.         } else {
  14294.             u = (x && x.url);
  14295.             t = typeof u === h ? u.call(x, {
  14296.                 hash: {},
  14297.                 data: v
  14298.             }) : u
  14299.         }
  14300.         s += j(t) + '" class="js-atb-btn" ';
  14301.         t = e["if"].call(x, (x && x.openInNewTab), {
  14302.             hash: {},
  14303.             inverse: q.noop,
  14304.             fn: q.program(2, b, v),
  14305.             data: v
  14306.         });
  14307.         if (t || t === 0) {
  14308.             s += t
  14309.         }
  14310.         s += ">";
  14311.         return s
  14312.     }
  14313.  
  14314.     function b(t, s) {
  14315.         return 'target="_blank"'
  14316.     }
  14317.  
  14318.     function r(t, s) {
  14319.         return '<div class="js-atb-btn">'
  14320.     }
  14321.  
  14322.     function p(t, s) {
  14323.         return "</a>"
  14324.     }
  14325.  
  14326.     function o(t, s) {
  14327.         return "</div>"
  14328.     }
  14329.     i += '<div class="ddg-extension-hide atb-btn-wrap">';
  14330.     a = e["if"].call(n, (n && n.url), {
  14331.         hash: {},
  14332.         inverse: q.program(4, r, k),
  14333.         fn: q.program(1, c, k),
  14334.         data: k
  14335.     });
  14336.     if (a || a === 0) {
  14337.         i += a
  14338.     }
  14339.     i += '<span class="atb-btn btn btn--primary"><img class="atb-btn__icon" src="/assets/home/small/';
  14340.     if (g = e.browserId) {
  14341.         a = g.call(n, {
  14342.             hash: {},
  14343.             data: k
  14344.         })
  14345.     } else {
  14346.         g = (n && n.browserId);
  14347.         a = typeof g === h ? g.call(n, {
  14348.             hash: {},
  14349.             data: k
  14350.         }) : g
  14351.     }
  14352.     i += j(a) + '-white.svg" /><img class="atb-btn__icon atb-btn__icon--hover" src="/assets/home/small/';
  14353.     if (g = e.browserId) {
  14354.         a = g.call(n, {
  14355.             hash: {},
  14356.             data: k
  14357.         })
  14358.     } else {
  14359.         g = (n && n.browserId);
  14360.         a = typeof g === h ? g.call(n, {
  14361.             hash: {},
  14362.             data: k
  14363.         }) : g
  14364.     }
  14365.     i += j(a) + '-blue.svg" />Try the ';
  14366.     if (g = e.displayBrowserName) {
  14367.         a = g.call(n, {
  14368.             hash: {},
  14369.             data: k
  14370.         })
  14371.     } else {
  14372.         g = (n && n.displayBrowserName);
  14373.         a = typeof g === h ? g.call(n, {
  14374.             hash: {},
  14375.             data: k
  14376.         }) : g
  14377.     }
  14378.     i += j(a) + " Extension</span>";
  14379.     a = e["if"].call(n, (n && n.url), {
  14380.         hash: {},
  14381.         inverse: q.program(8, o, k),
  14382.         fn: q.program(6, p, k),
  14383.         data: k
  14384.     });
  14385.     if (a || a === 0) {
  14386.         i += a
  14387.     }
  14388.     i += "</div>";
  14389.     return i
  14390. });
  14391. this["DDG"]["templates"]["add_to_browser_button_serp"] = Handlebars.template(function(f, k, e, i, h) {
  14392.     this.compilerInfo = [4, ">= 1.0.0"];
  14393.     e = this.merge(e, f.helpers);
  14394.     h = h || {};
  14395.     var g = "",
  14396.         b, j = e.helperMissing,
  14397.         n = this;
  14398.  
  14399.     function c(p, o) {
  14400.         return "atb-banner__btn--standalone-cppm"
  14401.     }
  14402.  
  14403.     function a(p, o) {
  14404.         return '<span class="js-atb-banner-link">DuckDuckGo Privacy Setup</span>'
  14405.     }
  14406.  
  14407.     function m(s, r) {
  14408.         var p, q, o;
  14409.         p = (q = e.l || (s && s.l), o = {
  14410.             hash: {},
  14411.             data: r
  14412.         }, q ? q.call(s, "Add DuckDuckGo to %s", (s && s.displayBrowserName), o) : j.call(s, "l", "Add DuckDuckGo to %s", (s && s.displayBrowserName), o));
  14413.         if (p || p === 0) {
  14414.             return p
  14415.         } else {
  14416.             return ""
  14417.         }
  14418.     }
  14419.     g += '<div class="js-atb-banner btn atb-banner__btn--standalone ';
  14420.     b = e["if"].call(k, (k && k.isCppmExpOrControl), {
  14421.         hash: {},
  14422.         inverse: n.noop,
  14423.         fn: n.program(1, c, h),
  14424.         data: h
  14425.     });
  14426.     if (b || b === 0) {
  14427.         g += b
  14428.     }
  14429.     g += '">';
  14430.     b = e["if"].call(k, (k && k.isCppmExpOrControl), {
  14431.         hash: {},
  14432.         inverse: n.program(5, m, h),
  14433.         fn: n.program(3, a, h),
  14434.         data: h
  14435.     });
  14436.     if (b || b === 0) {
  14437.         g += b
  14438.     }
  14439.     g += ' <span class="ddgsi ddgsi-close-bold js-atb-banner-close"></span></div>';
  14440.     return g
  14441. });
  14442. this["DDG"]["templates"]["add_to_browser_extension_overlay"] = Handlebars.template(function(f, s, q, j, t) {
  14443.     this.compilerInfo = [4, ">= 1.0.0"];
  14444.     q = this.merge(q, f.helpers);
  14445.     t = t || {};
  14446.     var r = "",
  14447.         h, a, e, p = q.helperMissing,
  14448.         o = this,
  14449.         c = "function",
  14450.         b = this.escapeExpression;
  14451.  
  14452.     function n(z, y) {
  14453.         var v, x, u;
  14454.         v = (x = q.include || (z && z.include), u = {
  14455.             hash: {},
  14456.             data: y
  14457.         }, x ? x.call(z, (z && z.subTemplate), u) : p.call(z, "include", (z && z.subTemplate), u));
  14458.         if (v || v === 0) {
  14459.             return v
  14460.         } else {
  14461.             return ""
  14462.         }
  14463.     }
  14464.  
  14465.     function m(x, v) {
  14466.         var u;
  14467.         u = q["if"].call(x, ((u = (x && x.onBoardingTest)), u == null || u === false ? u : u.showNewUserPoll), {
  14468.             hash: {},
  14469.             inverse: o.program(6, i, v),
  14470.             fn: o.program(4, k, v),
  14471.             data: v
  14472.         });
  14473.         if (u || u === 0) {
  14474.             return u
  14475.         } else {
  14476.             return ""
  14477.         }
  14478.     }
  14479.  
  14480.     function k(x, v) {
  14481.         var u = "";
  14482.         return u
  14483.     }
  14484.  
  14485.     function i(A, z) {
  14486.         var u = "",
  14487.             x, y, v;
  14488.         u += '<h1 class="atb-extension-overlay__headline">';
  14489.         x = (y = q.l || (A && A.l), v = {
  14490.             hash: {},
  14491.             data: z
  14492.         }, y ? y.call(A, "Congratulations!", v) : p.call(A, "l", "Congratulations!", v));
  14493.         if (x || x === 0) {
  14494.             u += x
  14495.         }
  14496.         u += '</h1><p class="atb-extension-overlay__text text--secondary tx--17">';
  14497.         x = (y = q.l || (A && A.l), v = {
  14498.             hash: {},
  14499.             data: z
  14500.         }, y ? y.call(A, "You're now searching with privacy!", v) : p.call(A, "l", "You're now searching with privacy!", v));
  14501.         if (x || x === 0) {
  14502.             u += x
  14503.         }
  14504.         u += '</p><a class="atb-extension-overlay__search-btn btn btn--primary tx--15 js-extension-overlay-search" data-search-link="start-button" href="https://duckduckgo.com">';
  14505.         x = (y = q.l || (A && A.l), v = {
  14506.             hash: {},
  14507.             data: z
  14508.         }, y ? y.call(A, "Start searching!", v) : p.call(A, "l", "Start searching!", v));
  14509.         if (x || x === 0) {
  14510.             u += x
  14511.         }
  14512.         u += "</a>";
  14513.         return u
  14514.     }
  14515.  
  14516.     function g(A, z) {
  14517.         var u = "",
  14518.             x, y, v;
  14519.         u += '<div class="js-extension-overlay--mobile-promotion"><h1 class="atb-extension-overlay__headline js-balance-text">';
  14520.         x = (y = q.lp || (A && A.lp), v = {
  14521.             hash: {},
  14522.             data: z
  14523.         }, y ? y.call(A, "mobile promotion on desktop", "Also search privately on your iPad, iPhone, or Android!", v) : p.call(A, "lp", "mobile promotion on desktop", "Also search privately on your iPad, iPhone, or Android!", v));
  14524.         if (x || x === 0) {
  14525.             u += x
  14526.         }
  14527.         u += '</h1><p class="atb-extension-overlay__text text--secondary tx--17 js-balance-text">';
  14528.         x = (y = q.lp || (A && A.lp), v = {
  14529.             hash: {},
  14530.             data: z
  14531.         }, y ? y.call(A, "mobile promotion on desktop", "Visit %sDuckDuckGo.com%s on your tablet or phone and follow the provided instructions.", "<b>", "</b>", v) : p.call(A, "lp", "mobile promotion on desktop", "Visit %sDuckDuckGo.com%s on your tablet or phone and follow the provided instructions.", "<b>", "</b>", v));
  14532.         if (x || x === 0) {
  14533.             u += x
  14534.         }
  14535.         u += '</p><div class="atb-extension-overlay__mobile-image"></div><a class="atb-extension-overlay__search-btn tx--15 js-extension-overlay-show-email btn btn--primary">';
  14536.         x = (y = q.lp || (A && A.lp), v = {
  14537.             hash: {},
  14538.             data: z
  14539.         }, y ? y.call(A, "mobile promotion on desktop", "OK, got it!", v) : p.call(A, "lp", "mobile promotion on desktop", "OK, got it!", v));
  14540.         if (x || x === 0) {
  14541.             u += x
  14542.         }
  14543.         u += '</a></div><div class="js-extension-overlay-newsletter-form atb-extension-overlay__newsletter-form"><h1 class="atb-extension-overlay__headline">';
  14544.         x = (y = q.l || (A && A.l), v = {
  14545.             hash: {},
  14546.             data: z
  14547.         }, y ? y.call(A, "Congratulations!", v) : p.call(A, "l", "Congratulations!", v));
  14548.         if (x || x === 0) {
  14549.             u += x
  14550.         }
  14551.         u += '</h1><p class="atb-extension-overlay__text text--secondary tx--17">';
  14552.         x = (y = q.l || (A && A.l), v = {
  14553.             hash: {},
  14554.             data: z
  14555.         }, y ? y.call(A, "You're now searching with privacy. %sGet tips to reduce your footprint even more.", "<br/>", v) : p.call(A, "l", "You're now searching with privacy. %sGet tips to reduce your footprint even more.", "<br/>", v));
  14556.         if (x || x === 0) {
  14557.             u += x
  14558.         }
  14559.         u += '</p><form class="frm--newsletter frm--newsletter--dialog js-extension-overlay-submit tx--15" method="post" name="y"><input type="email" placeholder="';
  14560.         x = (y = q.lp || (A && A.lp), v = {
  14561.             hash: {},
  14562.             data: z
  14563.         }, y ? y.call(A, "email newsletter", "Enter your email address.", v) : p.call(A, "lp", "email newsletter", "Enter your email address.", v));
  14564.         if (x || x === 0) {
  14565.             u += x
  14566.         }
  14567.         u += '" class="frm__input frm--newsletter--dialog--email" name="email" required><input type="submit" value="';
  14568.         x = (y = q.lp || (A && A.lp), v = {
  14569.             hash: {},
  14570.             data: z
  14571.         }, y ? y.call(A, "email newsletter", "Subscribe", v) : p.call(A, "lp", "email newsletter", "Subscribe", v));
  14572.         if (x || x === 0) {
  14573.             u += x
  14574.         }
  14575.         u += '" class="frm__btn  btn  btn--primary frm--newsletter--dialog--submit"><input type="hidden" name="campaign" value="a"></form><p class="atb-extension-overlay__disclaimer text--secondary tx--15">';
  14576.         x = (y = q.lp || (A && A.lp), v = {
  14577.             hash: {},
  14578.             data: z
  14579.         }, y ? y.call(A, "newsletter email collection", "Your email address will not be shared, %sor associated with anonymous searches. [%sExample message%s]", "<br/>", '<a href="https://spreadprivacy.com/google-search-history-4bae7619407d" class="atb-extension-overlay__disclaimer__link" target="_blank">', "</a>", v) : p.call(A, "lp", "newsletter email collection", "Your email address will not be shared, %sor associated with anonymous searches. [%sExample message%s]", "<br/>", '<a href="https://spreadprivacy.com/google-search-history-4bae7619407d" class="atb-extension-overlay__disclaimer__link" target="_blank">', "</a>", v));
  14580.         if (x || x === 0) {
  14581.             u += x
  14582.         }
  14583.         u += '</p><p class="atb-extension-overlay__nope js-extension-overlay-close tx--15">';
  14584.         x = (y = q.lp || (A && A.lp), v = {
  14585.             hash: {},
  14586.             data: z
  14587.         }, y ? y.call(A, "new user poll", "No thanks.", v) : p.call(A, "lp", "new user poll", "No thanks.", v));
  14588.         if (x || x === 0) {
  14589.             u += x
  14590.         }
  14591.         u += "</p></div>";
  14592.         return u
  14593.     }
  14594.     r += '<div id="atb-extension-overlay" class="atb-extension-overlay atb-extension-overlay--';
  14595.     if (a = q.browserName) {
  14596.         h = a.call(s, {
  14597.             hash: {},
  14598.             data: t
  14599.         })
  14600.     } else {
  14601.         a = (s && s.browserName);
  14602.         h = typeof a === c ? a.call(s, {
  14603.             hash: {},
  14604.             data: t
  14605.         }) : a
  14606.     }
  14607.     r += b(h) + ' js-extension-overlay atb-extension-overlay--promote-mobile"><div class="atb-extension-overlay__nav js-extension-overlay-nav"><a class="atb-extension-overlay__nav-text tx--15 js-extension-overlay-search" data-search-link="header" href="https://duckduckgo.com"><span class="ddgsi ddgsi-loupe"></span> ';
  14608.     h = (a = q.l || (s && s.l), e = {
  14609.         hash: {},
  14610.         data: t
  14611.     }, a ? a.call(s, "Search", e) : p.call(s, "l", "Search", e));
  14612.     if (h || h === 0) {
  14613.         r += h
  14614.     }
  14615.     r += '</a><span class="ddgsi ddgsi-close-bold pull-right text--secondary js-extension-overlay-close tx--15"></span></div><div class="atb-extension-overlay__content  js-extension-overlay-content  ddg-extension-hide">';
  14616.     h = q["if"].call(s, (s && s.subTemplate), {
  14617.         hash: {},
  14618.         inverse: o.noop,
  14619.         fn: o.program(1, n, t),
  14620.         data: t
  14621.     });
  14622.     if (h || h === 0) {
  14623.         r += h
  14624.     }
  14625.     r += '</div><div id="atb-extension-overlay__success" class="atb-extension-overlay__success"><div class="js-poll-icon"><svg class="atb-extension-overlay__image" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="120px" height="120px" viewBox="0 0 140 140" style="enable-background:new 0 0 140 140;" xml:space="preserve"><defs><circle id="SVGID_1_" cx="70" cy="70" r="70"/></defs><use xlink:href="#SVGID_1_" style="overflow:visible;fill:#9ED8F7;"/><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" style="overflow:visible;"/></clipPath><g id="Summit" style="clip-path:url(#SVGID_2_);"><g><g><g><defs><path id="SVGID_3_" d="M166.8,166.4L166.8,166.4c0.3,0.2,0.4,0.5,0.3,0.8c-0.1,0.2-0.3,0.3-0.6,0.3l-179.8,0.2l22.8-16.5 c0.9-0.7,1.8-1.6,2.3-2.6c0.6-1.1,1.6-2.5,2.8-3.4c2.2-1.5,5.4-1.5,5.4-1.5s-3.3,0.9,0.1,0c3.4-0.9,9.1-4.3,9.1-4.3 s0.5-1.8,2.2-3.5c1.7-1.7,5.3-3.1,5.3-3.1l0.2-0.1l5.6-3.2c0,0-3,1.9,0.1-0.1c3.1-2,5.8-7.5,8.4-7.9c2.6-0.4,11,1.7,11,1.7 s1.8-1.4,3.6-1.6c1.9-0.2,1.8,1,1.8,1l1.2,0.7c0,0-7.7-1,0,0s10.2,5,13,6.5c2.9,1.4,5-0.5,7,0.3c1.2,0.5,2.1,1.4,2.6,2.6 c0.1,0.1,0.7,1.8,0.7,1.8c4.2,4.8,14.5,5.3,14,4.8h0.1l7.1,0.6c0,0-3.2,1,0.1,0c3.3-1,8,0.1,9.3,0.7c1.3,0.5,1.9,2.3,1.9,2.3 s-1.3-1.5,0.2,0.2c1.4,1.7,12.5,7,12.5,7c2.7,1.3,3.6,5.1,3.6,5.1L166.8,166.4z"/></defs><clipPath id="SVGID_4_"><use xlink:href="#SVGID_3_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_4_);"><rect x="-23" y="112.3" style="fill:#FFFFFF;" width="195.7" height="60.5"/><path style="fill:#C4E0FF;" d="M157.9,141.7L97,123.4l-7.5,2.9c-1.4-1.7-3.7-3.3-7.2-4.2c-2.8-0.8-16.9,0-19.6,1.6 c-6.4,4.1-4.5,3.7-6.3,5.2c-4.2,3.3-7.6-1.3-10.6,3c-2.1,3.1,1.6,3.2,4.9,4.2c3.3,1,2.7,4.9,5.7,4.6c3.9-0.3,8.6,3.5,12.8,2.2 c2.6-0.8,10,0.3,10.4,3.6c0.8,7.6,27.1,10.9,27.1,10.9l22.9,12.4l40.2-1.2L157.9,141.7z"/><path style="fill:#C4E0FF;" d="M48.7,140c-1.9,0.8-1.1,2.9-3.6,2.9s-4.4,3.4-0.5,3.4s9.6,0.3,8.3-2s-1.8-1.8-2.2-2.8 C50.1,139.7,49.3,139.8,48.7,140z"/><path style="fill:#C4E0FF;" d="M13,146.6c-1.9,3.3,1.3,0.9,3.8,0.9s3.8,1.4,1,4.2c-4.3,4.3-12.1,3-10.6-2.5 c0.7-2.6,3.2-3.4,3.6-4.5C11.6,142.9,12.4,146.4,13,146.6z"/></g></g></g></g><path style="opacity:0.3;fill:#07397A;enable-background:new;" d="M58.6,127.3c-3.6,5.1,7.4,4.6,11.5,8.3 c1,0.9,2.3,2.6,4.5,3.4s6.3-0.6,7.6,0.6c5.3,4.6-1.1,7.2,5.7,9.2c4.8,1.4,7.9,4.1,12.5,6.4c2.5,1.3,4.6,2.5,7.6,2.7 c3,0.2,11.2,1.9,16,4.1c9.4,4.2,27.6,1.6,37.5,2.2c-9.8-4.6-20.6-11.9-30.8-15c-3.5-1-6.4-0.3-10.3-1c-5-1-9-5.4-12.9-6.2 c-5.7-1.2-9.4,2.1-15.5-2c-3.7-2.5-6.8-7.2-10.6-10C74.7,124.8,66.4,118.5,58.6,127.3z"/></g><g id="Rucksack" style="clip-path:url(#SVGID_2_);"><path style="fill:#303C3D;" d="M122.4,52.2c0,0,0.6,4.1,2.8,6.3l-1.8,1.8c0,0-2.9-3.4-2.9-6.1L122.4,52.2z"/><g><g><g><defs><path id="SVGID_5_" d="M97.5,35.5c0,0-0.1-5.2,8.1-5.2s14.6,3.6,16,4.5c2.6,1.8,3.3,5.3,3.3,5.3s-0.5,4.1-1.1,11.6 c-1,13.6-4.6,31.8-8.4,39.4c-1.7,3.4-3,5-6,5.8c-0.6,0.2-6,0.9-6,0.9L85.7,85L97.5,35.5z"/></defs><clipPath id="SVGID_6_"><use xlink:href="#SVGID_5_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_6_);"><rect x="86.2" y="25.5" style="fill:#5D6063;" width="41.4" height="76.2"/><path style="fill:#4B4E52;" d="M117.4,35.3c0,0-2.4,28.5-5.1,40.1c-2.1,8.9-5,21.7-8.4,22.3c-3.4,0.6-26.3-11.3-26.3-11.3 l9.2-57.9C86.9,28.5,107.6,28.5,117.4,35.3z"/><path style="fill:#6F7478;" d="M125.2,52.2c0-0.3-0.9-16.7-8.2-12.5c0,0-1.5-5.6-21.1-4.1c-0.1,0,6.6-7.7,6.6-7.7l22.4,1.7 L125.2,52.2z"/><path style="fill:#3E474D;" d="M107,41.5c-1.4,9.6-4,12.9-4,12.9s4.2,0.5,6.8,6c2.6,5.5-7.9,30.4-7.9,30.4l-8-30.6l0.7-23.7 C94.5,36.5,108.4,32.7,107,41.5z"/></g></g></g></g></g><g id="Alpinist" style="clip-path:url(#SVGID_2_);"><g><g><g><defs><path id="SVGID_7_" d="M94.4,52.6c0,0-9.2,0.3-20.3-5.4S61.4,45.6,58.7,46s-9.3-1.5-9.3-1.5L49,52.2c0,0,4.7,1.3,9.1-0.1 c4.4-1.3,23.7,2.5,23.7,2.5l13.8,0.1L94.4,52.6z"/></defs><clipPath id="SVGID_8_"><use xlink:href="#SVGID_7_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_8_);"><rect x="47.3" y="39.5" transform="matrix(0.988 -0.1547 0.1547 0.988 -6.7573 11.795)" style="fill:#79A3C9;" width="50.2" height="19.7"/><path style="opacity:0.1;enable-background:new;" d="M72.4,44c0.4,0.3-2.8,9.8-2.8,9.8l28.7,3.3L96.4,51L72.4,44z"/><polygon style="opacity:0.1;enable-background:new;" points="63.4,42.6 61.4,53.6 55.3,53.8 56.8,44.1"/><polygon style="opacity:0.1;fill:#FFFFFF;enable-background:new;" points="64.4,42.2 62.6,53.8 66.1,53.2 67.9,42.7"/><path style="opacity:0.2;enable-background:new;" d="M85.6,49.5c-0.7,2.6,0.5,5,2.9,7.5c0,0,10.3,0.5,10.6,0.1 c0.3-0.4-2.4-6.4-2.4-6.4L85.6,49.5z"/><polygon style="opacity:0.1;fill:#FFFFFF;enable-background:new;" points="48.2,43.1 51.8,44.2 51.5,54.1 47.5,52.8"/></g></g></g></g><g><g><g><defs><path id="SVGID_9_" d="M91.9,52.8c0,0-6.5,0.6-11.5-0.7c-3.7-0.9-11.2-2.9-17.6-2.7c-6.4,0.2-6.8,3.9-11.8,5.9 c-3.3,1.2-6.8,2.1-10.3,2.7l2.8,4.8c3.1-0.5,6.2-1.5,9-2.9c4.3-2.3,7.1-6,11.1-5.3c13,2.1,28.1,3.4,28.5,2.8L91.9,52.8z"/></defs><clipPath id="SVGID_10_"><use xlink:href="#SVGID_9_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_10_);"><rect x="38.2" y="45" transform="matrix(0.9902 -0.14 0.14 0.9902 -7.026 9.9428)" style="fill:#79A3C9;" width="57.9" height="19.9"/><path style="opacity:0.1;enable-background:new;" d="M58,49.2l2.3,9.1c0,0-8,4.6-8.1,4.3c-0.1-0.4-2.5-8.7-2.5-8.7L58,49.2 z"/><path style="opacity:0.1;enable-background:new;" d="M76.9,50.3l0.1,8.4c0,0,16.9,1.3,17.1,1c0.3-0.3-0.7-8.2-0.7-8.2 L76.9,50.3z"/><polygon style="opacity:0.2;fill:#FFFFFF;enable-background:new;" points="60.8,48.4 62.2,57 65.6,56.6 64.5,48.4"/><path style="opacity:0.15;enable-background:new;" d="M84.9,51.9c-0.8,2.5-0.4,5,1,7.3l8.3,0.8l-0.5-8.9L84.9,51.9z"/></g></g></g></g><path style="fill:#3E4E4F;" d="M62.9,65c0,0-1.6,4.4-3.2,5.8s-3.4-5.3-3.4-6.1c0-0.8-1.5-5.2,1.1-7.2c1.9-1.5,3.5,3.7,4.5,6.3 C62,64.3,62.4,64.7,62.9,65z"/><path style="fill:#EB5C00;" d="M61.9,63.8c0,0,7.4,6.3,14.3,5.2c8.4-1.3,10-7.6,10.9-9.2c0.1-0.1,6.3-0.1,6.3,0l-6.3,8.9 c0,0-1.6,5.5-11,6.3S59,71,59,71C61.9,68.9,62.6,66.4,61.9,63.8z"/><g><g><g><defs><path id="SVGID_11_" d="M61.9,63.8c0,0,7.4,6.3,14.3,5.2c8.4-1.3,10-7.6,10.9-9.2c0.1-0.1,6.3-0.1,6.3,0l-6.3,8.9 c0,0-1.6,5.5-11,6.3S59,71,59,71C61.9,68.9,62.6,66.4,61.9,63.8z"/></defs><clipPath id="SVGID_12_"><use xlink:href="#SVGID_11_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_12_);"><rect x="55.9" y="54" style="fill:#EB5C00;" width="40.6" height="23"/><path style="fill:#C74E00;" d="M59.8,66.9c0,0,7.9,6.1,17.6,5.4c9.8-0.8,14.4-6.8,16-7.7l-1.3,10.2l-35.3,3.4L59.8,66.9z"/><path style="fill:#FFB663;" d="M93.4,57.9c0,0-9.7,12-19.2,11.3l18.5-12L93.4,57.9z"/></g></g></g></g><path style="opacity:0.3;fill:#0C3D5E;enable-background:new;" d="M60,59l-1.8,0.5l0.6,6.7c0.6-0.3,1.2-0.3,1.8,0L60,59z"/><g><g><g><defs><path id="SVGID_13_" d="M61,55.5c0,0,1.5-1.4,1.3-2.4c-0.3-1-1.3-1.7-2.3-0.8S59,54,59,54S59.3,55.7,61,55.5z"/></defs><clipPath id="SVGID_14_"><use xlink:href="#SVGID_13_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_14_);"><rect x="58" y="51.8" transform="matrix(0.9668 -0.2554 0.2554 0.9668 -11.85 17.3735)" style="fill:#3E4E4F;" width="5.9" height="5.1"/><path style="fill:#5E7578;" d="M60.9,55.8c0.4-0.6,0.6-1.2,0.6-1.9c-0.1-1-1.3-1.9-1.3-1.9l2.4-1l1.7,3.2l-2.9,2.3L60.9,55.8z" /></g></g></g></g><path style="fill:#7D5B47;" d="M64.6,127.2c-0.5,0-0.8-0.3-0.9-0.8L55.3,23.6c0-0.5,0.3-0.9,0.8-1c0.5,0,0.9,0.3,1,0.8l8.4,102.8 c0.1,0.5-0.3,0.9-0.8,1H64.6L64.6,127.2z"/><path style="fill:#473429;" d="M60.3,62l-1.8,0.2l0.3,3c0.3-0.2,1.2-0.7,1.7-0.6L60.3,62z"/><path style="fill:#473429;" d="M57.1,23.5c0-0.5-0.4-0.8-0.9-0.8c-0.2,0-0.3,0.1-0.4,0.1c0.3,0.2,0.4,0.4,0.4,0.7l8.4,102.8 c0,0.3-0.1,0.7-0.4,0.8c0.2,0.1,0.3,0.1,0.5,0.1h0.1c0.5,0,0.8-0.4,0.8-0.9v0L57.1,23.5z"/><g><g><g><defs><path id="SVGID_15_" d="M58.8,54.3c2.4,0,3.4,1.5,3.6,2.4c0.2,0.8,0.8,3.5,0.1,5.3c-0.2,0.4-0.6,0.7-1.1,0.6l-0.7-0.1 c-0.4-0.1-1.1-0.3-1.5-0.1s-1.3,1-1.6,2c-0.3,1,0.2,4.3,0.6,5.2c0.2,0.4,0.4,0.8,0.7,1.2c-0.7,1.3-4.4-8-3.1-13 C56.6,55.1,58.2,54.3,58.8,54.3z"/></defs><clipPath id="SVGID_16_"><use xlink:href="#SVGID_15_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_16_);"><rect x="52.7" y="51.7" style="fill:#5E7578;" width="12.7" height="20.3"/><path style="fill:#7A9A9C;" d="M58.8,54.1c0,0-2.9,1.9-2.6,6.5c0.2,3.2-0.6,7.1-0.6,7.1l-1.8,2.1l-1.9-13.3L58.8,54.1z"/><path style="fill:#3E4E4F;" d="M58.9,53.6c1.6,3,1.2,7,0.5,8.9c0,0,3.8,1.8,3.8,1.5c0-0.3,0.2-8.5,0.2-8.5L58.9,53.6z"/><g style="opacity:0.6;"><path style="fill:#222A2B;" d="M57.9,60.9l0.2-0.2c0.2-0.2,0.3-0.3,0.5-0.4L59,60l0.3-0.1h0.8l0.6,0.2c0.4,0.1,0.7,0.3,1,0.6 c0.3,0.2,0.4,0.5,0.6,0.8c0.1,0.2,0.2,0.4,0.3,0.6l0.1,0.3c0,0.1-0.1,0.1-0.2,0.1c0,0-0.1,0-0.1,0l-0.1-0.2 c-0.1-0.2-0.2-0.4-0.3-0.6c-0.2-0.3-0.3-0.5-0.6-0.7c-0.3-0.3-0.6-0.4-0.9-0.6l-0.5-0.2h-0.5l-0.5,0.1l-0.4,0.2 c-0.2,0.1-0.4,0.2-0.5,0.3L57.9,60.9L57.9,60.9C57.9,60.9,57.9,60.9,57.9,60.9C57.9,60.9,57.9,60.9,57.9,60.9L57.9,60.9z"/></g><g style="opacity:0.6;"><path style="fill:#222A2B;" d="M58.2,58.7l0.2-0.2c0.2-0.2,0.4-0.3,0.6-0.4l0.4-0.2l0.3-0.1h0.8l0.6,0.2 c0.4,0.1,0.7,0.3,1,0.6c0.3,0.2,0.5,0.5,0.6,0.8c0.1,0.2,0.2,0.4,0.3,0.7l0.1,0.3c0,0.1-0.1,0.1-0.2,0.1c0,0-0.1,0-0.1,0 l-0.1-0.3c-0.1-0.2-0.2-0.4-0.3-0.6c-0.2-0.3-0.3-0.5-0.6-0.7c-0.3-0.3-0.6-0.4-0.9-0.6l-0.5-0.1h-1L59,58.3 c-0.2,0.1-0.4,0.2-0.6,0.3L58.2,58.7L58.2,58.7C58.2,58.8,58.2,58.8,58.2,58.7C58.2,58.7,58.2,58.7,58.2,58.7z"/></g><g style="opacity:0.6;"><path style="fill:#222A2B;" d="M58.4,56.6l0.2-0.2c0.2-0.1,0.4-0.2,0.6-0.3c0.3-0.1,0.7-0.1,1-0.1l0.6,0.1l0.6,0.2 c0.4,0.1,0.7,0.3,1,0.6c0.3,0.2,0.4,0.5,0.6,0.8c0.1,0.2,0.2,0.4,0.3,0.6l0.1,0.3c0,0.1-0.1,0.1-0.2,0.1c0,0-0.1,0-0.1,0 l-0.1-0.2c-0.1-0.2-0.2-0.4-0.3-0.6c-0.2-0.3-0.3-0.5-0.6-0.7c-0.3-0.3-0.6-0.4-0.9-0.6l-0.5-0.2l-0.5-0.1h-0.5l-0.4,0.1 c-0.2,0.1-0.4,0.1-0.6,0.2L58.4,56.6L58.4,56.6C58.3,56.7,58.3,56.7,58.4,56.6C58.3,56.6,58.4,56.6,58.4,56.6L58.4,56.6z"/></g></g></g></g></g><g><g><g><defs><path id="SVGID_17_" d="M57.3,26.2c0,0-11.8-3.4-19.5-0.2s-11.7,6.4-19,7.1l1.9,23.3c0,0,13.6-1.3,20.1-5.7 c7.3-4.9,18.4-2.5,18.4-2.5L57.3,26.2z"/></defs><clipPath id="SVGID_18_"><use xlink:href="#SVGID_17_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_18_);"><rect x="13" y="17.1" style="fill:#EB5C00;" width="49.5" height="43.5"/><polygon style="fill:#DB5600;" points="46.5,23.7 49,49.5 62.2,48.6 60.3,25.8 53.8,24"/><polygon style="fill:#DB5600;" points="9.4,32.1 11.9,58 25.1,57.1 22.8,30.5 16.7,32.5"/><polygon style="fill:#C44D00;" points="56.4,25.1 58.3,49 60.6,49 58.3,25.1"/></g></g></g></g><path style="fill:#B53C00;" d="M83.9,86.6c0,0,4.8,8.2,10.8,10.5c6,2.3,8.9,2,8.9,2S97.7,85.7,83.9,86.6z"/><g><g><g><defs><path id="SVGID_19_" d="M97.2,148.9c0.3,3.9,1.7,6.8,5,6.6s4.4-3,4.5-6.9c0.1-3.9-2-8.2-2.5-8.7l-6.5,1.6 C97.2,143.9,97,146.4,97.2,148.9z"/></defs><clipPath id="SVGID_20_"><use xlink:href="#SVGID_19_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_20_);"><rect x="95.8" y="139.1" style="fill:#5A7073;" width="12.1" height="17.4"/><path style="fill:#48595C;" d="M100.7,139.5c0,0-1.9,15.5,2.4,16.3c0,0,7.3,0.5,3.1-16.2L100.7,139.5z"/></g></g></g></g><g><g><g><defs><path id="SVGID_21_" d="M98.2,141.3c-0.1-0.1-0.4,7.1,0.5,10.3s2.7,3,3.7,2.9c1.1-0.1,3.2-1.6,3.2-5s-0.9-8.2-1.4-8.9 L98.2,141.3z"/></defs><clipPath id="SVGID_22_"><use xlink:href="#SVGID_21_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_22_);"><rect x="96.8" y="137.4" style="fill:#303C3D;" width="9.9" height="18.4"/><path style="fill:#4C5F61;" d="M98.8,140.4c0,0-0.8,6.7,0.1,10.2c0.9,3.4,1.9,3.4,2.9,3.4s4-3.8-1.3-3.8 C99.6,150.1,99.5,142.8,98.8,140.4z"/></g></g></g></g><g><g><g><defs><path id="SVGID_23_" d="M95.8,134.3l1.3,8.5c0,0,1.3,1.2,4.1,1c2.8-0.3,3.9-1.3,4.1-1.9c0.3-0.6-0.9-9-0.9-9L95.8,134.3z"/></defs><clipPath id="SVGID_24_"><use xlink:href="#SVGID_23_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_24_);"><rect x="93.7" y="131.7" style="fill:#5E7578;" width="14.4" height="14.4"/><path style="fill:#506566;" d="M98.7,132.4l1.9,14.7c0,0,7.9-3,7.9-3.3s-1.7-12-1.7-12L98.7,132.4z"/></g></g></g></g><g><g><g><defs><path id="SVGID_25_" d="M93.1,88.1c-0.6,0-16.9-4-21.6,2c-5.2,6.6-4.6,20.1-3.6,21.9s0.6,2.3,0.6,2.3s4.1,1.3,7.7,0 c1.3-0.5,1.4-3,1.3-5.7c-0.1-3.9-1.4-9.2,0.5-11.8c4.4-6.1,16,1.1,21.2,1.1L93.1,88.1z"/></defs><clipPath id="SVGID_26_"><use xlink:href="#SVGID_25_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_26_);"><rect x="65.5" y="83.6" style="fill:#3A70A3;" width="35" height="37"/><path style="fill:#22507D;" d="M96.6,90.2c0,0-16.6-2.4-20.8,2.9c-4.2,5.3-2.2,13.4-2.2,14.8c0,1.4,1.2,4.6-3.2,5.5 c-1.8,0.4-2.2-0.7-2.2-0.7l-1,5.9l12.5-2.8L88,98.7l14.1-5.2L96.6,90.2z"/><path style="fill:#72A0CC;" d="M83.2,86.7c0-0.1-5.4-0.3-9.2,2.7c-3.8,3-5.6,11-5.5,21c0,1.1-0.8,2.2-1.1,1 C66.5,108,60.6,82.4,83.2,86.7z"/><path style="fill:#22507D;" d="M83.9,86.7c0,0,6.8,1.4,8.6,7c0,0,0.2-5.6,0-6.7C92.2,85.9,86.2,86.1,83.9,86.7z"/></g></g></g></g><g><g><g><defs><path id="SVGID_27_" d="M92.2,87.9c0,0,0.3,9.2,1.1,19.9c0.8,10.2,1.4,20.7,1.4,20.7c-0.3,1.2-0.4,2.4-0.4,3.5 c0,1.9,1.8,5.3,5.7,4.7c3.9-0.7,4.5-1.9,4.5-1.9s0.7-1.3,0.7-3.8c0-2.4-1.3-6.2-1.3-7.8c0-1.5-0.8-28.1-1.3-29.8L92.2,87.9z"/></defs><clipPath id="SVGID_28_"><use xlink:href="#SVGID_27_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_28_);"><rect x="90.1" y="83.3" style="fill:#3A70A3;" width="18.7" height="57.3"/><path style="fill:#22507D;" d="M98.7,88.6l0.4,9.2l1.4,29.4c0,0,2.7,2.9,2.7,5.1c0,2.1-2.9,3.5-5.9,3.5c-3,0-6-1.8-6-1.8 l6.6,5.9l8.5-3.9l-1.8-45.5L98.7,88.6z"/></g></g></g></g><g><g><g><defs><path id="SVGID_29_" d="M106.6,60c-2.7,12.1-3.6,25-3,39.1c-6.6-9.2-17.1-12.5-19.7-12.5c-2.8-9.4,0.8-21.4,1.6-24.8 c0.4-2,1.9-3.5,3.8-4.1L106.6,60z"/></defs><clipPath id="SVGID_30_"><use xlink:href="#SVGID_29_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_30_);"><rect x="81.6" y="51.4" style="fill:#EB5C00;" width="23.8" height="47.3"/><path style="fill:#C74E00;" d="M96.8,57c0,0-8,17.2-4,33.4s13.3,13.6,13.3,13.6l1.9-46.5L96.8,57z"/><path style="fill:#FFAE57;" d="M92.4,57.8c0,0-6.7,10-7.5,15.6c-0.8,5.6-1,12.4-0.2,15.5L78.9,87l4.4-30.8L92.4,57.8z"/></g></g></g></g><g><g><g><defs><path id="SVGID_31_" d="M105.2,59.8c0,0,20.6,3.8,18.5,15.3c-2.1,11.5-19.5,15.5-19.5,15.5l-0.8-6c0,0,12.6-3.3,13.5-8.7 c1.3-7.8-12.9-9.8-12.9-9.8L105.2,59.8z"/></defs><clipPath id="SVGID_32_"><use xlink:href="#SVGID_31_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_32_);"><rect x="98.4" y="55.4" style="fill:#EB5C00;" width="28.4" height="37.8"/><path style="fill:#C74E00;" d="M103.7,63.3c3.5,0.6,6.9,1.8,10,3.6c4.9,2.8,4.4,8.2,2.8,9.7c-1.6,1.6-14.7-6.7-14.7-6.7 L103.7,63.3z"/><path style="fill:#E67A00;" d="M101.9,87.3c0.5-0.5,15.2-2.2,19.8-10c2.4-4.1,1.5-6.9,1.5-9.3c0,0,3.3,10.5-0.4,14.2 s-21.7,11.2-21.7,11.2L101.9,87.3z"/></g></g></g></g><g><g><g><defs><path id="SVGID_33_" d="M110.1,57.9c0,0-0.1,0.5-0.2,0.5c-1.1,0.5-5.1,1-5.6,5.2c-0.6,4.8,2.5,10.6,3.8,12.1 c0,0.2,0.1,0.3,0.1,0.5l-3.1,2.3c0,0-5.8-5.9-5.8-13.1s5.8-8.3,5.8-8.3L110.1,57.9z"/></defs><clipPath id="SVGID_34_"><use xlink:href="#SVGID_33_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_34_);"><rect x="97.5" y="56.1" style="fill:#303C3D;" width="14.6" height="23.6"/><path style="fill:#263030;" d="M105.4,65.3c0,0-3.7-1.3-6.7,2.7c0,0,4.8,10.9,6.3,12.4l5.2-4.5L105.4,65.3z"/></g></g></g></g><path style="fill:#303C3D;" d="M91.3,57.7c0,0-7.1,9.7-8.4,18.8c0.2-2.7,0.5-5.4,1-8c0,0,3.7-10.3,4.5-10.5 C89.1,57.7,91.3,57.7,91.3,57.7z"/><g><g><g><defs><path id="SVGID_35_" d="M89.6,57.5l-3.2,0.9c0,0-1.4,0.3-0.2,1.5c1.2,1.2,6.2,4.8,6.6,5.8c0.4,0.9,0.7,1.7,0.6,2.3 c-0.2,0.6,4.1-7.3,4.1-7.3L89.6,57.5z"/></defs><clipPath id="SVGID_36_"><use xlink:href="#SVGID_35_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_36_);"><rect x="84.1" y="55.4" style="fill:#EB5C00;" width="14.3" height="13.9"/><path style="fill:#FFB663;" d="M88.1,57.8c0,0-1.9,0.6-1.6,1.5s4.9,4.5,5.6,5.2c0.8,0.8,1.3,2,1.3,3.1c0,1.3-9.3-7.6-9.3-7.6 S85.5,57.5,88.1,57.8z"/></g></g></g></g><path style="fill:#E67A00;" d="M91.8,56.3h-4.4c0,0-2.1-0.2-0.8,1.1c1.3,1.3,5.7,6,6.2,6.9c0.5,0.9,1.2,2,0.5,3.5 c-0.7,1.6,4-7.3,4.1-7.3L91.8,56.3z"/><g><g><g><defs><path id="SVGID_37_" d="M91.8,56.3h-4.4c0,0-2.1-0.2-0.8,1.1c1.3,1.3,5.7,6,6.2,6.9c0.5,0.9,1.2,2,0.5,3.5 c-0.7,1.6,4-7.3,4.1-7.3L91.8,56.3z"/></defs><clipPath id="SVGID_38_"><use xlink:href="#SVGID_37_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_38_);"><rect x="85.1" y="54.6" style="fill:#EB5C00;" width="12.7" height="13.3"/><path style="fill:#FFB663;" d="M89.7,56.5c0,0-2.8-0.4-2.5,0.5c0.3,0.9,7.8,7.9,6.5,10.3c0,0-8.7-10.6-8.9-10.7 c-0.2-0.1,3.6-1.3,3.6-1.2C88.4,55.6,89.7,56.5,89.7,56.5z"/></g></g></g></g><g><g><g><defs><path id="SVGID_39_" d="M90.7,44.8l-2-0.3c-0.3,0-0.4-0.3-0.4-0.5v0c0.3-1.5,1.2-6.5,2.4-8.9c1.5-3,4.2-5.7,8.9-4.7 c4.7,1,5.9,6.7,5.9,8.2c0,1.5-2.5,7.2-3.9,10.4c-1.3,3.2-1.3,5-1.3,5s-5.2,1-5.2,0.6c0-0.4,0.4-2.2,0.4-2.2S89,52.3,90.7,44.8z"/></defs><clipPath id="SVGID_40_"><use xlink:href="#SVGID_39_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_40_);"><rect x="87.3" y="26.2" style="fill:#9E552F;" width="20.9" height="32.9"/><path style="fill:#854521;" d="M101.3,29.4c0,0,2.1,6.3-1.6,17.1c-1.4,4.2-4.2,5.7-4.2,5.7l-0.2,3.9l5.7,0.1l7.9-16.6 l-1.9-10.8L101.3,29.4z"/><path style="fill:#CF8B68;" d="M93.9,30.8c0,0-3.8,6.4-4.6,13.4c-0.1,1,2.3,0.4,2.3,0.7s-1.6,3.7,0.7,6.9c0,0-7.2-1.7-7.3-1.8 c-0.1-0.1,3.7-18,3.7-18L93.9,30.8z"/><path style="opacity:0.3;fill:#0C3D5E;enable-background:new;" d="M90,46.3c0,0,0.7-1.3,3.4-1.9c2.7-0.6,4.8,1.9,6.6,1.9 s1.9-3.4,2-4.9c0.1-1.5,0.5-2.9,1.9-3.7s3,3.5,3,3.5s-2.4-2.6-3.3-1.3c-0.9,1.3,0.5,6.1-2.3,9.5c-1.5,1.6-3.5,2.7-5.6,3 c-1.9,0.3-4.4-0.1-4.4-0.1s-1.6-3.9-1.8-4.1C89.2,47.9,90,46.3,90,46.3z"/></g></g></g></g><path style="fill:#2A3636;" d="M103.7,82.6c-0.2-0.2-2.5-3.3-2.9-4.5c-0.4-1.2-1.6,0.7-1.6,1.4s0.5,3.9,1.1,4.2 C100.9,84.1,103.7,82.6,103.7,82.6z"/><g><g><g><defs><path id="SVGID_41_" d="M104.5,92.1c0,0-2.9-4.5-3.7-5c-0.8-0.5-2.8,0.2-3.7,0.7s-2.7,1.2-3.4,0.7c-0.7-0.5-1.6-2.8-0.4-3.9 c1.2-1.2,2.1-2.1,3.4-2.8c2.1-1.2,3.5-1,4.6-0.6c1.1,0.4,4,1.8,4,1.8S109.2,87.7,104.5,92.1z"/></defs><clipPath id="SVGID_42_"><use xlink:href="#SVGID_41_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_42_);"><rect x="89.7" y="77.7" style="fill:#303C3D;" width="18.6" height="16.7"/><path style="fill:#405152;" d="M96.4,80.5c-1,1.5-1.3,3.4-1,5.1c0.7,2.9,4.4,3.4,4.4,3.4l-7.2,2.5l-2.5-8.7L96.4,80.5z"/><path style="fill:#2A3636;" d="M98.9,76.5c0,0,5.5,7.1,2.2,10.9c-4.6,5.3,5.7,6.6,5.7,6.6l2.4-9.5L98.9,76.5z"/><g style="opacity:0.6;"><path d="M92.5,86.7c0.3-0.4,0.5-0.7,0.8-1.1c0.7-0.7,1.4-1.4,2.2-2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2c0.4-0.2,0.9-0.3,1.3-0.3 l1-0.1h0.4c0,0,0.1,0,0.1,0.1l0,0l-0.1,0.1h-0.4l-0.9,0.1l-0.6,0.2L97,83l-0.7,0.3l-0.3,0.2l-0.3,0.2c-0.8,0.6-1.5,1.3-2.2,2 l-0.6,0.7l-0.2,0.3c0,0-0.1,0.1-0.2,0C92.5,86.8,92.5,86.7,92.5,86.7z"/></g><g style="opacity:0.6;"><path d="M92.7,87.9c0.3-0.4,0.5-0.7,0.8-1.1c0.7-0.8,1.4-1.4,2.2-1.9l0.7-0.4l0.7-0.3c0.4-0.2,0.8-0.3,1.3-0.4 c0.4-0.1,0.9-0.2,1.3-0.2l0.1,0.1l-0.1,0.1c-0.4,0.1-0.9,0.2-1.3,0.3c-0.4,0.1-0.8,0.3-1.3,0.4l-0.7,0.3l-0.7,0.4 c-0.8,0.5-1.5,1.2-2.1,1.9c-0.3,0.3-0.6,0.7-0.8,1c0,0-0.1,0.1-0.2,0C92.7,88,92.7,87.9,92.7,87.9L92.7,87.9z"/></g><g style="opacity:0.6;"><path d="M93.3,89c0.2-0.4,0.4-0.8,0.7-1.1c0.3-0.3,0.6-0.7,0.9-1l0.6-0.5l0.7-0.4l0.7-0.3l0.7-0.3l1.3-0.3 c0.4-0.1,0.8-0.2,1.3-0.2l0.1,0.1c0,0,0,0.1,0,0.1l-1.3,0.3c-0.9,0.2-1.8,0.5-2.6,1l-0.6,0.4L95,87.1c-0.5,0.5-1,1.1-1.4,1.7 l-0.2,0.3c-0.1,0-0.1,0-0.2,0C93.3,89.1,93.3,89.1,93.3,89L93.3,89z"/></g></g></g></g></g><g><g><g><defs><path id="SVGID_43_" d="M90,57c-0.3-0.1,4.2,4.3,4,9.1c0,0,2.1-4.2,3.5-5.6c1.3-1.2,2.7-2.4,4.2-3.5C101.6,57,92,57.7,90,57z" /></defs><clipPath id="SVGID_44_"><use xlink:href="#SVGID_43_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_44_);"><rect x="88.3" y="55.3" style="fill:#79A3C9;" width="13.8" height="12"/><path style="opacity:0.1;enable-background:new;" d="M101.2,58.1l-7.7,1.7c0,0,1.3,1.1,0.6,7c0,0-6.7-2.3-6.6-2.4 c0.1,0,1.8-7.9,1.8-7.9l13.5-0.4L101.2,58.1z"/></g></g></g></g><ellipse cx="90.6" cy="38.2" rx="0.3" ry="0.8"/><g><g><g><defs><path id="SVGID_45_" d="M90.9,34.7c0,0,4.7-1.8,9.7,1.4c3.3,2.1,4.1,5.9,4.1,5.9s3.8-9-2.3-12.1C99.4,28.3,93.3,28.8,90.9,34.7 z"/></defs><clipPath id="SVGID_46_"><use xlink:href="#SVGID_45_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_46_);"><rect x="90.1" y="27.3" style="fill:#5E7578;" width="17.1" height="15.7"/><path style="fill:#465859;" d="M101.1,29.3c0.6,1.4,1,8.1,0,11.5c0,0.1,4,2.9,4,2.8c0-0.1,2.5-11.5,2.5-11.5L101.1,29.3z"/></g></g></g></g><ellipse cx="95.9" cy="38.5" rx="0.5" ry="1"/><path d="M94.4,47.8h0.6l0.6-0.1l0.6-0.2l0.3-0.1l0.3-0.1l0.3-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.1-0.1l0,0c0,0,0.1,0,0.1,0 c0,0,0,0.1,0,0.1L97.7,47l-0.1,0.2l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.3,0.2L96.2,48c-0.2,0.1-0.5,0.1-0.7,0.1h-0.6 c-0.2,0-0.4-0.1-0.6-0.2c0,0-0.1-0.1,0-0.1l0,0L94.4,47.8z"/><path style="fill:#303C3D;" d="M58.7,128.8l18.7-3.1l-0.1,1.5c0,0-0.5,1.7-2,2.2s-4.3,0.3-5.3,0.5c-1.1,0.2-3.4,1-4.9,1.4 c-4.2,0.9-6.1-0.6-6.3-1.1L58.7,128.8z"/><path style="fill:#48595C;" d="M59.4,127.7c0,0-0.9,0.5-0.6,1.3c0.3,0.8,2.1,1.7,4.8,1.3s5.4-1.5,6.6-1.6c1.2-0.1,3.1,0.1,4.7-0.5 c1.6-0.6,2.2-1.6,2.4-2.4c0.2-0.8-1.1-1.4-1.1-1.4L59.4,127.7z"/><path style="fill:#5A7073;" d="M60.2,129.2c-0.3-0.8,0.6-1.3,0.6-1.3l16.1-3.1c-0.2-0.2-0.4-0.3-0.6-0.4l-16.9,3.3 c0,0-0.9,0.5-0.6,1.3c0.3,0.8,1.4,1.3,3.2,1.4C61.1,130.2,60.5,129.7,60.2,129.2z"/><g><g><g><defs><path id="SVGID_47_" d="M69.3,120.5c0,0,0.6,2.7-5.1,4c-5.1,1.2-5.3,3.7-4.6,4.4c0.7,0.7,2.6,1.7,6.9,0.4c3.1-1,3.7-1,3.7-1 s3,0.2,4.6-0.6c2.1-1,2.2-2.9,1.7-4.2c-0.5-1.2-1.3-2-1.3-3.2"/></defs><clipPath id="SVGID_48_"><use xlink:href="#SVGID_47_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_48_);"><rect x="58.6" y="119" style="fill:#303C3D;" width="20.4" height="13.2"/><path style="fill:#60787A;" d="M68.8,121.3c0,0,0.3,1.8-1.7,2.9c-1.9,1.1-5.9,1.8-4.4,2.7c1.5,0.9,1.2,1.6-0.2,1.6 c-2.2,0-3.2-0.5-3.1-1.2c0.1-0.6,4.5-5.7,4.5-5.7l4.7-0.3"/></g></g></g></g><path d="M90.8,35.6c0-0.1,0.1-0.2,0.2-0.2l0.2-0.2l0.3-0.1c0.2-0.1,0.3-0.1,0.5-0.1h0.3c0,0,0.1,0,0.1,0.1v0l-0.1,0.1l-0.2,0.1 l-0.5,0.1l-0.5,0.2L90.8,35.6L90.8,35.6C90.8,35.6,90.8,35.6,90.8,35.6z"/><path d="M98.6,36.6c-0.1-0.2-0.2-0.3-0.3-0.4L98,35.8c-0.2-0.2-0.3-0.3-0.5-0.4l-0.3-0.2l-0.3-0.1L96.6,35l-0.3-0.1h-0.5 c0,0-0.1,0-0.1-0.1l0,0l0.1-0.1h0.8l0.3,0.1l0.3,0.1l0.3,0.2c0.3,0.2,0.7,0.5,0.9,0.9c0.1,0.1,0.1,0.3,0.2,0.4L98.6,36.6L98.6,36.6 C98.7,36.6,98.7,36.7,98.6,36.6L98.6,36.6z"/><path style="fill:#303C3D;" d="M91.1,34.2c3.2-1.3,10.2-0.9,14.3,5.1l0.3-1.3c-1.9-3.9-8.2-7.1-14-5.2L91.1,34.2z"/><path style="fill:#9E4212;" d="M103.5,43.8c1.2,0.1,1.8-1.8,1.8-3.1s-1.4-1.4-1.7-0.9s0.3,1.1,0,1.9S103.2,43.8,103.5,43.8z"/><path style="fill:#717F87;" d="M90.2,32.9l0.3,0.8v0.1l0,0c0.3,0.5,1.4,0.5,2.5,0c1.1-0.5,1.8-1.2,1.8-1.7L94.4,31L90.2,32.9z"/><path style="fill:#717F87;" d="M96.1,31.5l-0.3,1.2c0,0.6,0.9,1.2,2.2,1.5s2.4,0.1,2.6-0.4l0,0v-0.1l0.2-0.9L96.1,31.5z"/><ellipse transform="matrix(0.9225 -0.3859 0.3859 0.9225 -5.3232 38.0997)" style="fill:#E3EEFF;" cx="92.2" cy="32.3" rx="2.3" ry="1"/><ellipse transform="matrix(0.2368 -0.9716 0.9716 0.2368 43.818 119.9818)" style="fill:#C7DEFF;" cx="98.3" cy="32.1" rx="1.1" ry="2.5"/><path style="fill:#D47200;" d="M103.7,56.9c-4.2,0.4-9.1,7.4-10.2,10.9c2.9-3.5,9.9-7.4,10.4-7.6c0.5-0.2,0.8-0.5,0.4-1.2 S103.7,56.9,103.7,56.9z"/><g><g><g><defs><path id="SVGID_49_" d="M102.6,56.3c-3.9,0.3-8.5,8.4-8.9,10.8c2.5-4,8.3-7,9.1-7.4c0.8-0.4,0.8-0.5,0.4-1.2 C102.7,57.7,102.6,56.3,102.6,56.3z"/></defs><clipPath id="SVGID_50_"><use xlink:href="#SVGID_49_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_50_);"><rect x="93.4" y="55.1" style="fill:#EB5C00;" width="11" height="12"/><path style="opacity:0.46;fill:#FFB663;enable-background:new;" d="M102.8,57.2c0.3,0.4-0.4,1.8-3.6,4.2 c-1.4,1-3.1,1.8-4.9,4.9l10-6.5L102.8,57.2z"/></g></g></g></g><ellipse style="fill:#85380D;" cx="103.8" cy="41.5" rx="0.6" ry="0.7"/><g><g><g><defs><path id="SVGID_51_" d="M68.5,114v7.7c0,0,0.3,0.6,4,0.6s3.7-1,3.7-1v-7C76.2,114.3,71.6,115.8,68.5,114z"/></defs><clipPath id="SVGID_52_"><use xlink:href="#SVGID_51_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_52_);"><rect x="66" y="111.1" style="fill:#5E7578;" width="14.2" height="14.2"/><path style="fill:#506566;" d="M72.7,113.6l0.1,10.4c0,0,5.7-0.7,5.5-0.9c-0.2-0.2-0.2-10.5-0.2-10.5L72.7,113.6z"/></g></g></g></g><g><g><g><defs><path id="SVGID_53_" d="M92.1,52.7c0,0,3.5,0.5,6.3,0.3c1.3-0.1,2.6-0.3,3.9-0.6c0.9,0.3,1.4,1.5,1.3,2.6c0.1,1-0.5,2-1.4,2.5 c0,0-7.2,2.2-11.7,0.3C88,56.6,89.3,52.5,92.1,52.7z"/></defs><clipPath id="SVGID_54_"><use xlink:href="#SVGID_53_" style="overflow:visible;"/></clipPath><g style="clip-path:url(#SVGID_54_);"><rect x="87.9" y="50.8" style="fill:#79A3C9;" width="19.3" height="9.8"/><path style="opacity:0.8;fill:#DEF4FF;enable-background:new;" d="M94.2,52.8c0,0-3.4,0.3-3.6,2.8 c-0.1,2.5,1.8,3.1,1.3,2.8c0,0-5-0.5-4.5-2.6C87.9,53.6,90.6,51.3,94.2,52.8z"/><path style="opacity:0.1;enable-background:new;" d="M97.3,52.2c0,0,4.2,1.6,0,7.1l9.4-0.8l-1.1-7.5L97.3,52.2z"/></g></g></g></g><path style="opacity:0.3;fill:none;stroke:#000000;stroke-width:1.42;stroke-linecap:round;stroke-miterlimit:10;enable-background:new;" d=" M91.2,67.5c0,0-1.5,2.9-1.5,5.2"/><polygon style="fill:#668082;" points="89.6,73 89.2,74.9 90.1,74.9 89.9,73"/></g></svg></div><div class="atb-extension-overlay__fade-out js-extension-overlay-fade-out">';
  14626.     h = q["if"].call(s, ((h = (s && s.onBoardingTest)), h == null || h === false ? h : h.hideEmailForm), {
  14627.         hash: {},
  14628.         inverse: o.program(8, g, t),
  14629.         fn: o.program(3, m, t),
  14630.         data: t
  14631.     });
  14632.     if (h || h === 0) {
  14633.         r += h
  14634.     }
  14635.     r += '</div><div class="atb-extension-overlay__success-message js-extension-overlay-submit"><p class="atb-extension-overlay__thanks tx--19 tx-clr--lt2">';
  14636.     h = (a = q.lp || (s && s.lp), e = {
  14637.         hash: {},
  14638.         data: t
  14639.     }, a ? a.call(s, "homepage onboarding", "Thank you.", e) : p.call(s, "lp", "homepage onboarding", "Thank you.", e));
  14640.     if (h || h === 0) {
  14641.         r += h
  14642.     }
  14643.     r += "<br>";
  14644.     h = (a = q.lp || (s && s.lp), e = {
  14645.         hash: {},
  14646.         data: t
  14647.     }, a ? a.call(s, "homepage onboarding", "Welcome to the Duck Side!", e) : p.call(s, "lp", "homepage onboarding", "Welcome to the Duck Side!", e));
  14648.     if (h || h === 0) {
  14649.         r += h
  14650.     }
  14651.     r += '</p><div class="atb-extension-overlay__lower-loupe"><a class="atb-extension-overlay__nav-text tx--15 js-extension-overlay-search" data-search-link="start-link" href="https://duckduckgo.com"><span class="ddgsi ddgsi-loupe"></span> ';
  14652.     h = (a = q.l || (s && s.l), e = {
  14653.         hash: {},
  14654.         data: t
  14655.     }, a ? a.call(s, "Start searching!", e) : p.call(s, "l", "Start searching!", e));
  14656.     if (h || h === 0) {
  14657.         r += h
  14658.     }
  14659.     r += "</a></div></div></div></div>";
  14660.     return r
  14661. });
  14662. this["DDG"]["templates"]["add_to_browser_extension_overlay_chrome"] = Handlebars.template(function(c, j, b, h, g) {
  14663.     this.compilerInfo = [4, ">= 1.0.0"];
  14664.     b = this.merge(b, c.helpers);
  14665.     g = g || {};
  14666.     var f = "",
  14667.         a, e, k, i = b.helperMissing;
  14668.     f += '<div class="atb-extension-overlay__instructions atb-extension-overlay__instructions--chrome"><p class="atb-extension-overlay__directions">';
  14669.     a = (e = b.lp || (j && j.lp), k = {
  14670.         hash: {},
  14671.         data: g
  14672.     }, e ? e.call(j, "install-duckduckgo", "Click %sAdd Extension%s.", "<b>", "</b>", k) : i.call(j, "lp", "install-duckduckgo", "Click %sAdd Extension%s.", "<b>", "</b>", k));
  14673.     if (a || a === 0) {
  14674.         f += a
  14675.     }
  14676.     f += '</p><p class="atb-extension-overlay__permissions">';
  14677.     a = (e = b.l || (j && j.l), k = {
  14678.         hash: {},
  14679.         data: g
  14680.     }, e ? e.call(j, "These browser permissions are used to add privacy protection on websites you visit by blocking hidden trackers, encrypting connections where possible, and by making DuckDuckGo your default search engine.", k) : i.call(j, "l", "These browser permissions are used to add privacy protection on websites you visit by blocking hidden trackers, encrypting connections where possible, and by making DuckDuckGo your default search engine.", k));
  14681.     if (a || a === 0) {
  14682.         f += a
  14683.     }
  14684.     f += '</p><p class="atb-extension-overlay__permissions">';
  14685.     a = (e = b.l || (j && j.l), k = {
  14686.         hash: {},
  14687.         data: g
  14688.     }, e ? e.call(j, "As per our privacy policy, we do not collect or share any personal information ourselves. All of this privacy protection happens on your device.", k) : i.call(j, "l", "As per our privacy policy, we do not collect or share any personal information ourselves. All of this privacy protection happens on your device.", k));
  14689.     if (a || a === 0) {
  14690.         f += a
  14691.     }
  14692.     f += "</p></div>";
  14693.     return f
  14694. });
  14695. this["DDG"]["templates"]["add_to_browser_extension_overlay_firefox"] = Handlebars.template(function(g, n, f, k, j) {
  14696.     this.compilerInfo = [4, ">= 1.0.0"];
  14697.     f = this.merge(f, g.helpers);
  14698.     j = j || {};
  14699.     var i = "",
  14700.         b, h, s, m = f.helperMissing,
  14701.         r = this;
  14702.  
  14703.     function e(u, t) {
  14704.         return '<div class="atb-extension-overlay__instructions">'
  14705.     }
  14706.  
  14707.     function a(u, t) {
  14708.         return '<div class="atb-extension-overlay__dynamic-instructions">'
  14709.     }
  14710.  
  14711.     function q(z, y) {
  14712.         var t = "",
  14713.             v, x, u;
  14714.         t += '<ol class="atb-extension-overlay__dynamic-directions">';
  14715.         v = (x = f.lp || (z && z.lp), u = {
  14716.             hash: {},
  14717.             data: y
  14718.         }, x ? x.call(z, "install-duckduckgo", "%sClick %sContinue To Installation%sClick %sAdd%sCheck %sAllow%s, then click %sOkay%s", "<li>", "<b>", "</b></li><li>", "<b>", "</b></li><li>", "<b>", "</b>", "<b>", "</b></li>", u) : m.call(z, "lp", "install-duckduckgo", "%sClick %sContinue To Installation%sClick %sAdd%sCheck %sAllow%s, then click %sOkay%s", "<li>", "<b>", "</b></li><li>", "<b>", "</b></li><li>", "<b>", "</b>", "<b>", "</b></li>", u));
  14719.         if (v || v === 0) {
  14720.             t += v
  14721.         }
  14722.         t += "</ol>";
  14723.         return t
  14724.     }
  14725.  
  14726.     function p(v, u) {
  14727.         var t;
  14728.         t = f["if"].call(v, (v && v.allowAddAllow), {
  14729.             hash: {},
  14730.             inverse: r.program(10, c, u),
  14731.             fn: r.program(8, o, u),
  14732.             data: u
  14733.         });
  14734.         if (t || t === 0) {
  14735.             return t
  14736.         } else {
  14737.             return ""
  14738.         }
  14739.     }
  14740.  
  14741.     function o(z, y) {
  14742.         var t = "",
  14743.             v, x, u;
  14744.         t += '<ol class="atb-extension-overlay__dynamic-directions">';
  14745.         v = (x = f.lp || (z && z.lp), u = {
  14746.             hash: {},
  14747.             data: y
  14748.         }, x ? x.call(z, "install-duckduckgo", "%sClick %sAllow%sClick %sAdd%sCheck %sAllow%s, then click %sOkay%s", "<li>", "<b>", "</b></li><li>", "<b>", "</b></li><li>", "<b>", "</b>", "<b>", "</b></li>", u) : m.call(z, "lp", "install-duckduckgo", "%sClick %sAllow%sClick %sAdd%sCheck %sAllow%s, then click %sOkay%s", "<li>", "<b>", "</b></li><li>", "<b>", "</b></li><li>", "<b>", "</b>", "<b>", "</b></li>", u));
  14749.         if (v || v === 0) {
  14750.             t += v
  14751.         }
  14752.         t += "</ol>";
  14753.         return t
  14754.     }
  14755.  
  14756.     function c(z, y) {
  14757.         var t = "",
  14758.             v, x, u;
  14759.         t += '<p class="atb-extension-overlay__directions">';
  14760.         v = (x = f.lp || (z && z.lp), u = {
  14761.             hash: {},
  14762.             data: y
  14763.         }, x ? x.call(z, "install-duckduckgo", "Click %sAllow%s, then %sAdd%s.", "<b>", "</b>", "<b>", "</b>", u) : m.call(z, "lp", "install-duckduckgo", "Click %sAllow%s, then %sAdd%s.", "<b>", "</b>", "<b>", "</b>", u));
  14764.         if (v || v === 0) {
  14765.             t += v
  14766.         }
  14767.         t += "</p>";
  14768.         return t
  14769.     }
  14770.     b = f["if"].call(n, (n && n.allowAdd), {
  14771.         hash: {},
  14772.         inverse: r.program(3, a, j),
  14773.         fn: r.program(1, e, j),
  14774.         data: j
  14775.     });
  14776.     if (b || b === 0) {
  14777.         i += b
  14778.     }
  14779.     b = f["if"].call(n, (n && n.continueAddAllow), {
  14780.         hash: {},
  14781.         inverse: r.program(7, p, j),
  14782.         fn: r.program(5, q, j),
  14783.         data: j
  14784.     });
  14785.     if (b || b === 0) {
  14786.         i += b
  14787.     }
  14788.     i += '<p class="atb-extension-overlay__permissions">';
  14789.     b = (h = f.l || (n && n.l), s = {
  14790.         hash: {},
  14791.         data: j
  14792.     }, h ? h.call(n, "These browser permissions are used to add privacy protection on websites you visit by blocking hidden trackers, encrypting connections where possible, and by making DuckDuckGo your default search engine.", s) : m.call(n, "l", "These browser permissions are used to add privacy protection on websites you visit by blocking hidden trackers, encrypting connections where possible, and by making DuckDuckGo your default search engine.", s));
  14793.     if (b || b === 0) {
  14794.         i += b
  14795.     }
  14796.     i += '</p><p class="atb-extension-overlay__permissions">';
  14797.     b = (h = f.l || (n && n.l), s = {
  14798.         hash: {},
  14799.         data: j
  14800.     }, h ? h.call(n, "As per our privacy policy, we do not collect or share any personal information ourselves. All of this privacy protection happens on your device.", s) : m.call(n, "l", "As per our privacy policy, we do not collect or share any personal information ourselves. All of this privacy protection happens on your device.", s));
  14801.     if (b || b === 0) {
  14802.         i += b
  14803.     }
  14804.     i += "</p></div>";
  14805.     return i
  14806. });
  14807. this["DDG"]["templates"]["add_to_browser_extension_overlay_safari"] = Handlebars.template(function(c, k, b, i, h) {
  14808.     this.compilerInfo = [4, ">= 1.0.0"];
  14809.     b = this.merge(b, c.helpers);
  14810.     h = h || {};
  14811.     var f = "",
  14812.         a, e, m, j = b.helperMissing,
  14813.         g = this.escapeExpression;
  14814.     f += '<div class="atb-extension-overlay__left-col"><div class="atb-extension-overlay__col-inner"><h1 class="atb-extension-overlay__header">';
  14815.     a = (e = b.lp || (k && k.lp), m = {
  14816.         hash: {},
  14817.         data: h
  14818.     }, e ? e.call(k, "install-duckduckgo", "Almost there!", m) : j.call(k, "lp", "install-duckduckgo", "Almost there!", m));
  14819.     if (a || a === 0) {
  14820.         f += a
  14821.     }
  14822.     f += '</h1><p class="atb-extension-overlay__text">';
  14823.     a = (e = b.lp || (k && k.lp), m = {
  14824.         hash: {},
  14825.         data: h
  14826.     }, e ? e.call(k, "install-extension", "1. Open %sDownloads%s", "<b>", "</b>", m) : j.call(k, "lp", "install-extension", "1. Open %sDownloads%s", "<b>", "</b>", m));
  14827.     if (a || a === 0) {
  14828.         f += a
  14829.     }
  14830.     f += '</p><p class="atb-extension-overlay__text">';
  14831.     a = (e = b.lp || (k && k.lp), m = {
  14832.         hash: {},
  14833.         data: h
  14834.     }, e ? e.call(k, "install-extension", "2. Double-click %sduckduckgo.safariextz%s", "<b>", "</b>", m) : j.call(k, "lp", "install-extension", "2. Double-click %sduckduckgo.safariextz%s", "<b>", "</b>", m));
  14835.     if (a || a === 0) {
  14836.         f += a
  14837.     }
  14838.     f += '</p><p class="atb-extension-overlay__subtext">';
  14839.     a = (e = b.lp || (k && k.lp), m = {
  14840.         hash: {},
  14841.         data: h
  14842.     }, e ? e.call(k, "install-extension", "Don't see it? %s%s%sClick here to re-download%s", '<a class="atb-extension-overlay__link" href="', (k && k.url), '" target="_blank">', "</a>", m) : j.call(k, "lp", "install-extension", "Don't see it? %s%s%sClick here to re-download%s", '<a class="atb-extension-overlay__link" href="', (k && k.url), '" target="_blank">', "</a>", m));
  14843.     if (a || a === 0) {
  14844.         f += a
  14845.     }
  14846.     f += '</p></div></div><div class="atb-extension-overlay__right-col"><img class="atb-extension-overlay__img" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
  14847.         hash: {},
  14848.         data: h
  14849.     }, e ? e.call(k, "/assets/add-to-browser/safari-extension.png", m) : j.call(k, "retinaImage", "/assets/add-to-browser/safari-extension.png", m))) + '" /></div>';
  14850.     return f
  14851. });
  14852. this["DDG"]["templates"]["add_to_browser_fullbleed"] = Handlebars.template(function(f, s, q, k, A) {
  14853.     this.compilerInfo = [4, ">= 1.0.0"];
  14854.     q = this.merge(q, f.helpers);
  14855.     A = A || {};
  14856.     var r = "",
  14857.         h, a, e, p = q.helperMissing,
  14858.         c = "function",
  14859.         b = this.escapeExpression,
  14860.         o = this;
  14861.  
  14862.     function n(G, F) {
  14863.         var B = "",
  14864.             D, E, C;
  14865.         B += '<p class="badge-link__subtitle">';
  14866.         D = (E = q.l || (G && G.l), C = {
  14867.             hash: {},
  14868.             data: F
  14869.         }, E ? E.call(G, "Add privacy protection to your browser. Search privately, block trackers, secure connections, and more — all for free.", C) : p.call(G, "l", "Add privacy protection to your browser. Search privately, block trackers, secure connections, and more — all for free.", C));
  14870.         if (D || D === 0) {
  14871.             B += D
  14872.         }
  14873.         B += "</p>";
  14874.         return B
  14875.     }
  14876.  
  14877.     function m(G, F) {
  14878.         var B = "",
  14879.             D, E, C;
  14880.         B += '<ol class="badge-link__bullets"><li class="badge-link__bullet"><span class="ddgsi ddgsi-check badge-link__bullet-check"></span>';
  14881.         D = (E = q.lp || (G && G.lp), C = {
  14882.             hash: {},
  14883.             data: F
  14884.         }, E ? E.call(G, "reasons-to-use-duckduckgo", "We don't store your personal info.", C) : p.call(G, "lp", "reasons-to-use-duckduckgo", "We don't store your personal info.", C));
  14885.         if (D || D === 0) {
  14886.             B += D
  14887.         }
  14888.         B += '</li><li class="badge-link__bullet"><span class="ddgsi ddgsi-check badge-link__bullet-check"></span>';
  14889.         D = (E = q.lp || (G && G.lp), C = {
  14890.             hash: {},
  14891.             data: F
  14892.         }, E ? E.call(G, "reasons-to-use-duckduckgo", "We don't follow you around with ads.", C) : p.call(G, "lp", "reasons-to-use-duckduckgo", "We don't follow you around with ads.", C));
  14893.         if (D || D === 0) {
  14894.             B += D
  14895.         }
  14896.         B += '</li><li class="badge-link__bullet"><span class="ddgsi ddgsi-check badge-link__bullet-check"></span>';
  14897.         D = (E = q.lp || (G && G.lp), C = {
  14898.             hash: {},
  14899.             data: F
  14900.         }, E ? E.call(G, "reasons-to-use-duckduckgo", "We don't track you. Ever.", C) : p.call(G, "lp", "reasons-to-use-duckduckgo", "We don't track you. Ever.", C));
  14901.         if (D || D === 0) {
  14902.             B += D
  14903.         }
  14904.         B += "</li></ol>";
  14905.         return B
  14906.     }
  14907.  
  14908.     function j(F, E) {
  14909.         var B = "",
  14910.             C, D;
  14911.         B += '<a class="badge-link__btn-wrap" href="';
  14912.         if (D = q.url) {
  14913.             C = D.call(F, {
  14914.                 hash: {},
  14915.                 data: E
  14916.             })
  14917.         } else {
  14918.             D = (F && F.url);
  14919.             C = typeof D === c ? D.call(F, {
  14920.                 hash: {},
  14921.                 data: E
  14922.             }) : D
  14923.         }
  14924.         B += b(C) + '" ';
  14925.         C = q["if"].call(F, (F && F.openInNewTab), {
  14926.             hash: {},
  14927.             inverse: o.noop,
  14928.             fn: o.program(6, i, E),
  14929.             data: E
  14930.         });
  14931.         if (C || C === 0) {
  14932.             B += C
  14933.         }
  14934.         B += ">";
  14935.         return B
  14936.     }
  14937.  
  14938.     function i(C, B) {
  14939.         return 'target="_blank"'
  14940.     }
  14941.  
  14942.     function g(C, B) {
  14943.         return '<div class="badge-link__btn-wrap" >'
  14944.     }
  14945.  
  14946.     function z(C, B) {
  14947.         return "</a>"
  14948.     }
  14949.  
  14950.     function y(C, B) {
  14951.         return "</div>"
  14952.     }
  14953.  
  14954.     function x(G, F) {
  14955.         var B = "",
  14956.             D, E, C;
  14957.         B += '<p class="badge-link__rating-wrap" title="';
  14958.         D = (E = q.lp || (G && G.lp), C = {
  14959.             hash: {},
  14960.             data: F
  14961.         }, E ? E.call(G, "homepage ATB social proof", "Average rating: %s out of 5", (G && G.extRating), C) : p.call(G, "lp", "homepage ATB social proof", "Average rating: %s out of 5", (G && G.extRating), C));
  14962.         if (D || D === 0) {
  14963.             B += D
  14964.         }
  14965.         B += '"><span class="badge-link__rating__star">&starf;</span><span class="badge-link__rating__star">&starf;</span><span class="badge-link__rating__star">&starf;</span><span class="badge-link__rating__star">&starf;</span><span class="badge-link__rating__star--empty ';
  14966.         D = q["if"].call(G, (G && G.halfStar), {
  14967.             hash: {},
  14968.             inverse: o.program(17, u, F),
  14969.             fn: o.program(15, v, F),
  14970.             data: F
  14971.         });
  14972.         if (D || D === 0) {
  14973.             B += D
  14974.         }
  14975.         B += '">&starf;</span><span>&nbsp;';
  14976.         D = (E = q.lp || (G && G.lp), C = {
  14977.             hash: {},
  14978.             data: F
  14979.         }, E ? E.call(G, "homepage ATB social proof", "%s%s%s reviews", "<b>", (G && G.extReviewCount), "</b>", C) : p.call(G, "lp", "homepage ATB social proof", "%s%s%s reviews", "<b>", (G && G.extReviewCount), "</b>", C));
  14980.         if (D || D === 0) {
  14981.             B += D
  14982.         }
  14983.         B += "</span></p>";
  14984.         return B
  14985.     }
  14986.  
  14987.     function v(C, B) {
  14988.         return "badge-link__rating__star--half"
  14989.     }
  14990.  
  14991.     function u(C, B) {
  14992.         return "badge-link__rating__star--third"
  14993.     }
  14994.  
  14995.     function t(G, F) {
  14996.         var B = "",
  14997.             D, E, C;
  14998.         B += '<div class="content-info" lang="';
  14999.         if (E = q.shortLocale) {
  15000.             D = E.call(G, {
  15001.                 hash: {},
  15002.                 data: F
  15003.             })
  15004.         } else {
  15005.             E = (G && G.shortLocale);
  15006.             D = typeof E === c ? E.call(G, {
  15007.                 hash: {},
  15008.                 data: F
  15009.             }) : E
  15010.         }
  15011.         B += b(D) + '"><div class="content-info__title">';
  15012.         D = (E = q.l || (G && G.l), C = {
  15013.             hash: {},
  15014.             data: F
  15015.         }, E ? E.call(G, "How it Works", C) : p.call(G, "l", "How it Works", C));
  15016.         if (D || D === 0) {
  15017.             B += D
  15018.         }
  15019.         B += '</div><div class="content-info__items"><div class="content-info__items-wrap"><div class="content-info__item"><img class="content-info__item__icon"src="/assets/home/landing/icons/box.svg" alt="" width="110" height="100" loading="lazy"><div class="content-info__item__title">';
  15020.         D = (E = q.l || (G && G.l), C = {
  15021.             hash: {},
  15022.             data: F
  15023.         }, E ? E.call(G, "Add to %s", (G && G.displayBrowserName), C) : p.call(G, "l", "Add to %s", (G && G.displayBrowserName), C));
  15024.         if (D || D === 0) {
  15025.             B += D
  15026.         }
  15027.         B += '</div><div class="content-info__item__subtitle">';
  15028.         D = (E = q.l || (G && G.l), C = {
  15029.             hash: {},
  15030.             data: F
  15031.         }, E ? E.call(G, "Just a few clicks to install, and you're ready to go. It's that easy.", C) : p.call(G, "l", "Just a few clicks to install, and you're ready to go. It's that easy.", C));
  15032.         if (D || D === 0) {
  15033.             B += D
  15034.         }
  15035.         B += '</div></div><div class="content-info__item"><img class="content-info__item__icon" src="/assets/home/landing/icons/browser.svg" alt="" width="110" height="100" loading="lazy"><div class="content-info__item__title">';
  15036.         D = (E = q.l || (G && G.l), C = {
  15037.             hash: {},
  15038.             data: F
  15039.         }, E ? E.call(G, "Browse as Usual", C) : p.call(G, "l", "Browse as Usual", C));
  15040.         if (D || D === 0) {
  15041.             B += D
  15042.         }
  15043.         B += '</div><div class="content-info__item__subtitle">';
  15044.         D = (E = q.l || (G && G.l), C = {
  15045.             hash: {},
  15046.             data: F
  15047.         }, E ? E.call(G, "We'll block hidden trackers and encrypt connections to keep you more private.", C) : p.call(G, "l", "We'll block hidden trackers and encrypt connections to keep you more private.", C));
  15048.         if (D || D === 0) {
  15049.             B += D
  15050.         }
  15051.         B += '</div></div><div class="content-info__item"><img class="content-info__item__icon" src="/assets/home/landing/icons/shield.svg" alt="" width="110" height="100" loading="lazy"><div class="content-info__item__title">';
  15052.         D = (E = q.l || (G && G.l), C = {
  15053.             hash: {},
  15054.             data: F
  15055.         }, E ? E.call(G, "Enjoy Peace of Mind", C) : p.call(G, "l", "Enjoy Peace of Mind", C));
  15056.         if (D || D === 0) {
  15057.             B += D
  15058.         }
  15059.         B += '</div><div class="content-info__item__subtitle">';
  15060.         D = (E = q.l || (G && G.l), C = {
  15061.             hash: {},
  15062.             data: F
  15063.         }, E ? E.call(G, "DuckDuckGo Privacy Essentials protects your privacy, wherever the Internet takes you.", C) : p.call(G, "l", "DuckDuckGo Privacy Essentials protects your privacy, wherever the Internet takes you.", C));
  15064.         if (D || D === 0) {
  15065.             B += D
  15066.         }
  15067.         B += "</div></div></div></div></div>";
  15068.         return B
  15069.     }
  15070.     r += '<div class="badge-link badge-link--full js-badge-link" lang="';
  15071.     if (a = q.shortLocale) {
  15072.         h = a.call(s, {
  15073.             hash: {},
  15074.             data: A
  15075.         })
  15076.     } else {
  15077.         a = (s && s.shortLocale);
  15078.         h = typeof a === c ? a.call(s, {
  15079.             hash: {},
  15080.             data: A
  15081.         }) : a
  15082.     }
  15083.     r += b(h) + '"><div class="badge-link__wrap js-badge-main-msg"><div class="badge-link__content"><h1 class="badge-link__title">';
  15084.     h = (a = q.l || (s && s.l), e = {
  15085.         hash: {},
  15086.         data: A
  15087.     }, a ? a.call(s, "Privacy, simplified.", e) : p.call(s, "l", "Privacy, simplified.", e));
  15088.     if (h || h === 0) {
  15089.         r += h
  15090.     }
  15091.     r += "</h1>";
  15092.     h = q["if"].call(s, (s && s.canInstall), {
  15093.         hash: {},
  15094.         inverse: o.program(3, m, A),
  15095.         fn: o.program(1, n, A),
  15096.         data: A
  15097.     });
  15098.     if (h || h === 0) {
  15099.         r += h
  15100.     }
  15101.     h = q["if"].call(s, (s && s.url), {
  15102.         hash: {},
  15103.         inverse: o.program(8, g, A),
  15104.         fn: o.program(5, j, A),
  15105.         data: A
  15106.     });
  15107.     if (h || h === 0) {
  15108.         r += h
  15109.     }
  15110.     r += '<span class="badge-link__btn btn btn--primary js-badge-link-button">';
  15111.     h = (a = q.l || (s && s.l), e = {
  15112.         hash: {},
  15113.         data: A
  15114.     }, a ? a.call(s, "Add DuckDuckGo to %s", (s && s.displayBrowserName), e) : p.call(s, "l", "Add DuckDuckGo to %s", (s && s.displayBrowserName), e));
  15115.     if (h || h === 0) {
  15116.         r += h
  15117.     }
  15118.     r += "</span>";
  15119.     h = q["if"].call(s, (s && s.url), {
  15120.         hash: {},
  15121.         inverse: o.program(12, y, A),
  15122.         fn: o.program(10, z, A),
  15123.         data: A
  15124.     });
  15125.     if (h || h === 0) {
  15126.         r += h
  15127.     }
  15128.     r += '<div class="badge-link__rating"><p>';
  15129.     h = (a = q.lp || (s && s.lp), e = {
  15130.         hash: {},
  15131.         data: A
  15132.     }, a ? a.call(s, "homepage ATB social proof", "Trusted by %smillions%s worldwide", "<b>", "</b>", e) : p.call(s, "lp", "homepage ATB social proof", "Trusted by %smillions%s worldwide", "<b>", "</b>", e));
  15133.     if (h || h === 0) {
  15134.         r += h
  15135.     }
  15136.     r += "</p>";
  15137.     h = q["if"].call(s, (s && s.canInstall), {
  15138.         hash: {},
  15139.         inverse: o.noop,
  15140.         fn: o.program(14, x, A),
  15141.         data: A
  15142.     });
  15143.     if (h || h === 0) {
  15144.         r += h
  15145.     }
  15146.     r += '</div></div></div><img src="/assets/home/landing/background.svg" class="badge-link__img" loading="lazy" width="1054" height="398"><img src="/assets/home/landing/background-small.svg" class="badge-link__img badge-link__img--small" loading="lazy" width="921" height="509"><img src="/assets/home/landing/background-dark.svg" class="badge-link__img badge-link__img--dark" loading="lazy" width="1054" height="399"><img src="/assets/home/landing/background-small-dark.svg" class="badge-link__img badge-link__img--small--dark" loading="lazy" width="921" height="509"></div>';
  15147.     h = q["if"].call(s, (s && s.canInstall), {
  15148.         hash: {},
  15149.         inverse: o.noop,
  15150.         fn: o.program(19, t, A),
  15151.         data: A
  15152.     });
  15153.     if (h || h === 0) {
  15154.         r += h
  15155.     }
  15156.     return r
  15157. });
  15158. this["DDG"]["templates"]["add_to_browser_fullbleed_billboard_v2"] = Handlebars.template(function(G, a, F, r, N) {
  15159.     this.compilerInfo = [4, ">= 1.0.0"];
  15160.     F = this.merge(F, G.helpers);
  15161.     N = N || {};
  15162.     var m = "",
  15163.         t, j, o, E = F.helperMissing,
  15164.         f = this,
  15165.         k = "function",
  15166.         K = this.escapeExpression;
  15167.  
  15168.     function D(P, O) {
  15169.         return "badge-link--set-as-default"
  15170.     }
  15171.  
  15172.     function C(T, S) {
  15173.         var O = "",
  15174.             Q, R, P;
  15175.         O += '<p class="badge-link__subtitle">';
  15176.         Q = F["if"].call(T, (T && T.isCppExp), {
  15177.             hash: {},
  15178.             inverse: f.program(6, z, S),
  15179.             fn: f.program(4, B, S),
  15180.             data: S
  15181.         });
  15182.         if (Q || Q === 0) {
  15183.             O += Q
  15184.         }
  15185.         O += '</p><ol class="badge-link__bullets"><li class="badge-link__bullet"><svg class="check badge-link__bullet-check" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="8" r="8" fill="#678FFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M4.45723 7.54277C4.0667 7.9333 4.0667 8.56646 4.45723 8.95698L5.88758 10.3873L5.88747 10.3875L6.5432 11.0432C6.95322 11.4532 7.62489 11.4297 8.00519 10.992L11.8251 6.59531C12.1687 6.19989 12.1479 5.60609 11.7775 5.23569C11.3684 4.82668 10.6984 4.85016 10.3191 5.28681L7.20253 8.87386L5.87144 7.54277C5.48092 7.15225 4.84775 7.15225 4.45723 7.54277Z" fill="white"/></svg><span>';
  15186.         Q = (R = F.l || (T && T.l), P = {
  15187.             hash: {},
  15188.             data: S
  15189.         }, R ? R.call(T, "private search", P) : E.call(T, "l", "private search", P));
  15190.         if (Q || Q === 0) {
  15191.             O += Q
  15192.         }
  15193.         O += '</span></li><li class="badge-link__bullet"><svg class="check badge-link__bullet-check" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="8" r="8" fill="#678FFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M4.45723 7.54277C4.0667 7.9333 4.0667 8.56646 4.45723 8.95698L5.88758 10.3873L5.88747 10.3875L6.5432 11.0432C6.95322 11.4532 7.62489 11.4297 8.00519 10.992L11.8251 6.59531C12.1687 6.19989 12.1479 5.60609 11.7775 5.23569C11.3684 4.82668 10.6984 4.85016 10.3191 5.28681L7.20253 8.87386L5.87144 7.54277C5.48092 7.15225 4.84775 7.15225 4.45723 7.54277Z" fill="white"/></svg><span>';
  15194.         Q = (R = F.l || (T && T.l), P = {
  15195.             hash: {},
  15196.             data: S
  15197.         }, R ? R.call(T, "tracker blocking", P) : E.call(T, "l", "tracker blocking", P));
  15198.         if (Q || Q === 0) {
  15199.             O += Q
  15200.         }
  15201.         O += '</span></li><li class="badge-link__bullet"><svg class="check badge-link__bullet-check" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="8" r="8" fill="#678FFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M4.45723 7.54277C4.0667 7.9333 4.0667 8.56646 4.45723 8.95698L5.88758 10.3873L5.88747 10.3875L6.5432 11.0432C6.95322 11.4532 7.62489 11.4297 8.00519 10.992L11.8251 6.59531C12.1687 6.19989 12.1479 5.60609 11.7775 5.23569C11.3684 4.82668 10.6984 4.85016 10.3191 5.28681L7.20253 8.87386L5.87144 7.54277C5.48092 7.15225 4.84775 7.15225 4.45723 7.54277Z" fill="white"/></svg><span>';
  15202.         Q = (R = F.l || (T && T.l), P = {
  15203.             hash: {},
  15204.             data: S
  15205.         }, R ? R.call(T, "site encryption", P) : E.call(T, "l", "site encryption", P));
  15206.         if (Q || Q === 0) {
  15207.             O += Q
  15208.         }
  15209.         O += "</span></li></ol>";
  15210.         return O
  15211.     }
  15212.  
  15213.     function B(P, O) {
  15214.         return "Get seamless privacy protection on all your devices for free."
  15215.     }
  15216.  
  15217.     function z(S, R) {
  15218.         var P, Q, O;
  15219.         P = (Q = F.l || (S && S.l), O = {
  15220.             hash: {},
  15221.             data: R
  15222.         }, Q ? Q.call(S, "Get seamless privacy protection on your browser for free with one download:", O) : E.call(S, "l", "Get seamless privacy protection on your browser for free with one download:", O));
  15223.         if (P || P === 0) {
  15224.             return P
  15225.         } else {
  15226.             return ""
  15227.         }
  15228.     }
  15229.  
  15230.     function v(T, S) {
  15231.         var O = "",
  15232.             Q, R, P;
  15233.         O += '<p class="badge-link__subtitle">';
  15234.         Q = (R = F.l || (T && T.l), P = {
  15235.             hash: {},
  15236.             data: S
  15237.         }, R ? R.call(T, "We don't store your personal info. We don't follow you around with ads. We don't track you. Ever.", P) : E.call(T, "l", "We don't store your personal info. We don't follow you around with ads. We don't track you. Ever.", P));
  15238.         if (Q || Q === 0) {
  15239.             O += Q
  15240.         }
  15241.         O += "</p>";
  15242.         return O
  15243.     }
  15244.  
  15245.     function y(R, Q) {
  15246.         var O = "",
  15247.             P;
  15248.         O += '<div class="badge-link__btn-wrap"><span class="badge-link__btn btn btn--primary js-badge-link-button js-cta-state-cpp">';
  15249.         P = F["if"].call(R, (R && R.resumeInstall), {
  15250.             hash: {},
  15251.             inverse: f.program(13, u, Q),
  15252.             fn: f.program(11, x, Q),
  15253.             data: Q
  15254.         });
  15255.         if (P || P === 0) {
  15256.             O += P
  15257.         }
  15258.         O += "</span></div>";
  15259.         return O
  15260.     }
  15261.  
  15262.     function x(P, O) {
  15263.         return "Resume Privacy Setup"
  15264.     }
  15265.  
  15266.     function u(P, O) {
  15267.         return "Get Started"
  15268.     }
  15269.  
  15270.     function s(T, S) {
  15271.         var O = "",
  15272.             Q, R, P;
  15273.         Q = F["if"].call(T, (T && T.url), {
  15274.             hash: {},
  15275.             inverse: f.program(19, n, S),
  15276.             fn: f.program(16, q, S),
  15277.             data: S
  15278.         });
  15279.         if (Q || Q === 0) {
  15280.             O += Q
  15281.         }
  15282.         O += '<span class="badge-link__btn btn btn--primary js-badge-link-button">';
  15283.         Q = (R = F.l || (T && T.l), P = {
  15284.             hash: {},
  15285.             data: S
  15286.         }, R ? R.call(T, "Add DuckDuckGo to %s", (T && T.displayBrowserName), P) : E.call(T, "l", "Add DuckDuckGo to %s", (T && T.displayBrowserName), P));
  15287.         if (Q || Q === 0) {
  15288.             O += Q
  15289.         }
  15290.         O += "</span>";
  15291.         Q = F["if"].call(T, (T && T.url), {
  15292.             hash: {},
  15293.             inverse: f.program(23, h, S),
  15294.             fn: f.program(21, i, S),
  15295.             data: S
  15296.         });
  15297.         if (Q || Q === 0) {
  15298.             O += Q
  15299.         }
  15300.         return O
  15301.     }
  15302.  
  15303.     function q(S, R) {
  15304.         var O = "",
  15305.             P, Q;
  15306.         O += '<a class="badge-link__btn-wrap" href="';
  15307.         if (Q = F.url) {
  15308.             P = Q.call(S, {
  15309.                 hash: {},
  15310.                 data: R
  15311.             })
  15312.         } else {
  15313.             Q = (S && S.url);
  15314.             P = typeof Q === k ? Q.call(S, {
  15315.                 hash: {},
  15316.                 data: R
  15317.             }) : Q
  15318.         }
  15319.         O += K(P) + '" ';
  15320.         P = F["if"].call(S, (S && S.openInNewTab), {
  15321.             hash: {},
  15322.             inverse: f.noop,
  15323.             fn: f.program(17, p, R),
  15324.             data: R
  15325.         });
  15326.         if (P || P === 0) {
  15327.             O += P
  15328.         }
  15329.         O += ">";
  15330.         return O
  15331.     }
  15332.  
  15333.     function p(P, O) {
  15334.         return 'target="_blank"'
  15335.     }
  15336.  
  15337.     function n(P, O) {
  15338.         return '<div class="badge-link__btn-wrap">'
  15339.     }
  15340.  
  15341.     function i(P, O) {
  15342.         return "</a>"
  15343.     }
  15344.  
  15345.     function h(P, O) {
  15346.         return "</div>"
  15347.     }
  15348.  
  15349.     function g(T, S) {
  15350.         var O = "",
  15351.             Q, R, P;
  15352.         O += '<a href="';
  15353.         if (R = F.reviewsUrl) {
  15354.             Q = R.call(T, {
  15355.                 hash: {},
  15356.                 data: S
  15357.             })
  15358.         } else {
  15359.             R = (T && T.reviewsUrl);
  15360.             Q = typeof R === k ? R.call(T, {
  15361.                 hash: {},
  15362.                 data: S
  15363.             }) : R
  15364.         }
  15365.         O += K(Q) + '" target="_blank" class="badge-link__rating" title="';
  15366.         Q = (R = F.lp || (T && T.lp), P = {
  15367.             hash: {},
  15368.             data: S
  15369.         }, R ? R.call(T, "homepage ATB social proof", "Average rating: %s out of 5", (T && T.extRating), P) : E.call(T, "lp", "homepage ATB social proof", "Average rating: %s out of 5", (T && T.extRating), P));
  15370.         if (Q || Q === 0) {
  15371.             O += Q
  15372.         }
  15373.         O += '">';
  15374.         Q = F["if"].call(T, (T && T.canInstall), {
  15375.             hash: {},
  15376.             inverse: f.noop,
  15377.             fn: f.program(26, e, S),
  15378.             data: S
  15379.         });
  15380.         if (Q || Q === 0) {
  15381.             O += Q
  15382.         }
  15383.         O += "</a>";
  15384.         return O
  15385.     }
  15386.  
  15387.     function e(T, S) {
  15388.         var O = "",
  15389.             Q, R, P;
  15390.         O += '<p class="badge-link__rating-wrap"><span class="badge-link__rating__star">&starf;</span><span class="badge-link__rating__star">&starf;</span><span class="badge-link__rating__star">&starf;</span><span class="badge-link__rating__star">&starf;</span><span class="badge-link__rating__star--empty ';
  15391.         Q = F["if"].call(T, (T && T.halfStar), {
  15392.             hash: {},
  15393.             inverse: f.program(29, b, S),
  15394.             fn: f.program(27, c, S),
  15395.             data: S
  15396.         });
  15397.         if (Q || Q === 0) {
  15398.             O += Q
  15399.         }
  15400.         O += '">&starf;</span></p><span>';
  15401.         Q = (R = F.l || (T && T.l), P = {
  15402.             hash: {},
  15403.             data: S
  15404.         }, R ? R.call(T, "Rated %s/5", (T && T.extRating), P) : E.call(T, "l", "Rated %s/5", (T && T.extRating), P));
  15405.         if (Q || Q === 0) {
  15406.             O += Q
  15407.         }
  15408.         O += "</span>";
  15409.         return O
  15410.     }
  15411.  
  15412.     function c(P, O) {
  15413.         return "badge-link__rating__star--half"
  15414.     }
  15415.  
  15416.     function b(P, O) {
  15417.         return "badge-link__rating__star--third"
  15418.     }
  15419.  
  15420.     function M(P, O) {
  15421.         return "hide-curve"
  15422.     }
  15423.  
  15424.     function L(S, R) {
  15425.         var P, Q, O;
  15426.         P = (Q = F.l || (S && S.l), O = {
  15427.             hash: {},
  15428.             data: R
  15429.         }, Q ? Q.call(S, "Privacy for %s", (S && S.displayBrowserName), O) : E.call(S, "l", "Privacy for %s", (S && S.displayBrowserName), O));
  15430.         if (P || P === 0) {
  15431.             return P
  15432.         } else {
  15433.             return ""
  15434.         }
  15435.     }
  15436.  
  15437.     function J(S, R) {
  15438.         var P, Q, O;
  15439.         P = (Q = F.l || (S && S.l), O = {
  15440.             hash: {},
  15441.             data: R
  15442.         }, Q ? Q.call(S, "Privacy Browser Extension", O) : E.call(S, "l", "Privacy Browser Extension", O));
  15443.         if (P || P === 0) {
  15444.             return P
  15445.         } else {
  15446.             return ""
  15447.         }
  15448.     }
  15449.  
  15450.     function I(S, R) {
  15451.         var P, Q, O;
  15452.         P = (Q = F.l || (S && S.l), O = {
  15453.             hash: {},
  15454.             data: R
  15455.         }, Q ? Q.call(S, "Browse as usual, and we'll take care of the rest. We bundled our search engine, tracker blocker, and encryption enforcer into one %s%s Extension%s.", '<a href="https://duckduckgo.com/app" target="_blank" class="js-atb-tile-link content-info__item__link" data-id="ext">', (S && S.displayBrowserName), "</a>", O) : E.call(S, "l", "Browse as usual, and we'll take care of the rest. We bundled our search engine, tracker blocker, and encryption enforcer into one %s%s Extension%s.", '<a href="https://duckduckgo.com/app" target="_blank" class="js-atb-tile-link content-info__item__link" data-id="ext">', (S && S.displayBrowserName), "</a>", O));
  15456.         if (P || P === 0) {
  15457.             return P
  15458.         } else {
  15459.             return ""
  15460.         }
  15461.     }
  15462.  
  15463.     function H(S, R) {
  15464.         var P, Q, O;
  15465.         P = (Q = F.l || (S && S.l), O = {
  15466.             hash: {},
  15467.             data: R
  15468.         }, Q ? Q.call(S, "Browse as usual, and we’ll take care of the rest. Get bundled private search, tracker blocking, and site encryption, all in one download, for %smajor browsers%s.", '<a href="https://duckduckgo.com/app" target="_blank" class="js-atb-tile-link content-info__item__link" data-id="ext">', "</a>", O) : E.call(S, "l", "Browse as usual, and we’ll take care of the rest. Get bundled private search, tracker blocking, and site encryption, all in one download, for %smajor browsers%s.", '<a href="https://duckduckgo.com/app" target="_blank" class="js-atb-tile-link content-info__item__link" data-id="ext">', "</a>", O));
  15469.         if (P || P === 0) {
  15470.             return P
  15471.         } else {
  15472.             return ""
  15473.         }
  15474.     }
  15475.  
  15476.     function A(P, O) {
  15477.         return '<!-- Background Curve --><svg class="content-info__curve" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1438 134"><path d="M1438 1442H0V31.001S438.105 0 719 .001c280.896 0 719 31 719 31V1442z" fill="currentColor"/></svg>'
  15478.     }
  15479.     m += '<div class="badge-link badge-link--full ';
  15480.     t = F.unless.call(a, (a && a.canInstall), {
  15481.         hash: {},
  15482.         inverse: f.noop,
  15483.         fn: f.program(1, D, N),
  15484.         data: N
  15485.     });
  15486.     if (t || t === 0) {
  15487.         m += t
  15488.     }
  15489.     m += ' js-badge-link" lang="';
  15490.     if (j = F.shortLocale) {
  15491.         t = j.call(a, {
  15492.             hash: {},
  15493.             data: N
  15494.         })
  15495.     } else {
  15496.         j = (a && a.shortLocale);
  15497.         t = typeof j === k ? j.call(a, {
  15498.             hash: {},
  15499.             data: N
  15500.         }) : j
  15501.     }
  15502.     m += K(t) + '"><div class="badge-link__wrap js-badge-main-msg"><div class="badge-link__content"><h1 class="badge-link__title">';
  15503.     t = (j = F.l || (a && a.l), o = {
  15504.         hash: {},
  15505.         data: N
  15506.     }, j ? j.call(a, "Tired of being tracked online? %sWe can help.%s", "<span>", "</span>", o) : E.call(a, "l", "Tired of being tracked online? %sWe can help.%s", "<span>", "</span>", o));
  15507.     if (t || t === 0) {
  15508.         m += t
  15509.     }
  15510.     m += "</h1>";
  15511.     t = F["if"].call(a, (a && a.canInstall), {
  15512.         hash: {},
  15513.         inverse: f.program(8, v, N),
  15514.         fn: f.program(3, C, N),
  15515.         data: N
  15516.     });
  15517.     if (t || t === 0) {
  15518.         m += t
  15519.     }
  15520.     t = F["if"].call(a, (a && a.isCppExp), {
  15521.         hash: {},
  15522.         inverse: f.program(15, s, N),
  15523.         fn: f.program(10, y, N),
  15524.         data: N
  15525.     });
  15526.     if (t || t === 0) {
  15527.         m += t
  15528.     }
  15529.     t = F.unless.call(a, (a && a.isCppExp), {
  15530.         hash: {},
  15531.         inverse: f.noop,
  15532.         fn: f.program(25, g, N),
  15533.         data: N
  15534.     });
  15535.     if (t || t === 0) {
  15536.         m += t
  15537.     }
  15538.     m += '</div></div></div><div class="content-info" lang="';
  15539.     if (j = F.shortLocale) {
  15540.         t = j.call(a, {
  15541.             hash: {},
  15542.             data: N
  15543.         })
  15544.     } else {
  15545.         j = (a && a.shortLocale);
  15546.         t = typeof j === k ? j.call(a, {
  15547.             hash: {},
  15548.             data: N
  15549.         }) : j
  15550.     }
  15551.     m += K(t) + '"><div class="content-info__title">';
  15552.     t = (j = F.l || (a && a.l), o = {
  15553.         hash: {},
  15554.         data: N
  15555.     }, j ? j.call(a, "Privacy Protection For Any Device", o) : E.call(a, "l", "Privacy Protection For Any Device", o));
  15556.     if (t || t === 0) {
  15557.         m += t
  15558.     }
  15559.     m += '</div><div class="content-info__items ';
  15560.     t = F["if"].call(a, (a && a.hideCurve), {
  15561.         hash: {},
  15562.         inverse: f.noop,
  15563.         fn: f.program(31, M, N),
  15564.         data: N
  15565.     });
  15566.     if (t || t === 0) {
  15567.         m += t
  15568.     }
  15569.     m += '"><div class="content-info__items-wrap"><div class="content-info__item"><img class="content-info__item__icon"src="/assets/add-to-browser/cppm/laptop.svg" alt="a laptop with a lock on the screen and a red bird standing on it"><div class="content-info__item__title">';
  15570.     t = F["if"].call(a, (a && a.canInstall), {
  15571.         hash: {},
  15572.         inverse: f.program(35, J, N),
  15573.         fn: f.program(33, L, N),
  15574.         data: N
  15575.     });
  15576.     if (t || t === 0) {
  15577.         m += t
  15578.     }
  15579.     m += '</div><div class="content-info__item__subtitle">';
  15580.     t = F["if"].call(a, (a && a.canInstall), {
  15581.         hash: {},
  15582.         inverse: f.program(39, H, N),
  15583.         fn: f.program(37, I, N),
  15584.         data: N
  15585.     });
  15586.     if (t || t === 0) {
  15587.         m += t
  15588.     }
  15589.     m += '</div></div><div class="content-info__item"><img class="content-info__item__icon" src="/assets/home/landing/icons/search.svg" alt="purple magnifying glass with a gold lock in the middle"><div class="content-info__item__title">';
  15590.     t = (j = F.l || (a && a.l), o = {
  15591.         hash: {},
  15592.         data: N
  15593.     }, j ? j.call(a, "Private Search Engine", o) : E.call(a, "l", "Private Search Engine", o));
  15594.     if (t || t === 0) {
  15595.         m += t
  15596.     }
  15597.     m += '</div><div class="content-info__item__subtitle">';
  15598.     t = (j = F.l || (a && a.l), o = {
  15599.         hash: {},
  15600.         data: N
  15601.     }, j ? j.call(a, "Search privately with our app or extension, add private web search to your favorite browser, or search directly at %sduckduckgo.com%s.", '<span class="content-info__item__link js-atb-tile-link js-scroll-top" data-id="st">', "</span>", o) : E.call(a, "l", "Search privately with our app or extension, add private web search to your favorite browser, or search directly at %sduckduckgo.com%s.", '<span class="content-info__item__link js-atb-tile-link js-scroll-top" data-id="st">', "</span>", o));
  15602.     if (t || t === 0) {
  15603.         m += t
  15604.     }
  15605.     m += '</div></div><div class="content-info__item"><img class="content-info__item__icon" src="/assets/add-to-browser/cppm/mobile.svg" alt="a mobile phone with a lock on the screen"><div class="content-info__item__title">';
  15606.     t = (j = F.l || (a && a.l), o = {
  15607.         hash: {},
  15608.         data: N
  15609.     }, j ? j.call(a, "Privacy Browser App", o) : E.call(a, "l", "Privacy Browser App", o));
  15610.     if (t || t === 0) {
  15611.         m += t
  15612.     }
  15613.     m += '</div><div class="content-info__item__subtitle">';
  15614.     t = (j = F.l || (a && a.l), o = {
  15615.         hash: {},
  15616.         data: N
  15617.     }, j ? j.call(a, "Our private browser for mobile comes equipped with our search engine, tracker blocker, encryption enforcer, and more. Available on %siOS & Android%s.", '<a href="https://duckduckgo.com/app" target="_blank" class="content-info__item__link js-atb-tile-link" data-id="app">', "</a>", o) : E.call(a, "l", "Our private browser for mobile comes equipped with our search engine, tracker blocker, encryption enforcer, and more. Available on %siOS & Android%s.", '<a href="https://duckduckgo.com/app" target="_blank" class="content-info__item__link js-atb-tile-link" data-id="app">', "</a>", o));
  15618.     if (t || t === 0) {
  15619.         m += t
  15620.     }
  15621.     m += "</div></div></div>";
  15622.     t = F.unless.call(a, (a && a.hideCurve), {
  15623.         hash: {},
  15624.         inverse: f.noop,
  15625.         fn: f.program(41, A, N),
  15626.         data: N
  15627.     });
  15628.     if (t || t === 0) {
  15629.         m += t
  15630.     }
  15631.     m += "</div></div>";
  15632.     return m
  15633. });
  15634. this["DDG"]["templates"]["add_to_browser_modal"] = Handlebars.template(function(e, r, p, i, t) {
  15635.     this.compilerInfo = [4, ">= 1.0.0"];
  15636.     p = this.merge(p, e.helpers);
  15637.     t = t || {};
  15638.     var q = "",
  15639.         f, o = p.helperMissing,
  15640.         b = "function",
  15641.         n = this,
  15642.         a = this.escapeExpression;
  15643.  
  15644.     function m(A, z) {
  15645.         var u = "",
  15646.             x, y, v;
  15647.         u += '<div class="js-add-to-browser-search"><h1 class="add-to-browser__title">';
  15648.         x = (y = p.l || (A && A.l), v = {
  15649.             hash: {},
  15650.             data: z
  15651.         }, y ? y.call(A, "Set as Default Search Engine", v) : o.call(A, "l", "Set as Default Search Engine", v));
  15652.         if (x || x === 0) {
  15653.             u += x
  15654.         }
  15655.         u += "</h1>";
  15656.         if (y = p.useForSearch) {
  15657.             x = y.call(A, {
  15658.                 hash: {},
  15659.                 data: z
  15660.             })
  15661.         } else {
  15662.             y = (A && A.useForSearch);
  15663.             x = typeof y === b ? y.call(A, {
  15664.                 hash: {},
  15665.                 data: z
  15666.             }) : y
  15667.         }
  15668.         if (x || x === 0) {
  15669.             u += x
  15670.         }
  15671.         u += "</div>";
  15672.         return u
  15673.     }
  15674.  
  15675.     function k(A, z) {
  15676.         var u = "",
  15677.             x, y, v;
  15678.         u += '<div class="';
  15679.         x = p["if"].call(A, (A && A.hasToggle), {
  15680.             hash: {},
  15681.             inverse: n.noop,
  15682.             fn: n.program(4, j, z),
  15683.             data: z
  15684.         });
  15685.         if (x || x === 0) {
  15686.             u += x
  15687.         }
  15688.         u += ' js-add-to-browser-homepage"><h1 class="add-to-browser__title">';
  15689.         x = (y = p.l || (A && A.l), v = {
  15690.             hash: {},
  15691.             data: z
  15692.         }, y ? y.call(A, "Set as Homepage", v) : o.call(A, "l", "Set as Homepage", v));
  15693.         if (x || x === 0) {
  15694.             u += x
  15695.         }
  15696.         u += "</h1>";
  15697.         if (y = p.setAsHomepage) {
  15698.             x = y.call(A, {
  15699.                 hash: {},
  15700.                 data: z
  15701.             })
  15702.         } else {
  15703.             y = (A && A.setAsHomepage);
  15704.             x = typeof y === b ? y.call(A, {
  15705.                 hash: {},
  15706.                 data: z
  15707.             }) : y
  15708.         }
  15709.         if (x || x === 0) {
  15710.             u += x
  15711.         }
  15712.         u += "</div>";
  15713.         return u
  15714.     }
  15715.  
  15716.     function j(v, u) {
  15717.         return "is-hidden"
  15718.     }
  15719.  
  15720.     function h(y, x) {
  15721.         var u = "",
  15722.             v;
  15723.         u += '<div class="add-to-browser__footer">';
  15724.         v = p["if"].call(y, (y && y.hasToggle), {
  15725.             hash: {},
  15726.             inverse: n.noop,
  15727.             fn: n.program(7, g, x),
  15728.             data: x
  15729.         });
  15730.         if (v || v === 0) {
  15731.             u += v
  15732.         }
  15733.         v = p["if"].call(y, (y && y.moreURL), {
  15734.             hash: {},
  15735.             inverse: n.noop,
  15736.             fn: n.program(9, c, x),
  15737.             data: x
  15738.         });
  15739.         if (v || v === 0) {
  15740.             u += v
  15741.         }
  15742.         u += "</div>";
  15743.         return u
  15744.     }
  15745.  
  15746.     function g(A, z) {
  15747.         var u = "",
  15748.             x, y, v;
  15749.         u += '<a class="add-to-browser__toggle-search is-hidden js-add-to-browser-search-link" href="#">';
  15750.         x = (y = p.l || (A && A.l), v = {
  15751.             hash: {},
  15752.             data: z
  15753.         }, y ? y.call(A, "Set as Default Search Engine", v) : o.call(A, "l", "Set as Default Search Engine", v));
  15754.         if (x || x === 0) {
  15755.             u += x
  15756.         }
  15757.         u += '</a><a class="add-to-browser__toggle-homepage js-add-to-browser-homepage-link" href="#">';
  15758.         x = (y = p.l || (A && A.l), v = {
  15759.             hash: {},
  15760.             data: z
  15761.         }, y ? y.call(A, "Set as Homepage", v) : o.call(A, "l", "Set as Homepage", v));
  15762.         if (x || x === 0) {
  15763.             u += x
  15764.         }
  15765.         u += "</a>";
  15766.         return u
  15767.     }
  15768.  
  15769.     function c(A, z) {
  15770.         var u = "",
  15771.             x, y, v;
  15772.         x = p["if"].call(A, (A && A.hasToggle), {
  15773.             hash: {},
  15774.             inverse: n.noop,
  15775.             fn: n.program(10, s, z),
  15776.             data: z
  15777.         });
  15778.         if (x || x === 0) {
  15779.             u += x
  15780.         }
  15781.         u += '<a class="add-to-browser__more" href="';
  15782.         if (y = p.moreURL) {
  15783.             x = y.call(A, {
  15784.                 hash: {},
  15785.                 data: z
  15786.             })
  15787.         } else {
  15788.             y = (A && A.moreURL);
  15789.             x = typeof y === b ? y.call(A, {
  15790.                 hash: {},
  15791.                 data: z
  15792.             }) : y
  15793.         }
  15794.         u += a(x) + '" target="_blank">';
  15795.         x = (y = p.l || (A && A.l), v = {
  15796.             hash: {},
  15797.             data: z
  15798.         }, y ? y.call(A, "Extensions & More", v) : o.call(A, "l", "Extensions & More", v));
  15799.         if (x || x === 0) {
  15800.             u += x
  15801.         }
  15802.         u += "</a>";
  15803.         return u
  15804.     }
  15805.  
  15806.     function s(v, u) {
  15807.         return '<span class="sep"></span>'
  15808.     }
  15809.     q += '<div class="modal  modal--popover  modal--popover--gray"><a href="#" class="modal__overlay  js-modal-close"></a><div class="modal__wrap"><div class="modal__box  modal__box--add-to-browser">';
  15810.     f = p["if"].call(r, (r && r.useForSearch), {
  15811.         hash: {},
  15812.         inverse: n.noop,
  15813.         fn: n.program(1, m, t),
  15814.         data: t
  15815.     });
  15816.     if (f || f === 0) {
  15817.         q += f
  15818.     }
  15819.     f = p["if"].call(r, (r && r.setAsHomepage), {
  15820.         hash: {},
  15821.         inverse: n.noop,
  15822.         fn: n.program(3, k, t),
  15823.         data: t
  15824.     });
  15825.     if (f || f === 0) {
  15826.         q += f
  15827.     }
  15828.     f = p["if"].call(r, (r && r.hasFooter), {
  15829.         hash: {},
  15830.         inverse: n.noop,
  15831.         fn: n.program(6, h, t),
  15832.         data: t
  15833.     });
  15834.     if (f || f === 0) {
  15835.         q += f
  15836.     }
  15837.     q += '<a href="#" class="modal__close  js-modal-close">X</a></div></div></div>';
  15838.     return q
  15839. });
  15840. this["DDG"]["templates"]["add_to_browser_modal_blurred"] = Handlebars.template(function(c, j, b, i, h) {
  15841.     this.compilerInfo = [4, ">= 1.0.0"];
  15842.     b = this.merge(b, c.helpers);
  15843.     h = h || {};
  15844.     var g = "",
  15845.         a, e, f = "function";
  15846.     g += '<div class="add-to-browser--blurred">';
  15847.     if (e = b.content) {
  15848.         a = e.call(j, {
  15849.             hash: {},
  15850.             data: h
  15851.         })
  15852.     } else {
  15853.         e = (j && j.content);
  15854.         a = typeof e === f ? e.call(j, {
  15855.             hash: {},
  15856.             data: h
  15857.         }) : e
  15858.     }
  15859.     if (a || a === 0) {
  15860.         g += a
  15861.     }
  15862.     g += "</div>";
  15863.     return g
  15864. });
  15865. this["DDG"]["templates"]["add_to_browser_modal_blurred_dark"] = Handlebars.template(function(c, j, b, i, h) {
  15866.     this.compilerInfo = [4, ">= 1.0.0"];
  15867.     b = this.merge(b, c.helpers);
  15868.     h = h || {};
  15869.     var g = "",
  15870.         a, e, f = "function";
  15871.     g += '<div class="add-to-browser--blurred-dark">';
  15872.     if (e = b.content) {
  15873.         a = e.call(j, {
  15874.             hash: {},
  15875.             data: h
  15876.         })
  15877.     } else {
  15878.         e = (j && j.content);
  15879.         a = typeof e === f ? e.call(j, {
  15880.             hash: {},
  15881.             data: h
  15882.         }) : e
  15883.     }
  15884.     if (a || a === 0) {
  15885.         g += a
  15886.     }
  15887.     g += "</div>";
  15888.     return g
  15889. });
  15890. this["DDG"]["templates"]["autocomplete"] = Handlebars.template(function(c, j, b, h, g) {
  15891.     this.compilerInfo = [4, ">= 1.0.0"];
  15892.     b = this.merge(b, c.helpers);
  15893.     g = g || {};
  15894.     var f = "",
  15895.         a, e, k, i = b.helperMissing;
  15896.     f += '<div class="search__autocomplete"><div class="acp-wrap js-acp-wrap"></div><div class="acp-footer is-hidden js-acp-footer"><span class="acp-footer__instructions">';
  15897.     a = (e = b.l || (j && j.l), k = {
  15898.         hash: {},
  15899.         data: g
  15900.     }, e ? e.call(j, "Shortcuts to other sites to search off DuckDuckGo", k) : i.call(j, "l", "Shortcuts to other sites to search off DuckDuckGo", k));
  15901.     if (a || a === 0) {
  15902.         f += a
  15903.     }
  15904.     f += '</span><span class="acp-footer__link"><a class="no-visited js-acp-footer-link" href=\'/bang\'>';
  15905.     a = (e = b.l || (j && j.l), k = {
  15906.         hash: {},
  15907.         data: g
  15908.     }, e ? e.call(j, "Learn %sMore%s", "", "", k) : i.call(j, "l", "Learn %sMore%s", "", "", k));
  15909.     if (a || a === 0) {
  15910.         f += a
  15911.     }
  15912.     f += "</a></span></div></div>";
  15913.     return f
  15914. });
  15915. this["DDG"]["templates"]["autocomplete_bang_item"] = Handlebars.template(function(f, o, e, m, k) {
  15916.     this.compilerInfo = [4, ">= 1.0.0"];
  15917.     e = this.merge(e, f.helpers);
  15918.     k = k || {};
  15919.     var i = "",
  15920.         b, g, n = e.helperMissing,
  15921.         j = this.escapeExpression,
  15922.         h = "function",
  15923.         q = this;
  15924.  
  15925.     function c(s, r) {
  15926.         return "acp--long-phrase"
  15927.     }
  15928.  
  15929.     function a(v, u) {
  15930.         var r = "",
  15931.             t, s;
  15932.         r += '<div class="acp--bang__img-wrap"><img src="' + j((t = e.imageProxy || (v && v.imageProxy), s = {
  15933.             hash: {},
  15934.             data: u
  15935.         }, t ? t.call(v, (v && v.image), s) : n.call(v, "imageProxy", (v && v.image), s))) + '" class="acp--bang__img" alt="" /></div>';
  15936.         return r
  15937.     }
  15938.  
  15939.     function p(v, u) {
  15940.         var r = "",
  15941.             s, t;
  15942.         r += '<span class="acp--bang__snippet">';
  15943.         if (t = e.snippet) {
  15944.             s = t.call(v, {
  15945.                 hash: {},
  15946.                 data: u
  15947.             })
  15948.         } else {
  15949.             t = (v && v.snippet);
  15950.             s = typeof t === h ? t.call(v, {
  15951.                 hash: {},
  15952.                 data: u
  15953.             }) : t
  15954.         }
  15955.         r += j(s) + "</span>";
  15956.         return r
  15957.     }
  15958.     i += '<div class="acp acp--bang ';
  15959.     b = e["if"].call(o, (o && o.longPhrase), {
  15960.         hash: {},
  15961.         inverse: q.noop,
  15962.         fn: q.program(1, c, k),
  15963.         data: k
  15964.     });
  15965.     if (b || b === 0) {
  15966.         i += b
  15967.     }
  15968.     i += '" data-index="';
  15969.     if (g = e.i) {
  15970.         b = g.call(o, {
  15971.             hash: {},
  15972.             data: k
  15973.         })
  15974.     } else {
  15975.         g = (o && o.i);
  15976.         b = typeof g === h ? g.call(o, {
  15977.             hash: {},
  15978.             data: k
  15979.         }) : g
  15980.     }
  15981.     i += j(b) + '">';
  15982.     b = e["if"].call(o, (o && o.image), {
  15983.         hash: {},
  15984.         inverse: q.noop,
  15985.         fn: q.program(3, a, k),
  15986.         data: k
  15987.     });
  15988.     if (b || b === 0) {
  15989.         i += b
  15990.     }
  15991.     i += '<div class="acp--bang__body"><span class="acp--bang__phrase">';
  15992.     if (g = e.phrase) {
  15993.         b = g.call(o, {
  15994.             hash: {},
  15995.             data: k
  15996.         })
  15997.     } else {
  15998.         g = (o && o.phrase);
  15999.         b = typeof g === h ? g.call(o, {
  16000.             hash: {},
  16001.             data: k
  16002.         }) : g
  16003.     }
  16004.     i += j(b) + "</span>";
  16005.     b = e["if"].call(o, (o && o.snippet), {
  16006.         hash: {},
  16007.         inverse: q.noop,
  16008.         fn: q.program(5, p, k),
  16009.         data: k
  16010.     });
  16011.     if (b || b === 0) {
  16012.         i += b
  16013.     }
  16014.     i += "</div></div>";
  16015.     return i
  16016. });
  16017. this["DDG"]["templates"]["autocomplete_bang_layout"] = Handlebars.template(function(e, f, b, a, c) {
  16018.     this.compilerInfo = [4, ">= 1.0.0"];
  16019.     b = this.merge(b, e.helpers);
  16020.     c = c || {};
  16021.     return '<div class="acp-wrap__column acp-wrap__column--left"></div><div class="acp-wrap__column acp-wrap__column--right"></div>'
  16022. });
  16023. this["DDG"]["templates"]["autocomplete_text_item"] = Handlebars.template(function(e, m, c, k, j) {
  16024.     this.compilerInfo = [4, ">= 1.0.0"];
  16025.     c = this.merge(c, e.helpers);
  16026.     j = j || {};
  16027.     var h = "",
  16028.         a, f, g = "function",
  16029.         i = this.escapeExpression,
  16030.         n = this;
  16031.  
  16032.     function b(p, o) {
  16033.         return '<a href="#" class="acp__search-fill ddgsi js-search-fill">&#x2196;</a>'
  16034.     }
  16035.     h += '<div class="acp" data-index="';
  16036.     if (f = c.i) {
  16037.         a = f.call(m, {
  16038.             hash: {},
  16039.             data: j
  16040.         })
  16041.     } else {
  16042.         f = (m && m.i);
  16043.         a = typeof f === g ? f.call(m, {
  16044.             hash: {},
  16045.             data: j
  16046.         }) : f
  16047.     }
  16048.     h += i(a) + '">';
  16049.     if (f = c.phrase) {
  16050.         a = f.call(m, {
  16051.             hash: {},
  16052.             data: j
  16053.         })
  16054.     } else {
  16055.         f = (m && m.phrase);
  16056.         a = typeof f === g ? f.call(m, {
  16057.             hash: {},
  16058.             data: j
  16059.         }) : f
  16060.     }
  16061.     if (a || a === 0) {
  16062.         h += a
  16063.     }
  16064.     a = c["if"].call(m, (m && m.searchFillArrow), {
  16065.         hash: {},
  16066.         inverse: n.noop,
  16067.         fn: n.program(1, b, j),
  16068.         data: j
  16069.     });
  16070.     if (a || a === 0) {
  16071.         h += a
  16072.     }
  16073.     h += "</div>";
  16074.     return h
  16075. });
  16076. this["DDG"]["templates"]["autocomplete_text_item_two_rows"] = Handlebars.template(function(c, k, b, j, i) {
  16077.     this.compilerInfo = [4, ">= 1.0.0"];
  16078.     b = this.merge(b, c.helpers);
  16079.     i = i || {};
  16080.     var g = "",
  16081.         a, e, f = "function",
  16082.         h = this.escapeExpression;
  16083.     g += '<div class="acp" data-index="';
  16084.     if (e = b.i) {
  16085.         a = e.call(k, {
  16086.             hash: {},
  16087.             data: i
  16088.         })
  16089.     } else {
  16090.         e = (k && k.i);
  16091.         a = typeof e === f ? e.call(k, {
  16092.             hash: {},
  16093.             data: i
  16094.         }) : e
  16095.     }
  16096.     g += h(a) + '"><div class="acp__phrase t-normal">';
  16097.     if (e = b.what) {
  16098.         a = e.call(k, {
  16099.             hash: {},
  16100.             data: i
  16101.         })
  16102.     } else {
  16103.         e = (k && k.what);
  16104.         a = typeof e === f ? e.call(k, {
  16105.             hash: {},
  16106.             data: i
  16107.         }) : e
  16108.     }
  16109.     if (a || a === 0) {
  16110.         g += a
  16111.     }
  16112.     g += '</div><div class="acp__detail">';
  16113.     if (e = b.where) {
  16114.         a = e.call(k, {
  16115.             hash: {},
  16116.             data: i
  16117.         })
  16118.     } else {
  16119.         e = (k && k.where);
  16120.         a = typeof e === f ? e.call(k, {
  16121.             hash: {},
  16122.             data: i
  16123.         }) : e
  16124.     }
  16125.     g += h(a) + "</div></div>";
  16126.     return g
  16127. });
  16128. this["DDG"]["templates"]["cpp_modal"] = Handlebars.template(function(j, A, y, p, G) {
  16129.     this.compilerInfo = [4, ">= 1.0.0"];
  16130.     y = this.merge(y, j.helpers);
  16131.     G = G || {};
  16132.     var z = "",
  16133.         k, a, u = this,
  16134.         c = "function",
  16135.         b = this.escapeExpression;
  16136.  
  16137.     function r(I, H) {
  16138.         return "Say Hello To Peace of Mind!"
  16139.     }
  16140.  
  16141.     function q(I, H) {
  16142.         return "DuckDuckGo Privacy Setup"
  16143.     }
  16144.  
  16145.     function o(I, H) {
  16146.         return "Whether you’re browsing on desktop or mobile, your online data is now more private by default!"
  16147.     }
  16148.  
  16149.     function n(I, H) {
  16150.         return "Get seamless privacy protection for desktop and mobile to stay private at home and on-the-go."
  16151.     }
  16152.  
  16153.     function i(I, H) {
  16154.         return "done"
  16155.     }
  16156.  
  16157.     function F(I, H) {
  16158.         return "is-expanded"
  16159.     }
  16160.  
  16161.     function E(J, I) {
  16162.         var H = "";
  16163.         H += '<button class="btn btn--installed js-cpp-step-1-btn" disabled><img src="/assets/add-to-browser/cpp/check.svg" class="btn__img btn__img--check"><img src="/assets/add-to-browser/cpp/gear.svg" class="btn__img btn__img--gear"><span>Installed</span></button>';
  16164.         return H
  16165.     }
  16166.  
  16167.     function D(J, I) {
  16168.         var H;
  16169.         H = y["if"].call(J, (J && J.animateOpenStore), {
  16170.             hash: {},
  16171.             inverse: u.program(18, B, I),
  16172.             fn: u.program(16, C, I),
  16173.             data: I
  16174.         });
  16175.         if (H || H === 0) {
  16176.             return H
  16177.         } else {
  16178.             return ""
  16179.         }
  16180.     }
  16181.  
  16182.     function C(J, I) {
  16183.         var H = "";
  16184.         H += '<button class="btn btn--opening js-cpp-step-1-btn"><img src="/assets/add-to-browser/cpp/check.svg" class="btn__img btn__img--check"><img src="/assets/add-to-browser/cpp/gear.svg" class="btn__img btn__img--gear"><span>Opening Chrome Store</span></button>';
  16185.         return H
  16186.     }
  16187.  
  16188.     function B(J, I) {
  16189.         var H = "";
  16190.         H += '<button class="btn btn--primary btn--cta js-cpp-step-1-btn"><img src="/assets/add-to-browser/cpp/check.svg" class="btn__img btn__img--check"><img src="/assets/add-to-browser/cpp/gear.svg" class="btn__img btn__img--gear"><span>Install DuckDuckGo</span></button>';
  16191.         return H
  16192.     }
  16193.  
  16194.     function m(J, I) {
  16195.         var H;
  16196.         H = y["if"].call(J, (J && J.step1Done), {
  16197.             hash: {},
  16198.             inverse: u.noop,
  16199.             fn: u.program(11, F, I),
  16200.             data: I
  16201.         });
  16202.         if (H || H === 0) {
  16203.             return H
  16204.         } else {
  16205.             return ""
  16206.         }
  16207.     }
  16208.  
  16209.     function h(I, H) {
  16210.         return "btn--installed"
  16211.     }
  16212.  
  16213.     function g(I, H) {
  16214.         return "btn--primary"
  16215.     }
  16216.  
  16217.     function f(I, H) {
  16218.         return "Installed"
  16219.     }
  16220.  
  16221.     function e(I, H) {
  16222.         return "I Have the App"
  16223.     }
  16224.  
  16225.     function x(I, H) {
  16226.         return "btn--grey"
  16227.     }
  16228.  
  16229.     function v(I, H) {
  16230.         return "Done"
  16231.     }
  16232.  
  16233.     function t(I, H) {
  16234.         return "Resume Later"
  16235.     }
  16236.  
  16237.     function s(I, H) {
  16238.         return "is-hidden"
  16239.     }
  16240.     z += '<div class="cpp-wrapper js-cpp-wrapper"><div class="cpp"><!-- Close --><img class="cpp__close js-cpp-close" src="/assets/add-to-browser/cpp/close.svg"><header><img src="assets/logo_header.v108.svg" class="cpp__logo"><h1 class="cpp__title js-cpp-title">';
  16241.     k = y["if"].call(A, (A && A.step2Done), {
  16242.         hash: {},
  16243.         inverse: u.program(3, q, G),
  16244.         fn: u.program(1, r, G),
  16245.         data: G
  16246.     });
  16247.     if (k || k === 0) {
  16248.         z += k
  16249.     }
  16250.     z += '</h1><p class="cpp__subtitle js-cpp-subtitle">';
  16251.     k = y["if"].call(A, (A && A.step2Done), {
  16252.         hash: {},
  16253.         inverse: u.program(7, n, G),
  16254.         fn: u.program(5, o, G),
  16255.         data: G
  16256.     });
  16257.     if (k || k === 0) {
  16258.         z += k
  16259.     }
  16260.     z += '</p></header><ol class="cpp__steps"><!-- STEP 1 --><li class="cpp__step js-cpp-step-1 ';
  16261.     k = y["if"].call(A, (A && A.step1Done), {
  16262.         hash: {},
  16263.         inverse: u.program(11, F, G),
  16264.         fn: u.program(9, i, G),
  16265.         data: G
  16266.     });
  16267.     if (k || k === 0) {
  16268.         z += k
  16269.     }
  16270.     z += '"><div class="cpp__step__top"><span class="cpp__step__num">1</span><h2 class="cpp__step__title">Get Protection for ';
  16271.     if (a = y.browser) {
  16272.         k = a.call(A, {
  16273.             hash: {},
  16274.             data: G
  16275.         })
  16276.     } else {
  16277.         a = (A && A.browser);
  16278.         k = typeof a === c ? a.call(A, {
  16279.             hash: {},
  16280.             data: G
  16281.         }) : a
  16282.     }
  16283.     z += b(k) + "</h2>";
  16284.     k = y["if"].call(A, (A && A.step1Done), {
  16285.         hash: {},
  16286.         inverse: u.program(15, D, G),
  16287.         fn: u.program(13, E, G),
  16288.         data: G
  16289.     });
  16290.     if (k || k === 0) {
  16291.         z += k
  16292.     }
  16293.     z += '</div><div class="cpp__step__bottom"><div class="cpp__instructions"><h3 class="cpp__step__title">Install DuckDuckGo Privacy Essentials</h3><ul class="cpp__instructions__list"><li class="cpp__step__text">The <a href="';
  16294.     if (a = y.url) {
  16295.         k = a.call(A, {
  16296.             hash: {},
  16297.             data: G
  16298.         })
  16299.     } else {
  16300.         a = (A && A.url);
  16301.         k = typeof a === c ? a.call(A, {
  16302.             hash: {},
  16303.             data: G
  16304.         }) : a
  16305.     }
  16306.     z += b(k) + '" target="_blank" class="js-cpp-store-link"><b>Chrome Web Store</b></a> will open.</li><li class="cpp__step__text">Click <b>“Add to Chrome”</b></li><li class="cpp__step__text">Click <b>“Add Extension”</b></li></ul></div><img class="cpp__img cpp__img--desktop" src="/assets/add-to-browser/cpp/laptop.svg"></div></li><!-- STEP 2 --><li class="cpp__step js-cpp-step-2 ';
  16307.     k = y["if"].call(A, (A && A.step2Done), {
  16308.         hash: {},
  16309.         inverse: u.program(20, m, G),
  16310.         fn: u.program(9, i, G),
  16311.         data: G
  16312.     });
  16313.     if (k || k === 0) {
  16314.         z += k
  16315.     }
  16316.     z += '"><div class="cpp__step__top"><span class="cpp__step__num">2</span><h2 class="cpp__step__title">Get Privacy Protection on Mobile</h2><button class="btn ';
  16317.     k = y["if"].call(A, (A && A.step2Done), {
  16318.         hash: {},
  16319.         inverse: u.program(24, g, G),
  16320.         fn: u.program(22, h, G),
  16321.         data: G
  16322.     });
  16323.     if (k || k === 0) {
  16324.         z += k
  16325.     }
  16326.     z += ' btn--step2 js-cpp-step-2-btn"><img src="/assets/add-to-browser/cpp/check.svg" class="btn__img btn__img--check"><span>';
  16327.     k = y["if"].call(A, (A && A.step2Done), {
  16328.         hash: {},
  16329.         inverse: u.program(28, e, G),
  16330.         fn: u.program(26, f, G),
  16331.         data: G
  16332.     });
  16333.     if (k || k === 0) {
  16334.         z += k
  16335.     }
  16336.     z += '</span></button></div><div class="cpp__step__bottom"><div class="cpp__instructions"><h3 class="cpp__step__title">Install the DuckDuckGo Privacy Browser</h3><ul class="cpp__instructions__list"><li class="cpp__step__text">Visit <a href="https://duck.com/app" target="_blank"><b>duck.com/app</b></a> on your mobile device.</li><li class="cpp__step__text">Install <b>DuckDuckGo Privacy Browser</b>.</li></ul></div><img class="cpp__img cpp__img--mobile" src="/assets/add-to-browser/cpp/mobile.svg"></div></li></ol><button class="cpp__later btn ';
  16337.     k = y["if"].call(A, (A && A.step2Done), {
  16338.         hash: {},
  16339.         inverse: u.program(30, x, G),
  16340.         fn: u.program(24, g, G),
  16341.         data: G
  16342.     });
  16343.     if (k || k === 0) {
  16344.         z += k
  16345.     }
  16346.     z += ' js-cpp-later-btn">';
  16347.     k = y["if"].call(A, (A && A.step2Done), {
  16348.         hash: {},
  16349.         inverse: u.program(34, t, G),
  16350.         fn: u.program(32, v, G),
  16351.         data: G
  16352.     });
  16353.     if (k || k === 0) {
  16354.         z += k
  16355.     }
  16356.     z += '</button><img class="cpp__img--success ';
  16357.     k = y.unless.call(A, (A && A.step2Done), {
  16358.         hash: {},
  16359.         inverse: u.noop,
  16360.         fn: u.program(36, s, G),
  16361.         data: G
  16362.     });
  16363.     if (k || k === 0) {
  16364.         z += k
  16365.     }
  16366.     z += ' js-cpp-success" src="/assets/add-to-browser/cpp/success.svg" alt="image of a happy party"></div></div>';
  16367.     return z
  16368. });
  16369. this["DDG"]["templates"]["dropdown"] = Handlebars.template(function(f, n, e, m, k) {
  16370.     this.compilerInfo = [4, ">= 1.0.0"];
  16371.     e = this.merge(e, f.helpers);
  16372.     k = k || {};
  16373.     var i = "",
  16374.         b, g, h = "function",
  16375.         j = this.escapeExpression,
  16376.         q = this;
  16377.  
  16378.     function c(s, r) {
  16379.         return "dropdown--disabled"
  16380.     }
  16381.  
  16382.     function a(s, r) {
  16383.         return "is-active"
  16384.     }
  16385.  
  16386.     function p(t, s) {
  16387.         var r;
  16388.         return j(((r = ((r = ((r = (t && t.values)), r == null || r === false ? r : r[0])), r == null || r === false ? r : r.name)), typeof r === h ? r.apply(t) : r))
  16389.     }
  16390.  
  16391.     function o(u, t) {
  16392.         var r, s;
  16393.         if (s = e.buttonContent) {
  16394.             r = s.call(u, {
  16395.                 hash: {},
  16396.                 data: t
  16397.             })
  16398.         } else {
  16399.             s = (u && u.buttonContent);
  16400.             r = typeof s === h ? s.call(u, {
  16401.                 hash: {},
  16402.                 data: t
  16403.             }) : s
  16404.         }
  16405.         return j(r)
  16406.     }
  16407.     i += '<div class="dropdown ';
  16408.     b = e["if"].call(n, (n && n.disabled), {
  16409.         hash: {},
  16410.         inverse: q.noop,
  16411.         fn: q.program(1, c, k),
  16412.         data: k
  16413.     });
  16414.     if (b || b === 0) {
  16415.         i += b
  16416.     }
  16417.     i += " dropdown--";
  16418.     if (g = e.key) {
  16419.         b = g.call(n, {
  16420.             hash: {},
  16421.             data: k
  16422.         })
  16423.     } else {
  16424.         g = (n && n.key);
  16425.         b = typeof g === h ? g.call(n, {
  16426.             hash: {},
  16427.             data: k
  16428.         }) : g
  16429.     }
  16430.     i += j(b) + " ";
  16431.     b = e["if"].call(n, (n && n.isActive), {
  16432.         hash: {},
  16433.         inverse: q.noop,
  16434.         fn: q.program(3, a, k),
  16435.         data: k
  16436.     });
  16437.     if (b || b === 0) {
  16438.         i += b
  16439.     }
  16440.     i += '"><a href="#" class="dropdown__button js-dropdown-button">';
  16441.     b = e["if"].call(n, (n && n.showSelected), {
  16442.         hash: {},
  16443.         inverse: q.program(7, o, k),
  16444.         fn: q.program(5, p, k),
  16445.         data: k
  16446.     });
  16447.     if (b || b === 0) {
  16448.         i += b
  16449.     }
  16450.     i += "</a></div>";
  16451.     return i
  16452. });
  16453. this["DDG"]["templates"]["dropdown_modal"] = Handlebars.template(function(e, r, p, j, y) {
  16454.     this.compilerInfo = [4, ">= 1.0.0"];
  16455.     p = this.merge(p, e.helpers);
  16456.     y = y || {};
  16457.     var q = "",
  16458.         g, a, c = "function",
  16459.         b = this.escapeExpression,
  16460.         o = this;
  16461.  
  16462.     function n(B, A) {
  16463.         return "modal--popover modal--popover--gray"
  16464.     }
  16465.  
  16466.     function m(D, C) {
  16467.         var A = "",
  16468.             B;
  16469.         A += "modal--popout ";
  16470.         B = p["if"].call(D, (D && D.position), {
  16471.             hash: {},
  16472.             inverse: o.program(6, i, C),
  16473.             fn: o.program(4, k, C),
  16474.             data: C
  16475.         });
  16476.         if (B || B === 0) {
  16477.             A += B
  16478.         }
  16479.         return A
  16480.     }
  16481.  
  16482.     function k(E, D) {
  16483.         var A = "",
  16484.             B, C;
  16485.         A += "modal--popout--";
  16486.         if (C = p.position) {
  16487.             B = C.call(E, {
  16488.                 hash: {},
  16489.                 data: D
  16490.             })
  16491.         } else {
  16492.             C = (E && E.position);
  16493.             B = typeof C === c ? C.call(E, {
  16494.                 hash: {},
  16495.                 data: D
  16496.             }) : C
  16497.         }
  16498.         A += b(B);
  16499.         return A
  16500.     }
  16501.  
  16502.     function i(B, A) {
  16503.         return "modal--popout--bottom"
  16504.     }
  16505.  
  16506.     function f(B, A) {
  16507.         return "has-header"
  16508.     }
  16509.  
  16510.     function z(E, D) {
  16511.         var A = "",
  16512.             B, C;
  16513.         A += '<div class="modal__header"><span class="modal__header__title">';
  16514.         if (C = p.header) {
  16515.             B = C.call(E, {
  16516.                 hash: {},
  16517.                 data: D
  16518.             })
  16519.         } else {
  16520.             C = (E && E.header);
  16521.             B = typeof C === c ? C.call(E, {
  16522.                 hash: {},
  16523.                 data: D
  16524.             }) : C
  16525.         }
  16526.         A += b(B) + "</span>";
  16527.         B = p["if"].call(E, (E && E.isPopover), {
  16528.             hash: {},
  16529.             inverse: o.noop,
  16530.             fn: o.program(11, x, D),
  16531.             data: D
  16532.         });
  16533.         if (B || B === 0) {
  16534.             A += B
  16535.         }
  16536.         A += "</div>";
  16537.         return A
  16538.     }
  16539.  
  16540.     function x(B, A) {
  16541.         return '<a href="#"  class="modal__close  js-modal-close">X</a>'
  16542.     }
  16543.  
  16544.     function v(F, D, E) {
  16545.         var A = "",
  16546.             B, C;
  16547.         A += '<li><a href="#" data-value="';
  16548.         if (C = p.id) {
  16549.             B = C.call(F, {
  16550.                 hash: {},
  16551.                 data: D
  16552.             })
  16553.         } else {
  16554.             C = (F && F.id);
  16555.             B = typeof C === c ? C.call(F, {
  16556.                 hash: {},
  16557.                 data: D
  16558.             }) : C
  16559.         }
  16560.         A += b(B) + '" class="modal__list__link ';
  16561.         B = p["if"].call(F, (F && F.disabled), {
  16562.             hash: {},
  16563.             inverse: o.noop,
  16564.             fn: o.program(14, u, D),
  16565.             data: D
  16566.         });
  16567.         if (B || B === 0) {
  16568.             A += B
  16569.         }
  16570.         A += " ";
  16571.         B = p["if"].call(F, (F && F.selected), {
  16572.             hash: {},
  16573.             inverse: o.noop,
  16574.             fn: o.program(16, t, D),
  16575.             data: D
  16576.         });
  16577.         if (B || B === 0) {
  16578.             A += B
  16579.         }
  16580.         A += " ";
  16581.         B = p["if"].call(F, (E && E.showDescriptions), {
  16582.             hash: {},
  16583.             inverse: o.noop,
  16584.             fn: o.program(18, s, D),
  16585.             data: D
  16586.         });
  16587.         if (B || B === 0) {
  16588.             A += B
  16589.         }
  16590.         A += ' js-dropdown-items">';
  16591.         if (C = p.name) {
  16592.             B = C.call(F, {
  16593.                 hash: {},
  16594.                 data: D
  16595.             })
  16596.         } else {
  16597.             C = (F && F.name);
  16598.             B = typeof C === c ? C.call(F, {
  16599.                 hash: {},
  16600.                 data: D
  16601.             }) : C
  16602.         }
  16603.         A += b(B);
  16604.         B = p["if"].call(F, (E && E.showDescriptions), {
  16605.             hash: {},
  16606.             inverse: o.noop,
  16607.             fn: o.program(20, h, D),
  16608.             data: D
  16609.         });
  16610.         if (B || B === 0) {
  16611.             A += B
  16612.         }
  16613.         A += "</a></li>";
  16614.         return A
  16615.     }
  16616.  
  16617.     function u(B, A) {
  16618.         return "is-disabled"
  16619.     }
  16620.  
  16621.     function t(B, A) {
  16622.         return "is-selected"
  16623.     }
  16624.  
  16625.     function s(B, A) {
  16626.         return "has-description"
  16627.     }
  16628.  
  16629.     function h(E, D) {
  16630.         var A = "",
  16631.             B, C;
  16632.         A += '<span class="modal__list__link__description">';
  16633.         if (C = p.description) {
  16634.             B = C.call(E, {
  16635.                 hash: {},
  16636.                 data: D
  16637.             })
  16638.         } else {
  16639.             C = (E && E.description);
  16640.             B = typeof C === c ? C.call(E, {
  16641.                 hash: {},
  16642.                 data: D
  16643.             }) : C
  16644.         }
  16645.         A += b(B) + "</span>";
  16646.         return A
  16647.     }
  16648.     q += '<div class="modal--dropdown modal--dropdown--';
  16649.     if (a = p.key) {
  16650.         g = a.call(r, {
  16651.             hash: {},
  16652.             data: y
  16653.         })
  16654.     } else {
  16655.         a = (r && r.key);
  16656.         g = typeof a === c ? a.call(r, {
  16657.             hash: {},
  16658.             data: y
  16659.         }) : a
  16660.     }
  16661.     q += b(g) + " modal ";
  16662.     g = p["if"].call(r, (r && r.isPopover), {
  16663.         hash: {},
  16664.         inverse: o.program(3, m, y),
  16665.         fn: o.program(1, n, y),
  16666.         data: y
  16667.     });
  16668.     if (g || g === 0) {
  16669.         q += g
  16670.     }
  16671.     q += " ";
  16672.     g = p["if"].call(r, (r && r.header), {
  16673.         hash: {},
  16674.         inverse: o.noop,
  16675.         fn: o.program(8, f, y),
  16676.         data: y
  16677.     });
  16678.     if (g || g === 0) {
  16679.         q += g
  16680.     }
  16681.     q += ' js-dropdown-popout"><div class="modal__overlay  js-modal-close"></div><div class="modal__wrap"><div class="modal__box">';
  16682.     g = p["if"].call(r, (r && r.header), {
  16683.         hash: {},
  16684.         inverse: o.noop,
  16685.         fn: o.program(10, z, y),
  16686.         data: y
  16687.     });
  16688.     if (g || g === 0) {
  16689.         q += g
  16690.     }
  16691.     q += '<div class="modal__body"><ol class="modal__list">';
  16692.     g = p.each.call(r, (r && r.values), {
  16693.         hash: {},
  16694.         inverse: o.noop,
  16695.         fn: o.programWithDepth(13, v, y, r),
  16696.         data: y
  16697.     });
  16698.     if (g || g === 0) {
  16699.         q += g
  16700.     }
  16701.     q += "</ol></div></div></div></div>";
  16702.     return q
  16703. });
  16704. this["DDG"]["templates"]["faq"] = Handlebars.template(function(f, m, e, k, j) {
  16705.     this.compilerInfo = [4, ">= 1.0.0"];
  16706.     e = this.merge(e, f.helpers);
  16707.     j = j || {};
  16708.     var h = "",
  16709.         a, n = this,
  16710.         g = "function",
  16711.         i = this.escapeExpression;
  16712.  
  16713.     function c(s, r) {
  16714.         var p = "",
  16715.             q;
  16716.         p += '<section class="js-faq-section faq__section" property="mainEntity" typeof="Question" ><header class="js-faq-header faq__header" data-disabled="';
  16717.         q = e["if"].call(s, (s && s.isCollapsed), {
  16718.             hash: {},
  16719.             inverse: n.program(4, o, r),
  16720.             fn: n.program(2, b, r),
  16721.             data: r
  16722.         });
  16723.         if (q || q === 0) {
  16724.             p += q
  16725.         }
  16726.         p += '" ><button class="faq__button" aria-expanded="';
  16727.         q = e["if"].call(s, (s && s.isCollapsed), {
  16728.             hash: {},
  16729.             inverse: n.program(4, o, r),
  16730.             fn: n.program(2, b, r),
  16731.             data: r
  16732.         });
  16733.         if (q || q === 0) {
  16734.             p += q
  16735.         }
  16736.         p += '"aria-disabled="';
  16737.         q = e["if"].call(s, (s && s.isCollapsed), {
  16738.             hash: {},
  16739.             inverse: n.program(4, o, r),
  16740.             fn: n.program(2, b, r),
  16741.             data: r
  16742.         });
  16743.         if (q || q === 0) {
  16744.             p += q
  16745.         }
  16746.         p += '"                     aria-controls="faq-answer-' + i(((q = (r == null || r === false ? r : r.index)), typeof q === g ? q.apply(s) : q)) + '" id="faq-btn-' + i(((q = (r == null || r === false ? r : r.index)), typeof q === g ? q.apply(s) : q)) + '"><svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="10" cy="10.5" r="10" transform="rotate(-180 10 10.5)" fill="#E5E5E5"/><path d="M9.94454 12.8483L13.5355 9.25736C13.7308 9.0621 14.0474 9.0621 14.2426 9.25736C14.4379 9.45262 14.4379 9.7692 14.2426 9.96447L10.3536 13.8536C10.2418 13.9653 10.0903 14.0131 9.94454 13.9969C9.79879 14.0131 9.64729 13.9653 9.53553 13.8536L5.64645 9.96447C5.45118 9.7692 5.45118 9.45262 5.64645 9.25736C5.84171 9.0621 6.15829 9.0621 6.35355 9.25736L9.94454 12.8483Z" fill="#353748"/></svg></button><h3 class="faq__question" property="name" >' + i(((q = (s && s.question)), typeof q === g ? q.apply(s) : q)) + '</h3></header><div id="faq-answer-' + i(((q = (r == null || r === false ? r : r.index)), typeof q === g ? q.apply(s) : q)) + '" role="region" aria-labelledby="faq-btn-' + i(((q = (r == null || r === false ? r : r.index)), typeof q === g ? q.apply(s) : q)) + '" class="js-faq-collapsible faq__collapsible" data-collapsed="';
  16747.         q = e["if"].call(s, (s && s.isCollapsed), {
  16748.             hash: {},
  16749.             inverse: n.program(2, b, r),
  16750.             fn: n.program(4, o, r),
  16751.             data: r
  16752.         });
  16753.         if (q || q === 0) {
  16754.             p += q
  16755.         }
  16756.         p += '" property="acceptedAnswer" typeof="Answer" ><div class="faq__answer" ><p property="text" >';
  16757.         q = ((q = (s && s.answer)), typeof q === g ? q.apply(s) : q);
  16758.         if (q || q === 0) {
  16759.             p += q
  16760.         }
  16761.         p += '</p>&nbsp;<a property="url" href="' + i(((q = (s && s.learnMoreUrl)), typeof q === g ? q.apply(s) : q)) + '" target="_blank"  data-id="' + i(((q = (s && s.id)), typeof q === g ? q.apply(s) : q)) + '-l" >Learn more</a>.</div></div></section>';
  16762.         return p
  16763.     }
  16764.  
  16765.     function b(q, p) {
  16766.         return "false"
  16767.     }
  16768.  
  16769.     function o(q, p) {
  16770.         return "true"
  16771.     }
  16772.     h += '<article id="faq" class="faq" vocab="https://schema.org/" typeof="FAQPage" ><h2 property="name" class="faq__title">Frequently Asked Questions</h2><div class="faq__content">';
  16773.     a = e.each.call(m, (m && m.faq), {
  16774.         hash: {},
  16775.         inverse: n.noop,
  16776.         fn: n.program(1, c, j),
  16777.         data: j
  16778.     });
  16779.     if (a || a === 0) {
  16780.         h += a
  16781.     }
  16782.     h += "</div>    </article>";
  16783.     return h
  16784. });
  16785. this["DDG"]["templates"]["homepage_tagline"] = Handlebars.template(function(f, m, e, j, i) {
  16786.     this.compilerInfo = [4, ">= 1.0.0"];
  16787.     e = this.merge(e, f.helpers);
  16788.     i = i || {};
  16789.     var h = "",
  16790.         b, g, o, k = e.helperMissing,
  16791.         n = this;
  16792.  
  16793.     function c(t, s) {
  16794.         var q, r, p;
  16795.         q = (r = e.lp || (t && t.lp), p = {
  16796.             hash: {},
  16797.             data: s
  16798.         }, r ? r.call(t, "frontpage", "%sHelp Spread DuckDuckGo!%s", '<a class="tag-home__link js-tag-item-link" href="/spread">', "</a>", p) : k.call(t, "lp", "frontpage", "%sHelp Spread DuckDuckGo!%s", '<a class="tag-home__link js-tag-item-link" href="/spread">', "</a>", p));
  16799.         if (q || q === 0) {
  16800.             return q
  16801.         } else {
  16802.             return ""
  16803.         }
  16804.     }
  16805.  
  16806.     function a(t, s) {
  16807.         var q, r, p;
  16808.         q = (r = e.lp || (t && t.lp), p = {
  16809.             hash: {},
  16810.             data: s
  16811.         }, r ? r.call(t, "frontpage", "%sLearn More%s.", '<a class="tag-home__link js-tag-item-link js-tag-item-about" href="/about">', "</a>", p) : k.call(t, "lp", "frontpage", "%sLearn More%s.", '<a class="tag-home__link js-tag-item-link js-tag-item-about" href="/about">', "</a>", p));
  16812.         if (q || q === 0) {
  16813.             return q
  16814.         } else {
  16815.             return ""
  16816.         }
  16817.     }
  16818.     h += '<div class="tag-home__wrapper"><div class="tag-home__item">';
  16819.     b = (g = e.lp || (m && m.lp), o = {
  16820.         hash: {},
  16821.         data: i
  16822.     }, g ? g.call(m, "welcome message eu search preference android", "Privacy, simplified", o) : k.call(m, "lp", "welcome message eu search preference android", "Privacy, simplified", o));
  16823.     if (b || b === 0) {
  16824.         h += b
  16825.     }
  16826.     h += '&period;<span class="hide--screen-xs"> ';
  16827.     b = e["if"].call(m, (m && m.shouldShowSpread), {
  16828.         hash: {},
  16829.         inverse: n.program(3, a, i),
  16830.         fn: n.program(1, c, i),
  16831.         data: i
  16832.     });
  16833.     if (b || b === 0) {
  16834.         h += b
  16835.     }
  16836.     h += "</span></div></div>";
  16837.     return h
  16838. });
  16839. this["DDG"]["templates"]["hp_onboarding_ed_slide1"] = Handlebars.template(function(e, f, b, a, c) {
  16840.     this.compilerInfo = [4, ">= 1.0.0"];
  16841.     b = this.merge(b, e.helpers);
  16842.     c = c || {};
  16843.     return '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1200" height="460" viewBox="0 0 1200 460" preserveAspectRatio="xMidYMax" class="onboarding-ed__image--animated"><style>.cloud-bottom{fill:#94d2ba;}.cloud-top{fill:#79c6a8;}.st1{fill:#000}.st2{clip-path:url(#SVGID_2_)}.st3{fill:#e1eff5}.st4{fill:#f4bd5d}.st5{fill:#cadfeb}.st6{clip-path:url(#SVGID_4_)}.st7{fill:#2c2c45}.st8{clip-path:url(#SVGID_6_)}.st9{fill:#974c2c}.st10{fill:#783e1f}.st11{fill:#d6e7f0}.st12{clip-path:url(#SVGID_8_)}.st13{fill:#6b6260;stroke:#000;stroke-miterlimit:10}.st14{opacity:.2;fill:#0f2229;enable-background:new}.st15{clip-path:url(#SVGID_10_)}.st16{fill:#e8f3f7}.st17{fill:#fff}.st18{clip-path:url(#SVGID_12_)}.st19{fill:#041624}.st20{clip-path:url(#SVGID_14_)}.st21{fill:#5c2e1b}.st22{fill:#000}.st23{clip-path:url(#SVGID_16_)}.st24{fill:#d9dde0}.st25{fill:#c3c7c9}.st26{fill:#ffe100}.st27{fill:#006e37}.st28{clip-path:url(#SVGID_18_)}.st29{fill:#d5e000}.st30{fill:#b3c700}.st31{fill:#ebdaca}.st32{clip-path:url(#SVGID_20_)}.st33{fill:#00b35c}.st34{fill:#008f48}.st35{fill:#d8e300}.st36{fill:#c7d100}.st37{fill:#00b35a}.st38{clip-path:url(#SVGID_22_)}.st39{fill:#ffff7a}.st40{fill:#ffffc9}.st41{fill:#ffb700}.st42{clip-path:url(#SVGID_24_)}.st43{clip-path:url(#SVGID_26_)}.st44{fill:#6d7375}.st45{clip-path:url(#SVGID_28_)}.st46{fill:#ffc800}.st47{fill:#383835}.st48{opacity:.29;fill:none;stroke:#000;stroke-width:3;stroke-miterlimit:10;enable-background:new}.st49{clip-path:url(#SVGID_30_)}.st50{opacity:.44}.st51{fill:#bdc8cc}.st52{clip-path:url(#SVGID_32_)}.st53{fill:#2a4c63}.st54{fill:#0e1921}.st55{fill:#223b4f}.st56{opacity:.6}.js-onboarding-ed-anim-flame3{fill:#ffe100}</style><g><g><path class="js-onboarding-ed-anim-cloud cloud-top" d="M802.1 122c0-32.1-27.9-58.1-62.2-58.1s-62.2 26-62.2 58.1c0 1.3.1 2.6.2 3.9l-6.7-.2c-47.8 0-86.6 36.2-86.6 80.9s38.8 80.9 86.6 80.9 86.6-36.2 86.6-80.9c0-9.4-1.8-18.8-5.2-27.6 28.3-5.6 49.5-29 49.5-57z"/><path class="js-onboarding-ed-anim-cloud cloud-bottom" d="M604.4 229.4c0-44.7 38.8-80.9 86.6-80.9l6.7.2c-.1-1.3-.2-2.6-.2-3.9 0-32.1 27.9-58.1 62.2-58.1 12.8-.1 25.3 3.7 36 10.7-9.9-19.9-31.4-33.7-56.4-33.7-34.4 0-62.2 26-62.2 58.1 0 1.3.1 2.6.2 3.9l-6.7-.2c-47.8 0-86.6 36.2-86.6 80.9 0 25.1 12.2 47.5 31.4 62.3-7.2-11.9-11-25.4-11-39.3z"/></g><g><path class="js-onboarding-ed-anim-cloud cloud-top" d="M749.9 197.7c0-12.2-10.6-22.2-23.7-22.2s-23.7 9.9-23.7 22.2c0 .5 0 1 .1 1.5H700c-18.2 0-33 13.8-33 30.8s14.8 30.8 33 30.8 33-13.8 33-30.8c0-3.6-.7-7.2-2-10.5 10.8-2.2 18.9-11.1 18.9-21.8z"/><path class="js-onboarding-ed-anim-cloud cloud-bottom" d="M674.6 238.7c0-17 14.8-30.8 33-30.8h2.5c0-.5-.1-1-.1-1.5 0-12.2 10.6-22.2 23.7-22.2 4.9 0 9.6 1.4 13.7 4.1-4.2-8-12.5-12.9-21.5-12.8-13.1 0-23.7 9.9-23.7 22.2 0 .5 0 1 .1 1.5h-2.5c-18.2 0-33 13.8-33 30.8.1 9.4 4.5 18.2 12 23.8-2.8-4.6-4.2-9.8-4.2-15.1z"/></g></g><g><path class="st1" d="M287.3 30.2l16.8 16.1-1.8-14.7-3.8-4.2z"/><defs><path id="SVGID_1_" d="M272.6 229.6s31.3 180.9 52.5 231.4l-34.1 1.5s-37.3-163.8-38.3-169.4c-7.1-41.8 19.9-63.5 19.9-63.5z"/></defs><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" overflow="visible"/></clipPath><g class="st2"><path class="st3" d="M227.7 211.9h111.7v257.7H227.7z"/><path class="st4 js-onboarding-ed-anim-glow" d="M273.6 234.6s9.7 108.3 39.2 223.1l14.4-15-53.6-208.1z"/><path class="st5" d="M260.3 241.5s32.1 205.3 38.8 214.8l-17.9 3.9-39.5-186.3s20-33.2 18.6-32.4z"/></g><defs><path id="SVGID_3_" d="M261 131.9s18.3 3 23.1 14.2c7.7 18.2-4.5 40.5-1.5 53s18.3 26.3 27 31.3c0 0-15.8 17.3-36.5-8.5-24.3-30.3-38.2-49-38.2-49l26.1-41z"/></defs><clipPath id="SVGID_4_"><use xlink:href="#SVGID_3_" overflow="visible"/></clipPath><g class="st6"><path class="st1" d="M229.6 114.2H329v147.9h-99.4z"/><path class="st7" d="M252.9 136.6s19.3 6 19.3 33.9 0 58.4 29.6 61.7c7.2.8 14.4-4.8 14.4-4.8s-22.4-94.2-24.7-95.5-38.6-7-38.6-7v11.7z"/></g><path class="st1" d="M219.3 53.6l-35.6 60.6L179 183l62.7-31.3z"/><defs><path id="SVGID_5_" d="M216 169.4l8-32s-6.6-19.1-4-53.3c2.1-26.6 12.7-74.7 54-64s33.3 46.5 29.3 73.9c-2.5 17.1-4.7 24.6-6.1 27.8-.6 1.3-2.1 2.1-3.5 1.7l-9.1-2.4s-6.6 17-23.3 20.3l-6.9 27.8 6.9 22.9-30.7 16-14.6-38.7z"/></defs><clipPath id="SVGID_6_"><use xlink:href="#SVGID_5_" overflow="visible"/></clipPath><g class="st8"><path class="st9" d="M188.5-21.5h134.7V231H188.5z"/><path class="st4 js-onboarding-ed-anim-glow" d="M310.4 48.4c21.3 17.6-8.6 82.3-8.6 82.3l-13.4-3s-2.7 10.8-12.7 13.8-24.5 1.1-28.9.6c-.1 0-.2-.1-.2-.2s.1-.2.2-.2c3-.5 8.7-.9 10.4-1.7 19.3-8.6 25-24.9 25-24.9l11.4 3.2c10.1-26.4 14-73 14-73l2.8 3.1z"/><path class="st10" d="M316.2 60.6s-64.1-27-74.5 27c-8.2 42.2-.1 54.1-.1 54.1l-20.2 74.6S178 144 178 145.1 207.5 37 207.5 37l12-14.6 64.6-16.8 32.1 55z"/><path class="st4" d="M249.5 179.7l7.6-1.7 8.3-36.5H258z"/></g><path class="st11" d="M125.6 396.6c3.7 0 91.2 17.7 91.2 17.7l50-209.4-10.9-40.9-3 4.2-12.9 18.4-22.9-34.8-91.5 244.8z"/><defs><path id="SVGID_7_" d="M172.9 379c15.2 4.9 30.7 8.5 46.5 11l-17.5 121.8-77.5 9.5L172.9 379z"/></defs><clipPath id="SVGID_8_"><use xlink:href="#SVGID_7_" overflow="visible"/></clipPath><g class="st12"><path class="st13" d="M116.9 351.4h121.6v187.7H116.9z"/><path d="M165.9 374.5l-5 15c11 3.4 22.2 6.2 33.5 8.5 10.6 1.8 21.4 2.7 32.2 2.5l1.6-15s-54.2-6.4-62.3-11zM175.2 443.8l-21.8 68.5 7.4 2.5z"/></g><path class="st14" d="M255.8 164.1s-85.4 322.4-84.7 322.4 36-15.1 36-15.1l54.9-299-6.2-8.3z"/><defs><path id="SVGID_9_" d="M181.3 484.2s59-232.7 73.4-278.2c5.3-16.9 1.6-37.3 1.6-37.3l.5-8.7c8.4 9.1 24.7 44.9 20.6 65.4-5.3 26.7-24.5 77.2-31.7 126.7-4.7 32.2-12.9 97.1-8.9 121.7l-55.5 10.4z"/></defs><clipPath id="SVGID_10_"><use xlink:href="#SVGID_9_" overflow="visible"/></clipPath><g class="st15"><path class="st16" d="M170.3 129.7h125.4v371.6H170.3z"/><path class="st4 js-onboarding-ed-anim-glow" d="M276.6 203.5s-32.9 91.6-43.2 148.6-6.9 139.7-6.9 139.7l23.5-5.1 43.5-257.1-16.9-26.1z"/><path class="st5" d="M248.5 169.3s19.8 8.4 28.1 34.2c0 0-.4-40.4-19.8-51.6l-8.3 17.4z"/></g><path class="st17" d="M226.1 310s29.1-85.5 42.3-110.3l-10.7-12.1 9.3-2.1-10.3-25.5-30.6 150z"/><defs><path id="SVGID_11_" d="M299.1 28.2s-5.9 14.3-19.4 22.2-53.6 19.9-59 19.9c0 0-7.5 42.8-27 50.8 0 0 6.4 30.6-14.5 51.5L168.7 183s-10.5-27.5 0-62 23.5-32 23.5-32 7.3-42.2 20.5-55.5 26-19.5 39-19.5 35.4 2.2 47.4 14.2z"/></defs><clipPath id="SVGID_12_"><use xlink:href="#SVGID_11_" overflow="visible"/></clipPath><g class="st18"><path class="st7" d="M130.5-5.6h179.1v204.1H130.5z"/><path class="st19" d="M295.7 22.9s-47.7-7.3-66 20.6S219 79.8 219 79.8s-16.3 35.7-38.8 46.7c7.3 20.8 1.7 56.5 1.7 56.5l-30.3 22.1L144 75.6l64.8-77.8 82.6 14.3 4.3 10.8z"/></g><defs><path id="SVGID_13_" d="M222.7 141.5s-6.1 1-12 8.7c-19.2 3.7-47.2 22-63 64.5-21.3 57.3-97 288.7-97 288.7l98-14s65.7-234.7 80.4-264-2.5-50.9-5.2-63.1-1.2-20.8-1.2-20.8z"/></defs><clipPath id="SVGID_14_"><use xlink:href="#SVGID_13_" overflow="visible"/></clipPath><g class="st20"><path class="st16" d="M39.4 115.1H249v395.4H39.4z"/><path class="st5" d="M210.3 145.3s-11 28.9-12.3 39.3c-.1 1 .6 1.9 1.6 2h.3c3.8-.2 11.6-.5 13.7 0L199 198.3s19.6 29 7.1 88.7 9.5-10.7 9.5-10.7l22.1-72.9-20.1-63.7-7.3 5.6z"/><path class="st17" d="M212.2 141s-10.3 35.8-10.3 43.1c0 0 15.9-1.1 17.7.7l-15 12.5s15.9 26 3.4 85.7 11.6-9.5 11.6-9.5l22.1-72.9-20.1-63.6-9.4 4z"/><path class="st5" d="M234.9 130.8c-1.2 1.2-4.8 9.7-12.7 17.6-7.9.6-11.9 5.5-14.7 9.8-9.3 5.6-21.3 18.8-26.2 29.1-55.7 117.2-89.2 324.9-77.6 322.7l-90.5-1.6 120.4-334.8 101.3-42.8z"/><path class="st5" d="M96.7 398.4c4.1 5.1 16.8 16.6 46.8 13.7.2 0 .3.1.3.2 0 .2-.1.3-.2.3-9.1 2.8-37.3 9.2-47.4-14 0-.2 0-.3.2-.4.1.1.2.1.3.2z"/></g><path class="st9" d="M231.6 70s-4.7-10.4-10.8-6.9-4.6 12.3-4.6 14 1.5 8.2 4.1 11.2c.5.6 1.4.7 2 .3.3-.2.5-.6.5-1 1.5-8 4.1-14.3 8.8-17.6z"/><ellipse transform="rotate(-75.599 185.293 327.591)" class="st5" cx="185.3" cy="327.6" rx="6.1" ry="4.2"/><path class="st21" d="M253.5 107.4l.4.7.9 1.7 1.4 2.3.9 1.2.9 1.2 1 1.2 1 1.1 1 1 1 .8.8.7.7.5.6.5h.1c.3.3.3.7 0 1-.2.2-.4.3-.6.2l-.8-.2c-.7-.2-1.4-.5-2-.8l-1.3-.7-1.3-.9-1.3-1.2-1.2-1.3-1.1-1.4-.9-1.5-.6-1.5c-.2-.5-.3-.9-.4-1.4-.2-.7-.3-1.4-.4-2.1v-.8c-.2-.3-.1-.8.2-1 .3-.2.8-.1 1 .2.1.1.1.3.1.4l-.1.1z"/><path d="M275.5 58.3c.5-.5 1.2-.9 1.8-1.2 1.4-.7 3-1.1 4.6-1.2h2.6l1.2.2 1 .3 1.4.7.5.3c.2.1.2.2.2.4 0 0 0 .1-.1.1l-.4.2h-.6l-.6-.2-.8-.2h-5.5l-1.1.2-2 .5-1.9.6c-.2.1-.3 0-.4-.2-.1-.1-.1-.3 0-.4 0-.1.1-.1.1-.1z"/><ellipse transform="rotate(-75.599 170.181 393.006)" class="st5" cx="170.2" cy="393" rx="6.1" ry="4.2"/><path class="js-onboarding-ed-anim-scientist-eye" d="M276.2 79.8c.2-.6.4-1.1.6-1.7 1-3.3.7-6.4-.7-6.8s-3.5 1.9-4.5 5.2c-.3.8-.5 1.7-.6 2.6 1.8 0 3.5.2 5.2.7zM298.6 63l1.3.2c1 .3 1.9.7 2.7 1.3l1.2 1 .9 1.1.5.9v.3c.1.2 0 .3-.2.4h-.3l-.3-.2-.7-.6-2.1-1.7-2.3-1.5-1.1-.6c-.1-.1-.2-.3-.1-.4l.5-.2zM299.4 88.2c.3-.6.6-1.2.8-1.9.9-2.9.8-5.5-.1-5.8s-2.5 1.8-3.4 4.7l-.3 1c1.1.5 2.1 1.2 3 2z"/><path class="st22" d="M299.4 28.2c0-.1 2.9 26.9 8.6 34.3 0-.1 5-20.7-8.6-34.3z"/><ellipse class="st10" cx="226.7" cy="76.3" rx="4" ry="5.1"/><g><defs><path id="SVGID_15_" d="M165.3 203.7c11.3-12.7 24.3-10.5 35.2-4.1s53.5 46.2 187 46.3l-5 36.5s-57.3-4-107.2-10.2S181 242.4 170 232.7s-12.7-20.1-4.7-29z"/></defs><clipPath id="SVGID_16_"><use xlink:href="#SVGID_15_" overflow="visible"/></clipPath><g class="st23"><path class="st16" d="M349.6 364.1L130.9 237l71.4-121.9 218.7 127z"/><path class="st4 js-onboarding-ed-anim-glow" d="M384.2 270.8c2.9-5.3-65.3 18-180.5-19.1l115.4 33.2 67.5-3.3-2.4-10.8z"/><path class="st5" d="M163.5 229.6s5.8-15.2 12.1-19.8c6.1-4.5 12.6-6 22.2-1.7s42.3 33.7 131.7 41.2 25.8-13.6 25.8-13.6l-186.7-61.6s-35 49.7-33.8 50.7 28.7 4.8 28.7 4.8z"/></g></g><path class="st5" d="M202.9 157.2s-19.2 27.1-6.8 40.2c0 0-25.7-2.5-30.9 6.6.1 0 16.2-36.8 37.7-46.8z"/></g><g id="Table"><path class="st24" d="M-42.3 481.7l941.7-145.3 392.7 145.3z"/><path class="st25" d="M870.1 402.8s26.1 8.8 63.4-.3 0-17.7 0-17.7l-56.3 2.7-7.1 15.3z"/><path class="st25 js-onboarding-ed-anim-shadow" d="M903.3 399.1c-.1 2.9-1.3 5.7-3.4 7.8-10.4 11.5-43 19.9-81.6 19.9-47 0-85.1-12.4-85.1-27.8s38.1-27.8 85.1-27.8 85 12.6 85 27.9zM342.6 459.3c3.3-3.7 5.1-7.6 5.1-11.7 0-8.4-7.6-16.1-20.7-22.7L99.7 460c8.6 8.9 26.1 16.5 49.1 21.7h144c23.7-5.3 41.5-13.2 49.8-22.4z"/></g><g id="Creature"><path class="st26 js-onboarding-ed-anim-flame js-onboarding-ed-anim-flame1" d="M604.5 181.4s6.5 7.7 1.5 19-14.5 21.9-8.2 31.3-16.7-7.6-1.7-32.1c7.3-12.1 7.5-12.8 8.4-18.2z"/><path class="st27" d="M876.9 400.3s-14.1.5-19.4 10.4 3.9 6.2 5.8 4.1c0 0-6.3 12.6 0 10.7s13.7-10.7 13.5-11.2-4.4 11.2.7 8.6 9.3-13.5 9.3-13.5-1.8 8.1 2.1 6.9 7.6-11.3 2.9-15.3-11-2.7-14.9-.7z"/><defs><path id="SVGID_17_" d="M715.4 242.7s40.6 26.3 34.6 63-15 45.5-24.9 55.4c0 0 51.3 61.6 106.2 30s36.7-98.8 36.7-98.8-28.7-44-47.3-49.7-78-20.9-105.3.1z"/></defs><clipPath id="SVGID_18_"><use xlink:href="#SVGID_17_" overflow="visible"/></clipPath><g class="st28"><path class="st29 js-onboarding-ed-anim-monster-mouth" d="M688.7 191.5h202.2v233.2H688.7z"/><path class="st30" d="M731.6 285.1s1.4-22 49.6-19.1 90.7 55.6 90.7 55.6l14.9-145.9s-196.1 13.8-193.5 16.4 38.3 93 38.3 93zM733.1 331s18.6 29.6 58 26.5 70.1-26 70.1-26-17.1 126.2-17.1 122.2-147.6-38.5-144.4-41.7 33.4-81 33.4-81z"/></g><path class="st27" d="M896 369.7s26.9 12.4 42.9 3.2 10.5-31.9-4.9-47.2c0 0 23.4 12.4 23.4 34.4s-20 42.2-65.4 30.9l4-21.3z"/><circle class="st17 js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--left" cx="729.5" cy="218.6" r="15.6"/><circle class="st31 js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--left" cx="735.5" cy="220.3" r="12.5"/><path class="st26 js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--left" d="M719.3 218.6c0-7.6 5.4-14.1 12.9-15.4l-2.7-.2c-8.6 0-15.6 7-15.6 15.6s7 15.6 15.6 15.6l2.7-.2c-7.5-1.3-12.9-7.8-12.9-15.4z"/><path class="st17" d="M705 254.3s2.4 18.3 10.3 25.4c0 0-.6-24.1 7.1-31.7 0 0 .5 16.8 3.9 23.6 0 0 2.9-22.3 8.3-27.8 0 0 2.3 21.8 5.8 25.8 0 0 .6-24.3 8-28.6 0 0-.9 15.3 1.6 22.4 0 0 5.3-19.4 12.6-23.6 0 0 0 15 1.4 20 0 0 1.3-14 11.2-19.7 0 0-1.4 14.7 0 19.7 0 0 4.6-13 13.3-18-.8 6-1.3 12-1.4 18 0 0 6.2-11.6 12.7-15.4 0 0-3.5 10.8-3.5 19 0 0 5.2-10.4 16.4-13.9 0 0-5.8 12.5-4.5 18.6 0 0 6.7-10.6 13.7-12.9.4-.1 1.5 1.6 2 1.5 7.4-1.5 0-8.8 0-8.8l-60.6-16-57.4 15.3-.9 7.1z"/><ellipse class="js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--left" cx="719.8" cy="212.2" rx="4.2" ry="3.4"/><path class="st17" d="M731.6 356.6s4.3-7.9 18.3-12.3c0 0-9.9 14.6-6.6 23.7 2.3-4.8 5.4-9.2 9.2-13 0 0-2 13.8 0 19.9 0 0 3.1-10.8 8.8-16.5 0 0-2.3 15.1 2.4 21.2 0 0 .5-7.1 6.4-16-1 6.5 1.2 12.9 3.9 19.4 0 0-1.5-9.6 4.2-15.3 0 0 .9 11.6 4.6 15.3 0 0 .7-12.2 4.8-16.3-1.3 6 3.3 16.6 5.6 16.3-.3-6.4-.6-10.5 1.3-17.6 0 0 3.6 13.7 8.7 16.7 0 0-4.5-9.7-1.5-17.1 3.5 7.3 6.9 12.1 11.4 14.9l-34.7 16.9-45.7-31-1.1-9.2z"/><defs><path id="SVGID_19_" d="M694.6 264.3s-4.8-32.2 37.3-44.7c0 0 8.7-11.8 17.3-11.8 5-.1 9.8 2.3 12.7 6.4 0 0 5.3-6.4 16-6.4s13.3 10.5 13.3 10.5 61.3.7 95.3 52.7 30 70.7 24 92.7-23.1 56.8-82.3 51.7c-46.3-4-87.8-19-109.7-62.3-2.7-5.3-.7-11.7 3.3-9.3s24.9 44.2 70 41.4c32.4-2 46.7-30.7 51.4-58.1 2.2-13.1 10.2-79-66.2-86.5-50.6-5.1-78.1 19.4-82.4 23.7z"/></defs><clipPath id="SVGID_20_"><use xlink:href="#SVGID_19_" overflow="visible"/></clipPath><g class="st32"><path class="st33" d="M664.2 180.7H940v254.7H664.2z"/><path class="st34" d="M791.2 218.3s95.6 22.1 95.6 96c0 68.3-37.3 91.8-70.1 90.5-59.5-2.3-102.8-49.7-102.8-49.7l55.3 60.6 104.1 19.5 55.2-70.1-3.8-169.9-133.5 23.1z"/><path class="st35" d="M729.5 217.3s-30.4 16.6-23.4 44.2l-19 9.4s-5.1-40.7 42.4-53.6z"/><path class="st36" d="M714.6 346.3s73.1 87.3 117.1 13.6c0 0-105-23.3-107-23.3s-10.1 9.7-10.1 9.7zM733 221.8s10-22.9 29-8.6l-.9 4.5c4.3-5 10-8.4 16.4-9.9l24.9-5.9-33.9-12.6-16.3 5.3s-27.5 20.9-26.1 21.7 6.9 5.5 6.9 5.5z"/><ellipse transform="rotate(-69.102 854.938 235.653)" class="st34" cx="855" cy="235.6" rx="20.7" ry="19.3"/><path class="st35" d="M709.5 236.7c.6-.6 9.9-13 23.4-14.9 0 0-3.8-4.2-4.4-4.2s-20.6 7.8-20.6 9.6 1.6 9.5 1.6 9.5z"/><path class="st34" d="M773.2 206.6c.3 0 13.5 1.8 12.4 10.7l5.6 1.1 2.3-11.3-20.3-.5zM743.5 206.4c.3 0 14 2.5 14.6 11l3 .4 2.4-11-20-.4z"/><path class="st36" d="M688 263.3s28.5-23.9 59.6-26.8 59.7 1.7 78 24.3c0 0-137.3 18.2-137.3 16.5s-.3-14-.3-14z"/></g><ellipse class="st31 js-onboarding-ed-monster-eye onboarding-ed-anim-monster-eye--right" cx="845" cy="231.6" rx="20.7" ry="19.3"/><ellipse class="st17 js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--right" cx="840.5" cy="231" rx="16.1" ry="15"/><ellipse cx="850.3" cy="229.1" rx="4.2" ry="4.2" class="js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--right"/><path class="st37" d="M871.9 270.4s22.6-12.4 28.4 4.5-6.6 20.2-19.7 18.2c0 0 1.9-6.8-8.7-22.7z"/><path class="st34" d="M900.3 274.9c-3.7-10.8-14.2-9.6-21.3-7.4 6.8-1.6 15.8-1.6 19 7.9s-.1 15.7-6 17.8c7.6-1.5 12.3-6.7 8.3-18.3z"/><path class="st34" d="M876.1 275.5s12.1-6.6 15.2 2.4-2.2 9.7-9.6 9.7c-1.5-4.2-3.3-8.3-5.6-12.1z"/><defs><path id="SVGID_21_" d="M843.6 324.4s-96.8-2.7-137.6 24c-57.4 37.6-119.6 7.1-114.8-43.4s26.6-67.9 18.6-88.7c-10.9-28.3 15-51.9 30.2-61.2 0 0-11.4 29.9-5.5 47.7 13.3 39.9 5.6 22.7 5.6 41.8s5.3 43.4 10.7 2.8 12-49.3 16.7-55.3c7.9-10.1 17.7-23.4 5.1-41.1 0 0 33.5 11.7 8.6 58.8-18.1 34.2 3.2 56.1 15.4 63.1s39.1-8.6 51.8-1.3 36.6 29.5 49.6 31.9c15.1 2.8 38.8 5.6 46.3 1.3.8 6.5.6 13.1-.7 19.6z"/></defs><clipPath id="SVGID_22_"><use xlink:href="#SVGID_21_" overflow="visible"/></clipPath><g class="st38"><path class="st26" d="M530.7 110.3H851v288.8H530.7z"/><path class="st39" d="M790.8 306.2c-15.2-2.2-20.8-9.3-41.9-17.6s-39 1.6-48.3.7c-22.1-2.2-31.3-24.8-36.7-37.4 0 0-13.4 33.2 12.4 57.1-12.9-22.2-23.9-45.4-32.8-69.5 0 0-51.3 92.5 14.7 98.3 31.5 2.8 58.3-8.3 81.7-13.5 51.8-11.5 111.7-.5 112.6-1.4 11.3-11.3.3-14.3-1.6-14.3s-44.8-.1-60.1-2.4z"/><path class="st40" d="M851.3 308s-115.9 3.7-157.1-6.2c5.1 5 179.9 32.1 157.3 16 .1 0 7.8 11.6-.2-9.8z"/><path class="st40" d="M822.1 309.9c-1-2.8-47.6.7-146.7 8.2 1.8-1.6 57.1 2.1 155.5 1 0 0-7-6.3-8.8-9.2z"/><path class="st41 js-onboarding-ed-anim-flame" d="M701.6 140.3s-12.6 86.2-22.7 113.9c0 0-18.7-12.1 3.5-74.5 0 0-28.5 27.3-27.5 81.4 0 0-29.4-2.3-33.5-41.8 0 0-15.8 41-15.8 61.1s8.1 84.7 88.8 74.6c-15.4 23.8-140.8 18.5-140.8 18.5l18.3-247 129.7 13.8z"/></g><defs><path id="SVGID_23_" d="M743.6 399.8c1.1-10.6 6.6-16.3 10-18.9-2.4-2.4-6.2-2.9-8.3-5.6-4.9 3.9-10.4 10.1-11.7 22.6-4.2-.5-10-.2-15.1 3.3-10.4 7.1 2.7 6.2 5.4 5.3 0 0-11.4 8.3-4.9 9.5s13.9-3.9 14-4.4-5.6 10.5.1 10.5 11-10.4 11-10.4.3 5.1 3.2 5.6 6.1-4.8 4.5-10.1-4.8-6.4-8.2-7.4z"/></defs><clipPath id="SVGID_24_"><use xlink:href="#SVGID_23_" overflow="visible"/></clipPath><g class="st42"><path class="st33" d="M706 362.1h55.1v67.4H706z"/><path class="st34" d="M754.7 380.3s-12.7 5.9-14 14.9 3 6.2 5.7 8.8 4.5 7 2.7 10.2-3.4 2.2-3.4 2.2-1.1 4.3 4.4 3.5 11.7-18.4 11.7-18.4l-7.1-21.2z"/><path class="st34" d="M742.7 408.3s-2.8 10.5-9.4 12.7c-1.5.5-3.3-1.9-3.3-1.9s-.2 3.8 1 4.3c3.4 1.3 9.4-.4 9.4-.4s6.6-7.5 2.3-14.7zM734.8 408.7s-7.3 5.5-13.3 5.7c-4.5.1-3.7-2.4-3.7-2.4s-4.5 4.8 1.2 5.2 12.7-1.8 15.8-8.5zM717.2 401.7s-2.5 3.2 1.3 3.9c2.1.4 4.2.5 6.3.4-2.2 1.3-4.5 2.2-7 2.8-4.5 1.2-4.9-5.5-4.9-5.5l4.3-1.6z"/></g><g><defs><path id="SVGID_25_" d="M842.5 428.6c-2.4-3.7-6.4-5-10.1-5.1 1-15.9 6.4-22.7 6.6-23 1.7-2.2 1.4-5.3-.8-7-2-1.6-4.9-1.4-6.7.4-.9 1-8 9.5-9.1 29.2-4.7-.1-11.1.7-15.6 5.3-8.8 9 5.3 7 7.7 5.6 0 0-9.6 10.3-3 10.2s12.9-6.5 12.9-7-3.4 11.4 2.1 10.3 8.8-12.3 8.8-12.3.1 4.9 4.2 4.9 6.4-6.3 3-11.5z"/></defs><clipPath id="SVGID_26_"><use xlink:href="#SVGID_25_" overflow="visible"/></clipPath><g class="st43"><path class="st33" d="M797.5 379.6h63.3v75.8h-63.3z"/><path class="st34" d="M841.7 395s-11 6.9-12.7 27.1c-.2 2.4.7 2.9 2.6 3.6 4.6 1.5 9.1 4.2 9.1 9.6s-3.1 7.2-3.1 7.2 6.5 4.2 8.4-1.5.8-17.6-8.2-18.9c0-1.1 6.5-23 5.7-23s-1.8-4.1-1.8-4.1z"/><path class="st34" d="M832.5 430.5s1.3 5.5-6.8 16.8c-3.2 4.5 8.2-2.1 8.2-2.1s4.5-8.8-1.4-14.7zM825.5 433.7s-5.6 6.8-11.3 8.6c-2.4.9-5 .7-7.3-.3 0 0 .3 5.5 5.9 4.3s11.6-5.3 12.7-12.6zM805.5 428.5s-1.7 5.7 3.9 4.5 7.9-2.5 7.9-2.5-1.6 3.1-7.1 7.3-9.7-4.8-9.7-4.8l5-4.5z"/></g></g><path class="st41 js-onboarding-ed-anim-flame js-onboarding-ed-anim-flame2" d="M653.1 162.7s-24.5 10.6-20.5 44.8c3.8 32.1-10.7 30-10.7 30s19.6 8 31.7-8c16-21.3-15.1-44.5-.5-66.8z"/><path class="st26 js-onboarding-ed-anim-monster-eye onboarding-ed-anim-monster-eye--right" d="M842.8 250.5c-10-3.8-14.7-15.5-10.7-26.2 2.6-7.1 8.8-12.2 16.3-13.4-8.9-1.4-18.1 4.1-21.7 13.4s.7 22.4 10.7 26.2c2.9 1.1 6 1.4 9.1 1-1.3-.2-2.5-.5-3.7-1z"/><ellipse class="st34" cx="747.3" cy="217" rx="4.3" ry="2.3"/><ellipse transform="rotate(-79.199 775.38 216.221)" class="st34" cx="775.4" cy="216.2" rx="2.3" ry="4.3"/><path d="M768.2 216.9c.5-.8 1.2-1.5 2-2l1.2-.7 1.4-.6 1.6-.3h1.8c1.2.1 2.4.6 3.4 1.3.8.6 1.5 1.4 2 2.3.3.6.6 1.2.7 1.9.1.3.1.5.1.8 0 .2-.2.4-.4.4h-.3l-.5-.5-1.3-1.2c-1.1-1-2.5-1.8-4-2.1h-2.6l-2.3.5-1.7.6-.6.3c-.2.1-.4 0-.5-.2-.1-.1-.1-.4 0-.5zM739.7 218l.3-.7c.3-.6.7-1.1 1.1-1.6l.9-.9 1.2-.9c1-.6 2.1-.9 3.2-1h1.7l1.6.4c.9.3 1.8.8 2.5 1.4.5.5 1 1 1.3 1.6l.2.5v.2c.1.2 0 .4-.2.5h-.5l-.5-.2-1.6-.6-1.9-.7-1.1-.2h-1.2c-.8 0-1.6.1-2.3.4l-2 1-1.4 1-.5.4c-.2.1-.4 0-.5-.1 0-.1-.1-.2-.1-.3l-.2-.2z"/></g><g id="Documents"><path class="st41 js-onboarding-ed-anim-flame js-onboarding-ed-anim-flame3" d="M634.2 222.6s-19.4-5.5-17.3-32.1c1.7-21.6-8.4-21.8-8.4-21.8s12.8-3.5 21.5 8.8c11.6 16.4-9.6 39.8 4.2 45.1z"/><path class="st44" d="M453.7 247.8c-.5-3.7 99.8-26.8 169.5-37.7v13s-134.7 26.1-170.1 33.6l.6-8.9z"/><defs><path id="SVGID_27_" d="M578 214.3l-10.2 113.2s13.6 1.6 19.2-15.6c3.2-9.9 12.3-7 17.5-7.7s8-7.4 10.7-6.8c5.7 1.4 7.7 13.8 10.7 15.5s7.5 1.8 10.4-1.1 3.1-8.8 6.8-9.6 8 .9 8.4 3.7 1.2 6.8 4.3 7.2c10.4 1.1 20.3-3.8 20.3-3.8l5.7-95H578z"/></defs><clipPath id="SVGID_28_"><use xlink:href="#SVGID_27_" overflow="visible"/></clipPath><g class="st45"><path class="st17" d="M532.3 183.3H713v161H532.3z"/><path class="st46" d="M572.4 309c10-3.1 5.5-18.5 12.7-18.5s6.5 5.4 15.8 0 16.9-11.5 21.9-6.4 2.5 19.5 6.9 16.9 7.8-14 13.7-14 9.4 11.9 15.9 11.9 19.5-19.1 19.5-19.1L682 322l-133.6 11 3.5-36.5s16.7 13.6 20.5 12.5z"/><path class="st47" d="M572.4 315.6c10-3.1 5.5-18.5 12.7-18.5s6.5 5.4 15.8 0 16.9-11.5 21.9-6.4 2.5 19.5 6.9 16.9 7.8-14 13.7-14 9.4 11.9 15.9 11.9 19.5-19.1 19.5-19.1l3.2 42.2-133.7 11 3.5-36.5s16.8 13.6 20.6 12.5z"/></g><path class="st48" d="M635.7 235.2l37 .5M634.5 247.2l37 .5M633.3 259.3l37 .5M632.1 271.1l37 .5"/><defs><path id="SVGID_29_" d="M586.9 231.2l-3.6 40.5 41.6 1 3-41.5z"/></defs><clipPath id="SVGID_30_"><use xlink:href="#SVGID_29_" overflow="visible"/></clipPath><g class="st49"><path class="st24" d="M574.9 219.8h66v77.7h-66z"/><g class="st50"><ellipse cx="603.6" cy="271.8" rx="16.7" ry="14.6"/><ellipse transform="matrix(.07846 -.9969 .9969 .07846 311.32 830.923)" cx="605.1" cy="247.1" rx="12.5" ry="8.7"/></g></g><path class="st51" d="M450.7 247.6l4.2 9.3s90.7-12 171.3-32.9l-1-11.6c-48.6 11.7-109 23.5-174.5 35.2z"/><path class="st26 js-onboarding-ed-anim-flame js-onboarding-ed-anim-flame4" d="M638.5 176.5s-6.5 7.7-1.5 19 14.5 21.9 8.2 31.3 16.7-7.6 1.7-32.1c-7.3-12-7.5-12.7-8.4-18.2z"/><g><defs><path id="SVGID_31_" d="M377.7 242.7s-8.9 11-7.8 28.2 16.4 36.3 16.4 36.3l40.2-20.8c6.6-3.4 14.1-4.4 21.3-3l9.4 1.6c7.8 1.3 16.6.5 19.9-1.2s7.7-3.2 11.4-6c4.2-3.2 7.3-7.7 8.7-12.8l5.2-18.3c.5-1.6-.4-3.3-2-3.8-.6-.2-1.3-.2-1.9.1l-10 3.3c-5.1 2.4-16.3 1.6-18.8.8l-7.7-2.8 14.4-4-16.6-2.6c-3.6-.6-7.3-2.1-12.6 0s-13.4 4.2-13.4 4.2l-56.1.8z"/></defs><clipPath id="SVGID_32_"><use xlink:href="#SVGID_31_" overflow="visible"/></clipPath><g class="st52"><path transform="rotate(-4.8 431.239 263.43)" class="st53" d="M337.6 198.4h187.3v130H337.6z"/><path class="st54" d="M480.8 240.9s-32.4 5.3-43.4 2.5-61.3 6.8-86.2 28.3l52.2-72 77.4 41.2z"/><path class="st4 js-onboarding-ed-anim-glow" d="M496 240c4.2 20.7-7.8 41.2-8.3 40.4s29.2-.1 29-2.6 7-42 7-42L496 240zM364.6 304.6s59-25.4 75.7-21.9.3 8.6.3 8.6l-58.4 30-17.6-16.7z"/><path class="st55" d="M476.7 246.7l-7.4 50.4s-29-9.5-29-10.2 1.8-20.4 2.8-31.2c.4-4.3 2.8-8.1 6.5-10.3h.1c2.6-1.2 5.5-1.8 8.4-1.8l18.6 3.1z"/><path d="M466.9 256.9h6c2 0 4.1-.1 6.1-.3l1.7-.2 1.7-.3 1.7-.4 1.7-.5 3.4-1.2 3.2-1.4 2.9-1.4 2.5-1.5c1.5-.9 2.7-1.8 3.6-2.5l.9-.7.3-.3c.5-.3 1.1-.2 1.4.3.3.4.2.9-.1 1.2l-.4.3-1 .8c-1.2 1-2.4 1.9-3.7 2.7l-2.6 1.6-3 1.5-3.3 1.4-3.5 1.2-1.8.5-1.8.4-1.8.3-1.8.2-3.4.2h-3c-1.5-.1-3-.4-4.5-.8l-1.6-.6c-.2 0-.3-.2-.3-.3 0-.1 0-.1.1-.2s.3-.1.4 0zM460.9 265.8l1.9.2 2.1.2 2.7.2h6.9l3.8-.3 3.9-.7 3.8-1.1 3.6-1.4c2.1-.9 4.1-1.9 6.1-3.1 1.4-.8 2.7-1.7 4-2.7l1-.8.3-.3c.5-.3 1.1-.2 1.4.3.3.4.2.9-.1 1.2l-.4.4-1.1.9c-1.3 1-2.7 2-4.1 2.9-2 1.3-4.1 2.4-6.3 3.3l-3.7 1.5-4 1.2c-1.4.3-2.7.5-4.1.6l-4 .2h-3.7l-3.3-.4-2.8-.5-2.1-.5-1.8-.6c-.2-.1-.3-.3-.2-.5s.3-.3.5-.2h-.3zM465.1 275.5h6.7c2.3-.1 4.6-.3 6.8-.7l3.7-.9 1.9-.6 1.8-.7 1.8-.8 1.8-.9 3.4-1.9 3-2 2.6-2c1.3-1 2.5-2.1 3.6-3.2l.9-1 .3-.3c.4-.4 1-.3 1.4.1.3.3.3.8.1 1.2l-.3.4-1 1.1c-1.2 1.2-2.4 2.3-3.7 3.4l-2.7 2.1-3.1 2.1-3.5 2-3.8 1.8-2 .8-2 .6-4 .9c-2.4.4-4.8.5-7.2.4l-2.8-.3-2.2-.4-1.8-.6c-.2 0-.3-.2-.2-.4 0-.2.2-.3.3-.3.1 0 .2.1.2.1z" class="st56"/></g></g></g></svg>'
  16844. });
  16845. this["DDG"]["templates"]["hp_onboarding_ed_slide2"] = Handlebars.template(function(e, f, b, a, c) {
  16846.     this.compilerInfo = [4, ">= 1.0.0"];
  16847.     b = this.merge(b, e.helpers);
  16848.     c = c || {};
  16849.     return '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1200" height="460" viewBox="0 0 1200 460" preserveAspectRatio="xMidYMax" class="onboarding-ed__image--animated"><style>.st0,.st1{fill: #ec9b33;enable-background:new}.st1{fill:#f7b561;}.st2{fill:#f2e6ce}.st3{fill:#f2e4ce}.st4{fill:#e3dac0}.st5{clip-path:url(#SVGID_2_)}.st6{fill:#f7efe4}.st7{fill:#fff}.st8{fill:#c2aa8e;enable-background:new}.st9{clip-path:url(#SVGID_4_)}.st10{fill:#ffdeb7}.st11{fill:#efc593}.st12{fill:#051a2b}.st13{fill:#3a4da1}.st14{clip-path:url(#SVGID_6_)}.st15{fill:#871299}.st16{fill:#192659}.st17{clip-path:url(#SVGID_8_)}.st18{fill:#2a3879}.st19{fill:#192559}.st20{clip-path:url(#SVGID_10_)}.st21{clip-path:url(#SVGID_12_)}.st22{fill:#e5bd8d}.st23{opacity:.7}.st24{fill:#381d0f}.st25{fill:#422212}.st26{fill:#f7d1a4}.st27{clip-path:url(#SVGID_14_)}.st28{fill:#e4bc8c}.st29{clip-path:url(#SVGID_16_)}.st30{clip-path:url(#SVGID_18_)}.st31{fill:#041624}.st32{clip-path:url(#SVGID_20_)}.st33{fill:#ffe956}.st34{fill:#f7dc21}.st35{fill:#e2c810}.st36{fill:#85aac8}.st37{fill:#ffdeb7}.st38{fill:#f7d2a5}.st39{opacity:.1}</style><g class="js-onboarding-ed-anim-ghost-left-hand-shaking"><path class="st0" d="M51.7 236.8L1228 171v107.4z"/><path class="st1" d="M102.6 257.2l1117 39V391zM111 223L1231.2 53.9v94.7z"/></g><path class="st2 js-onboarding-ed-anim-ghost-left-hand" d="M483.1 116.8l21.8 3c4.9.7 6.2-5.1 14.2-12.4 1.7-1.6 6.1-6 9.7-2.9s-5 15.9-5 15.9 16.8-3.9 17.4 3.9-13.9 6.8-13.9 6.8 16.1 2.2 13.7 9.8c-1.4 4.6-12 2-16.9-.8 0 0 9.5 7.2 5.1 11.9s-13.6-5-21.8-13.2c-2.2-2.2-16.3-3.6-29.5-4.2"/><g class="js-onboarding-ed-anim-ghost-float"><path class="st3" d="M332.3 223.1s-62.4 28.2-48 38c15 10.2 68 3.6 79.7-8.7 19.9-20.9 11-47.3-31.7-29.3z"/><path class="st4" d="M406 219.2s-28.5 60.1-11.6 60.1c9.4.1 53-37.4 58.5-49.3 12.1-26.1-26.3-52.2-46.9-10.8z"/><defs><path id="SVGID_1_" d="M240.7 214c11.2-7 48.1-29.4 65.7-47 45-45 19.4-79.7 43-116.7C367 15.8 409.9-4.6 447.1 5c49.1 12.6 63 88.7 51.3 142.3-19.8 91-43.7 107.3-50.7 114.3s-48.3 34.2-25.3-3.6-20.8 6.3-39 15.2c-15.2 7.5-76.7 29.3-37.3-13.3s-10-23.3-10-23.3-48.8 22.4-87.4 14.4-19.2-30-8-37z"/></defs><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" overflow="visible"/></clipPath><g class="st5"><path class="st6" d="M199-33h332v336H199z"/><path class="st7" d="M326.6 96.7s.1-1 .4-2.7c-.3.9-.4 1.8-.4 2.7zM497.6 48.6C513 27.9 527.1-8.4 451-21 351.2-37.5 332.7 66 337.6 86.8c7.6-48 54.6-65.8 98.5-62 27.8 4.3 42.5 19.1 50.2 40.3 20 55.4.2 136.9-33.3 188.9-6.5 10.1-12.1 13.5-12.1 13.5l55.6-15.7 19.1-179.2-18-24zM327.6 137.3c-32.1 63.4-80.3 75.4-80.3 99.5 0 10.2 13.2 16.9 29.4 15.7 14-1-3.7 7.1-3.7 7.1s-62.6 9.2-62.6-13.5S325.5 126 327.6 137.3zM358 245s-21.8 29.2-8.2 33.4c12.4 3.8 36.1-6.2 36.1-6.2l-41.6 34.3L310 273l48-28z"/></g><path class="st8 js-onboarding-ed-anim-ghost-mouth" d="M415.7 131.6c1.9-13.4 9.6-26.9 25.2-26.4 10 .3 10.7 9 9.9 14.4-1 6.4-4.3 8.6-5 15.1s2.4 11.2 1.8 17.6c-.6 5.9-4.9 9.4-14.7 8.4-12.6-1.1-18.9-17.4-17.2-29.1z"/><ellipse class="st8 js-onboarding-ed-anim-ghost-eye onboarding-ed-anim-ghost-eye--left" cx="474.5" cy="87.3" rx="6" ry="11"/><ellipse class="st8 js-onboarding-ed-anim-ghost-eye onboarding-ed-anim-ghost-eye--right" cx="409.8" cy="80.6" rx="6.8" ry="12.3"/><path class="st7 js-onboarding-ed-anim-ghost-right-hand" d="M353.7 123.2c-16.9-5.8-24.8-3.2-30.3-1.6-11.7 3.5-16.1 5.6-18.7 1.7s10-11.6 10-11.6c-5.7 0-15.5-1.6-15.5-6.5S312 100 312 100s-13.9-7.9-9.2-12.5 18.9 4.8 18.9 4.8-2.5-15.9 2.7-17 6.3 5.1 7 7.3c3.4 10.3 3.4 16.6 8 18.5s18.6 4.1 18.6 4.1c3.8 5.6 2.2 15-4.3 18z"/></g><g id="Runner"><g><defs><path id="SVGID_3_" d="M775.3 562.4s47.4-162.5 50.8-183.4c2.9-18-6.8-14.4-11.7-10.7-7.1 5.5-36.6 23.2-36.6 23.2l-15.9-62.4s42.3-17.4 59.5-22.8 39.8-9.6 51.4 0c15.9 13.2 2.2 81.5-57.8 251.3l-39.7 4.8z"/></defs><clipPath id="SVGID_4_"><use xlink:href="#SVGID_3_" overflow="visible"/></clipPath><g class="st9"><path class="st10" d="M740.4 279.4h152.1v298.1H740.4z"/><path class="st11" d="M744.1 371.3s60.1-25.5 68.8-27.4c16.7-3.8 20.8 17.7 12.9 36.8s-81.7 55.5-81.7 55.5v-64.9zM849.7 298s25.6-4.7 17.2 42.9c-9.2 51.8-66.8 224.1-66.8 224.1h31.3l61.1-238s-10.2-29-42.8-29z"/></g></g><path d="M672.7 137.3s23-18.1 23-34.8 23.5-31.1 23.5-31.1-8.2 11.1-8.2 34.9c0 17-22.9 31-38.3 31z"/><path class="st12" d="M714.4 68.5s-8.5-8-17-6.6c-14.7 2.3-18.9 22.1-30 46.5-9.3 20.5-36.3 17.5-36.3 17.5s24.7 8.3 41.7 5 26-17.3 28-30.3 10.7-20.3 14.7-20.3l-1.1-11.8z"/><path class="st13" d="M722 56.7s-16.7.3-13.7 15.8 14.5 17 16 15.5L722 56.7z"/><defs><path id="SVGID_5_" d="M722 56.7s-16.7.3-13.7 15.8 14.5 17 16 15.5L722 56.7z"/></defs><clipPath id="SVGID_6_"><use xlink:href="#SVGID_5_" overflow="visible"/></clipPath><g class="st14"><path class="st15" d="M702.2 49.9h29.5v44.9h-29.5z"/><path class="st16" d="M705.5 66.3s3.1 7.5 7.1 5.2S721 60 721 60l6.3 28.5-21.8 8.2V66.3z"/></g><defs><path id="SVGID_7_" d="M670.1 372.4s-39.1 97.7-89.8 160.8L617 567s114-154 131.3-194.7l-78.2.1z"/></defs><clipPath id="SVGID_8_"><use xlink:href="#SVGID_7_" overflow="visible"/></clipPath><g class="st17"><path class="st18" d="M562 333h204.1v252H562z"/><path class="st19" d="M693.5 392.8l-54 99.9 38.6 7.2 64.4-97.3z"/></g><defs><path id="SVGID_9_" d="M655.3 465c-7.9-4.6-15.5-12.2-20.3-17.8-16.3 29.1-34.8 61.3-54.7 86L617 567s33.7-45.6 67.3-93.7c-8.8-1-20.4-3.3-29-8.3z"/></defs><clipPath id="SVGID_10_"><use xlink:href="#SVGID_9_" overflow="visible"/></clipPath><g class="st20"><path class="st10" d="M566 408.3h142v184H566z"/><path class="st11" d="M667.1 444.3s-54.5 92.5-86.8 122.7l27.4 28 104.6-128.7-45.2-22z"/></g><defs><path id="SVGID_11_" d="M794.3 215s52.4 12.2 69.3 15.8 41-1 57.5-33.4c14.7-28.9 39.9-90.8 44.2-100.8s10.7-14.8 12.6-17c2.6-2.9 4.4-6.3 5.3-10.1 1.2-4.7.6-17.3-5.4-20.4-2.9-1.5-16.9-6-16.9-6-1.6-.5-10.2-.3-13.9 5.4-2.5 3.9-2.6 11.5-2.6 11.5-.8-2-2.4-3.5-4.4-4.1-3.4-1-7.4-1.5-5.9 1.7 3 6.2 10.8 25 6.7 35.4-2 5.1-30.8 67.9-37.1 81.3s-16.2 27.4-42.5 23.1-88.7-21.3-88.7-21.3l21.8 38.9z"/></defs><clipPath id="SVGID_12_"><use xlink:href="#SVGID_11_" overflow="visible"/></clipPath><g class="st21"><path class="st10" d="M729.5-4.3h262.9v250.5H729.5z"/><path class="st22" d="M979.2 57.4l-3.6 4.9c-6.7 2.2-8.5-.7-18.7-4.2-4.9-1.8-9.1-4.9-12.4-9l-.2 11c1.5 2.4 2.8 5 3.9 7.6 0 0 11.9.4 14.4 11.5 0 0 6.2-6.3 13-6.8 2.8-4.3 3.5-8.7 3.6-15z"/><path class="st11" d="M772.5 184.3s65.5 27.1 88.4 32.5c9.6 2.3 25.6 2.6 37.7-7 19.4-15.5 50.3-94.2 53.3-103.5 5.8-17.8 22.7-30.2 29.5-30.2s-68.1 167.1-68.1 167.1l-133.7-23.4-7.1-35.5z"/><g class="st23"><path class="st24" d="M967.9 42.9c-1.7.1-3.4.4-5.1.9-1.7.5-3.3 1.1-4.9 1.9-.9.5-1.7 1-2.5 1.6l-1.1 1-1 1.1-.5.6-.4.6c-.3.4-.5.8-.7 1.3-.3.9-.6 1.8-.8 2.7-.2.9-.3 1.8-.4 2.7-.1.9-.1 1.7-.1 2.4s.1 2.8.1 3.7v1.4c.1.6-.3 1-.9 1.1-.6.1-1-.3-1.1-.9v-1.5c0-.9 0-2.2.1-3.8s.1-1.6.3-2.5c.1-.9.3-1.9.6-2.8.3-1 .6-2 1.1-2.9.2-.5.5-1 .8-1.4l.5-.7.6-.6 1.2-1.1 1.3-.9c.9-.6 1.8-1.1 2.7-1.5 1.6-.7 3.3-1.3 5.1-1.6 1.7-.4 3.4-.7 5.1-.8z"/></g><g class="st23"><path class="st24" d="M972.7 44.8l-1.3.3-1.5.4-1.9.7-2.1 1.1-2.2 1.4c-.7.5-1.4 1.1-2.1 1.8-.7.7-1.3 1.4-1.8 2.2l-.4.6-.3.6c-.2.4-.4.9-.5 1.3-.3.9-.6 1.8-.8 2.7-.2.9-.3 1.8-.4 2.6s-.2 1.6-.2 2.4-.1 2.7-.1 3.5v1.3c0 .6-.4 1-1 1s-1-.4-1-.9c0 0 0-.5.1-1.4s.1-2.2.3-3.7.2-1.6.4-2.4.4-1.8.6-2.7c.3-1 .6-1.9 1-2.8.2-.5.4-.9.7-1.4l.4-.7.4-.6c.6-.8 1.3-1.6 2.1-2.3.7-.7 1.5-1.3 2.3-1.8l2.4-1.3 2.2-1c1.6-.6 3.2-1 4.9-1.2l-.2.3z"/></g><g class="st23"><path class="st24" d="M978.8 46.9l-1.2.4c-1.1.4-2.1.9-3.1 1.4l-2 1.2-2 1.5-1 .9-1 1-.9 1.1-.4.5-.4.6c-.3.4-.5.8-.7 1.2-.2.4-.4.8-.5 1.2-.3.9-.5 1.7-.7 2.6-.2.9-.3 1.7-.4 2.5s-.2 1.5-.2 2.2-.1 2.6-.1 3.4v1.3c0 .6-.4 1-1 1s-1-.4-1-.9v-1.4c0-.9.1-2.1.3-3.5s.2-1.5.4-2.3.4-1.7.6-2.6c.2-.9.5-1.8.9-2.7.2-.4.4-.9.6-1.3l.8-1.3.5-.6.5-.5 1-1 1-1 1.1-.9 2.2-1.4 2.1-1.1c1.4-.7 2.9-1.2 4.5-1.5h.1z"/></g><path class="st25" d="M945.1 58.7c.5 1.2 1.1 2.3 1.9 3.4.7 1 1.8 2 2.8 2 .3 0 .5.1.6.4.2.5.5 1 .8 1.5.3.4.8.8 1.3 1 1.1.4 2.3.5 3.4.3.2 0 .5.1.6.3l.6.8.3.4.3.3.4.3.4.2.8.3c.6.1 1.2.1 1.8-.1l2-.6c.3-.1.7 0 .8.3v.1c.2.6.6 1.2 1.1 1.6.5.4 1.2.5 1.8.4 1.4-.3 2.7-.9 3.8-1.8h-.1l4.9-6.4h.3c.1 0 .2.2.1.3l-4.2 6.8h-.1c-.7.5-1.4.9-2.1 1.3-.7.4-1.6.7-2.4.8-.9.1-1.8-.1-2.6-.6-.7-.5-1.2-1.3-1.5-2.1l.8.4-2.1.6c-.7.2-1.5.3-2.3.2l-1.2-.4-.5-.3-.5-.4-.4-.4-.4-.4-.6-.9.6.3h-2c-.7 0-1.4-.2-2.1-.5l-.9-.6-.8-.8c-.4-.5-.8-1.2-1-1.8l.6.4c-.8-.1-1.6-.4-2.2-.9-.6-.5-1.1-1-1.5-1.6-.8-1.1-1.6-2.4-2.1-3.7-.1-.3 0-.7.3-.8s.7 0 .8.3l-.3.1z"/><path class="st26" d="M930.9 55.7s10.6 6.2 13.2 16.8-8.3 26.6-8.3 26.6l-4.9-43.4z"/></g><defs><path id="SVGID_13_" d="M766.1 174.2l-91.7-26.5s-56.3-14.5-85.7 14.9C565 186.3 524.4 257 524.4 257l-6.5 9.9c-3.2 4.8-6.1 10.5-4.6 17.3 3.1 14.5 7.7 17.2 7.7 17.2 3.7 4 9.4 6.4 14.9 7 12.5 1.3 17.1-4.8 17.1-8.5v-1.5l1-.6c1.5-.9 3.6-3.2 4.7-6.5s1.7-7.8.2-12.8c-1-3.5-2.3-4-1.9-12.8.5-12.3 48.7-75.7 48.7-75.7s21.8-27.5 62.7-11.7c37.8 14.7 39.6 59.5 39.6 59.5l58.1-63.6z"/></defs><clipPath id="SVGID_14_"><use xlink:href="#SVGID_13_" overflow="visible"/></clipPath><g class="st27"><path class="st10" d="M482.1 101.4h303.3v232.8H482.1z"/><path class="st28" d="M501 290.6s36.8 16.4 46.4 2.9c0 0 0 6.5 5.7 4.8 2.3-.7 3.7 10.1 4.7 10.1 3.3 0-42.1 12.6-42.1 12.6L501 290.6z"/><g class="st23"><path class="st24" d="M527.5 289v1.3c.1 1.1.3 2.2.6 3.3.3 1.5.8 3 1.5 4.4.4.8.8 1.5 1.3 2.2l.8 1 .9 1 2 1.7 2.2 1.3c1.3.7 2.7 1.3 4.2 1.6l1.8.3h2.6c.6 0 1 .4 1 1s-.4 1-1 1H544l-1.5-.2-2-.4c-1.6-.4-3.1-1.1-4.5-1.9l-2-1.6c-.7-.6-1.4-1.2-2.1-1.9l-.9-1.1-.9-1.2c-.5-.8-.9-1.6-1.3-2.4-.6-1.5-1.1-3-1.4-4.6-.2-1.1-.3-2.3-.4-3.4v-1.3c0-.2.1-.3.2-.3s.4 0 .3.2z"/></g><g class="st23"><path class="st24" d="M536.1 289.7v1.2c-.1 1 0 1.9.2 2.9.1.6.3 1.2.5 1.8.3.7.6 1.3.9 1.9l.6 1 .7.9c.5.6 1 1.2 1.6 1.8 1.1 1.1 2.4 2 3.8 2.6l2 .7 1.9.3h4c.6-.1 1 .3 1.1.9.1.6-.3 1-.9 1.1h-2.6l-1.8-.2-2.1-.5-2.2-.9c-1.5-.8-2.9-1.8-4.1-3-.6-.6-1.1-1.3-1.6-2s-.9-1.4-1.3-2.1c-.4-.7-.7-1.4-.9-2.1-.2-.7-.4-1.3-.5-2-.1-1-.1-2.1 0-3.1v-1.1c.1-.2.4-.3.5-.2.1 0 .1.1.2.2v-.1z"/></g><g class="st23"><path class="st24" d="M519.5 288.9v1.4c.1 1.2.3 2.4.6 3.5.5 1.6 1.2 3.1 2.1 4.5l.8 1.1.9 1.1 2.1 1.9c1.5 1.2 3.2 2.2 4.9 3 1.5.7 3.1 1.3 4.7 1.8l1.9.5 1.5.2h1.3c.6 0 1 .4 1 1s-.4 1-1 1h-1.5l-1.6-.3-2.1-.6c-1.7-.6-3.3-1.3-4.9-2.1-1.8-.9-3.5-2.1-5-3.4-.8-.7-1.5-1.4-2.2-2.2l-.9-1.2-.8-1.2c-.9-1.5-1.6-3.2-2.1-4.9-.3-1.2-.5-2.5-.5-3.7v-1.4c0-.2.1-.3.2-.3s.3.1.3.2l.3.1z"/></g><g class="st23"><path class="st24" d="M554.5 298.5h-.3l-.8.3c-.9.3-1.9.3-2.9.1l-.9-.2-.9-.4c-.6-.4-1.2-.9-1.6-1.5-.4-.7-.6-1.5-.6-2.3 0-.5.2-.9.4-1.3l.5-1c.7-1.3 1.2-2.6 1.5-4 .1-.6.2-1.3.3-1.9v-1.7c-.1-.9-.3-1.7-.6-2.5l-.4-.9c-.1-.1 0-.2.1-.3h.3l.5.9c.4.9.7 1.8.8 2.7.1.6.1 1.3.1 1.9 0 .7-.1 1.4-.2 2.1-.3 1.5-.8 2.9-1.5 4.2l-.5 1c-.1.3-.2.5-.2.8 0 .6.2 1.2.5 1.7s.8.9 1.3 1.2l.7.4.8.2c.8.2 1.7.2 2.5 0l.7-.2h.2c.2 0 .4.2.4.4 0 .1 0 .1-.1.2l-.1.1z"/></g><path class="st11" d="M730.5 207s-31.7-38.2-73.1-44.4c-25.1-3.7-38.1 0-57.4 16.4-13.5 11.5-45.1 65.1-43 86.7S730.5 207 730.5 207z"/></g><defs><path id="SVGID_15_" d="M728.8 166.8s5.5 21.2-.8 33.8-21.2 19.2-21.2 19.2 8.5 32.7 2.5 51-25.2 73-25.2 73-37.6 54.4-1.1 67.8c34.1 12.5 50.2 4.3 60 0s60.3-35.6 60.3-35.6-19.6-5.1-19.6-31.8 15.4-29.9 15.4-29.9l-25.4 9s13.7-50.8 20-57.1 20.6-20.7 24.6-32.5-22.8-40.4-22.8-49.8l-5-1.5s6.5 26.7-12.8 22.5-34.9-29.2-34.9-34l-14-4.1z"/></defs><clipPath id="SVGID_16_"><use xlink:href="#SVGID_15_" overflow="visible"/></clipPath><g class="st29"><path class="st18" d="M661.7 121.2h184.7V463H661.7z"/><path class="st19" d="M792.6 351.3s-48.3 23.9-80.9 25c-27.5.9-36-2.4-36-21.4L647 393l49 49.3 92.1-24 27.1-41.3-22.6-25.7z"/></g><defs><path id="SVGID_17_" d="M819.1 106h3.6c3.6 0 6.5-2.9 6.5-6.5v-.4c-2-27.4-6.7-66.7-18.1-80.1-15.4-18-45-13.6-53.8-11s-44.2 12-39.7 57 24.2 59.4 26.7 69.5 2.3 25 2.3 40.3c0 0 3.1 32.2 26.8 32.2s13.6-28.2 13.6-28.2l3.6-28.3c7.3-2.6 13.9-6.7 19.4-12.1 8.4-8.5 11.9-20.8 9.1-32.4z"/></defs><clipPath id="SVGID_18_"><use xlink:href="#SVGID_17_" overflow="visible"/></clipPath><g class="st30"><path class="st10" d="M842.2 226.9l-142.5-8.5V-12.7l142.5 8.5z"/><path class="st26" d="M798.1 148.4s-12.4 5.6-28.2 2.5c2.6 25.2 20.5 43.3 20.5 43.3l7.7-45.8zM780.8 17.1s-52.8 66.3-36.5 94.3-10.3 51.2-10.3 51.2L693 60l87.8-42.9z"/><path class="st31" d="M737.5 87.8s22.4-20.5 28.6-41.3c0 0 35.9-14 46.1-29.5 0 0-14.9-19.8-52.7-11.1-30 6.9-52.4 32-48.6 56 5 31.8 19.9 59.3 19.9 59.3s-10.8-34.9-4.6-48.8c2.5-5.6 18.1-8.5 18.1-16.8-1.5 10.9-3.8 21.6-6.8 32.2z"/><path class="st11" d="M832 106.3h-21.9s10.3 3.7 6.2 24.8l15.7-24.8z"/></g><ellipse class="js-onboarding-ed-anim-ghost-girl-eye onboarding-ed-anim-ghost-girl-eye--left" cx="811.1" cy="71.4" rx="3.4" ry="5.6"/><ellipse class="js-onboarding-ed-anim-ghost-girl-eye onboarding-ed-anim-ghost-girl-eye--right" cx="775.9" cy="68.7" rx="3.7" ry="6.6"/><path class="js-onboarding-ed-anim-ghost-girl-face" d="M806.7 119.6s-17.3-11.1-26.7-7.5c-5.2 2-6.8 5.5-6.8 10.4s4.2 8.6 9.8 8.6 17.2-5 23.7-11.5zM773.4 52.6l2.2-1.5 1.1-.7 1.2-.7 2.7-1.5 2.7-1.5 1.2-.7 1.1-.6.9-.5.7-.4.7-.3c.2 0 .3.1.3.3v.1l-.4.6-.5.7-.8.9c-1.4 1.4-3 2.6-4.8 3.6l-2.9 1.3-1.4.5-1.3.4c-.9.2-1.8.4-2.7.5-.1 0-.3-.1-.3-.2 0-.2.1-.3.3-.3zM807.3 45l1.2 2.1 1.2 2.1.7 1.2.7 1.2.8 1.1.8 1.1.8 1 .7.9.6.7.5.5.5.5c.1.1.1.2 0 .3h-.2l-.6-.2-.7-.3-.9-.5-1-.7-1-.9-1-1.1-.9-1.2-.8-1.3-.6-1.3c-.4-.8-.7-1.6-.9-2.4-.2-.8-.4-1.7-.4-2.5 0-.2.1-.3.3-.3h.2z"/><g><defs><path id="SVGID_19_" d="M683.4 344.8c13.4-12.3 36.7-27.4 67.6-25.8 7.8.3 15.5 1.7 22.9 4.3 1.8-6.4 13.9-50.5 19.8-56.3s23.3-20 27.3-31.8-22.9-43.3-22.9-52.7l-10.7-2.5s8.1 25.2-11.2 21-32.3-28.6-32.3-33.4l-17.9-5.1s6.3 23.9 0 36.5-21.7 19.5-21.7 19.5 8.7 33.1 2.7 51.4c-5.1 15.7-19.5 61.5-23.6 74.9z"/></defs><clipPath id="SVGID_20_"><use xlink:href="#SVGID_19_" overflow="visible"/></clipPath><g class="st32"><path class="st33" d="M665.9 125.2h173.4v237.2H665.9z"/><path class="st34" d="M712.4 187.7s31.9 38.3 59.5 44.3 48.5-4.8 48.5-4.8l9 4.8-50 140.5-127.9-3.7 60.9-181.1z"/><path class="st35" d="M818.7 240.6s-13.2 23.9-66.1 23.1c0 0 40.4 14.9 62.6 2.1 22.2-12.8 3.5-25.2 3.5-25.2z"/></g></g><path class="st36" d="M796.8 314.9l1.5-.6-1.5.6z"/><path class="st37" d="M731.7 94.8c0 5-13-2.2-12.5-19 .2-7.8 6.8-8.8 10.8-8.2 2.2.4 3.7 2.4 3.5 4.6-.6 5.7-1.8 16.6-1.8 22.6z"/><ellipse transform="rotate(-85.2 731.828 78.892)" class="st38" cx="731.8" cy="78.9" rx="4.9" ry="4.5"/><g class="st39"><path class="st7" d="M699.9 66.6l-.7.3c-.6.3-1.2.7-1.7 1.1-.8.6-1.5 1.4-2.1 2.2-.8 1.1-1.5 2.2-2 3.4-.6 1.5-1.1 3-1.5 4.5-.4 1.7-.8 3.4-1.1 5.4s-.4 2-.6 3.1-.5 2.1-.8 3.2-1.3 4.2-2 6.3c-1.5 4.1-3.5 8-5.9 11.7-1.1 1.7-2.3 3.4-3.6 4.9-1.2 1.4-2.4 2.7-3.8 3.9-1.2 1-2.4 1.9-3.7 2.7-1 .6-2.1 1.1-3.2 1.6l-1.2.4-.9.3-.8.2c-.2 0-.3-.2-.3-.3 0-.1 0-.1.1-.2l.7-.4 1.8-1.2c.9-.6 1.7-1.3 2.5-2.1 1-1 2-2 2.9-3.1 1.1-1.3 2-2.7 2.9-4.1.9-1.5 1.9-3.1 2.8-4.9 1.8-3.6 3.4-7.4 4.7-11.3.7-2 1.2-4 1.8-6l.7-3c.2-1 .4-1.9.6-2.9.4-2 1-4.1 1.7-6 .7-1.8 1.6-3.5 2.7-5 1-1.4 2.1-2.5 3.5-3.5 1-.8 2.2-1.3 3.4-1.7.8-.2 1.6-.3 2.4-.3h.9c.2 0 .3.2.2.4l-.2.2-.2.2z"/></g><g class="st39"><path class="st7" d="M728.7 38.4l.3-.7 1.1-1.9c3.2-5.3 7.2-10 11.9-14.1 1.6-1.3 3.3-2.6 5-3.7l2.7-1.7 2.9-1.5 3-1.2.4-.2h.4l.7-.2 1.5-.5c2-.6 4-1.1 6-1.5 1.9-.4 3.8-.6 5.7-.8l5.2-.2h2.3l2.1.2 3.3.5 2.1.5.6.2h.2c.6.4.8 1.2.4 1.8-.2.4-.6.6-1 .6h-.8l-2-.3-3.1-.2h-4.1l-4.8.4-5.3.9-5.6 1.4-1.5.5-.7.2h-.7l-2.7 1.1-2.6 1.3-2.5 1.5c-1.6 1-3.2 2.1-4.7 3.3-2.7 2.1-5.2 4.5-7.5 7.1l-2.7 3.1-2 2.5-1.2 1.6-.4.6c-.3.5-1 .6-1.5.3s-.6-.9-.4-1.4v.5z"/></g><g class="st39"><path class="st7" d="M763.1 36.6v1.6c-.1 1.3-.2 2.7-.5 4-.3 1.9-.8 3.7-1.4 5.5-.3 1-.7 2-1.1 3l-1.2 3.1-1.4 3c-.5 1-1 1.9-1.5 2.8l-1.5 2.6-1.4 2.3-1.3 1.9-1.1 1.4-.9 1.2c-.2.2-.5.1-.7-.1-.1-.1-.1-.3-.1-.4l.6-1.4.8-1.5.9-2 1.1-2.4 1.2-2.7 1.2-2.9 1.2-3c.4-1 1.5-4 2.1-5.9l1-2.7.9-2.5.8-2.1.6-1.6.6-1.4c.2-.3.5-.4.8-.2.2.1.3.2.3.4z"/></g></g></svg>'
  16850. });
  16851. this["DDG"]["templates"]["hp_onboarding_ed_slide3"] = Handlebars.template(function(e, f, b, a, c) {
  16852.     this.compilerInfo = [4, ">= 1.0.0"];
  16853.     b = this.merge(b, e.helpers);
  16854.     c = c || {};
  16855.     return '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1200" height="410" viewBox="0 0 1200 410" preserveAspectRatio="xMidYMax" class="onboarding-ed__image--animated"><style>.st0{fill:#fff}.st1{clip-path:url(#SVGID_2_)}.st2{fill:#f0c090}.st3{fill:#d9b17d}.st4{fill:#d1ab78}.st5{clip-path:url(#SVGID_4_)}.st6{fill:#f7d09e}.st7{fill:#f7dbb4}.st8{fill:#f0b890}.st9{fill:#e6be8a}.st10{fill:#cfaa7c}.st11{fill:#876c44}.st12{clip-path:url(#SVGID_6_)}.st13{fill:#e1eff5}.st14{fill:#c9e6f5}.st15{fill:#db9f7e}.st16{fill:#64cf00}.st17{fill:#50a600}.st18{clip-path:url(#SVGID_8_)}.st19{fill:#f5be94}.st20{fill:#c47e59}.st21{opacity:.8;fill:#c77e57;enable-background:new}.st22{fill:#f5cd9d}.st23{clip-path:url(#SVGID_10_)}.st24{fill:#71787d}.st25{fill:#565a5e}.st26{fill:#868d94}.st27{fill:#dec19b}.st28{fill:#868e96}.st29{fill:#cad6e3}.st30{fill:#ced4db}.st31{opacity:.45;fill:none;stroke:#949da6;stroke-width:4;stroke-linecap:round;stroke-miterlimit:10;enable-background:new}.st32{fill:#bad7eb}.st33{fill:none;stroke:#fff;stroke-width:2;stroke-miterlimit:10}.st34{fill:#a1c9db}.st35{fill:#7ba1b5}.st36{fill:#e8f2f7}.st37{fill:none;stroke:#fff;stroke-miterlimit:10}.st38{fill:#e3f2fa}.st39{opacity:.45}.st40{fill:#949da6}.st41,.st42{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-miterlimit:10}.st42{opacity:.15;stroke:#000;stroke-width:2;enable-background:new}.st43{stroke-width:1.5}.st43,.st44{opacity:.15;fill:none;stroke:#000;stroke-linecap:round;stroke-miterlimit:10;enable-background:new}</style><g><circle class="st0" cx="319.7" cy="258" r="16.7"/><g class="js-onboarding-ed-anim-bathtub-arm"><defs><path id="SVGID_1_" d="M461.4 90.4c-1.3-11.5-6.5-22.2-14.8-30.3-15.9-14.8-39.8-16.5-60.4-13.9-25 3.2-49 10.2-72.6 18.7l-1.1.4-19 6.8c-2.8.6-12.9 1.6-22.1 5.5-5.5 2.5-10.3 6.2-14 11-.8 1.1-.9 2.5-.3 3.7l8.7 17.2s12.3.5 21.9-5c5.5-3.1 10.8-6.7 15.8-10.7 0 0 9.9-6.3 16.1-8.4 23.1-8 47.1-15.3 71.6-17.2 10.7-.8 22.1-.6 32.2 3.7 8.4 3.7 14.1 11.7 15 20.8.5 5.8-1.2 12.3-4.1 18.4-3.1 6.2-6.9 12-11.4 17.3-4.2 5-8.7 9.8-13.5 14.3-9.1 8.4-18.8 16.1-29.1 23.1-.7.5-3.2 1.7-3.3 2.5s.5.8.6 1.1c.6 1.1 1.3 2.1 2 3.1l10.4 16.4c1-.6 2-1.2 2.9-1.9 11.8-8 22.9-17 33.1-26.9 5.5-5.2 10.6-10.8 15.4-16.7 5.6-6.9 10.4-14.4 14.2-22.4 4.3-9.4 6.9-20.2 5.8-30.6z"/></defs><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" overflow="visible"/></clipPath><g class="st1"><path class="st2" d="M209.8 15.9h265.7v191H209.8z"/><path class="st3" d="M388 166.9s37.9-9.4 62.6-49.8c4.9-8.1 11.6-25.7 9.9-35.7 0 0 12.6 13.3-3.8 53.3-4.1 10-53.5 55.2-53.5 55.2l-15.2-23zM302.5 96.1s4.9-8 2.4-14.7 7.6-10.5 7.6-10.5 8.3-3.7 9.6-10.2 10.6-5.5 10.6-5.5l1 31.3-31.2 9.6zM429.5 45.3s-7.5 17.3.3 30.8c0 0-25.7-.2-26.5-1s7.1-37.1 7.1-37.1l19.1 7.3z"/></g><path class="st4" d="M267.8 85.9s1.9-3.8 8.1-5.9 13.2-.6 13.2-.6l4.5 20.9-22.8 3.4-3-17.8z"/></g><defs><path id="SVGID_3_" d="M410.7 35.7s13.1 44.2 6.9 68.6c-.1.4-.4.6-.8.6l-6.3-.3c-1.5 6.5-3.3 12.9-5.5 19.2-2.3 6.5-13.2 8.4-13.2 8.4s-4.7 5-4.2 16.9 1.6 12.4 6.9 18.5 23.3 36.7 25.5 65.4 3 39.6 3 39.6H319.3s-5.5-48.8 6.3-77.1 13.4-32.4 18.9-42.2 7.5-25.7 3.5-31.5-11.5-16.8-14.4-34.1C331 72.4 331 54.1 331 54.1s45.6-35.3 79.7-18.4z"/></defs><clipPath id="SVGID_4_"><use xlink:href="#SVGID_3_" overflow="visible"/></clipPath><g class="st5"><path class="st6" d="M291.3 3.6h155.1v292.2H291.3z"/><path class="st7" d="M377.9 142.2s28.6 34.8 28.6 135.3h27.7l-22.3-107.7-34-27.6z"/><path class="st8" d="M397.3 130.2c-7.1 3.2-14.6 5.4-22.3 6.5 0 0 13 25.2 21.6 32.9l.5.4c8.5 7.2.2-39.8.2-39.8z"/><path class="st9" d="M380.8 47.5s-31.6 21.1-29.9 59c.1 2.2.5 4.3 1.3 6.4l6 16.4c.6 1.5.8 3.2.6 4.8 0 0 2.1 30-8.1 42.9-2.4 3.1-4.1 17.8-4.2 19.2-2.1 18.5-2 44.1-3.9 78.6h-40.5l12.4-232.9 66.3-7.6v13.2z"/><path class="st10" d="M325.1 69.5s13.2-.2 41.2-10.2c19.9-7.1 51.2-4.5 51.2-4.5l-1.2-13-50.5-.5-40.7 16.8v11.4z"/><path class="st11" d="M326.3 54.9l4.7 52.7s9.5-15.1 9.5-27.2-3.4-11.8 5-14.2c5.2-1.5 1 8.5 4.3 7.7s7.3-8 10.2-10.9c18.3-18.3 23-15.4 22-26.2s-49.4-7.6-55.7 18.1z"/><path class="st7" d="M415.2 54.4s2.8 26.5-2 50.7l7.3 4.2s3.8-37.9-5.3-54.9zM391.7 132.2s7.4-3.2 10.2-9.8c1.9-4.8 3.4-9.8 4.5-14.8l4.1-3v22.7l-13 7.2-7.2-3.2"/></g><ellipse id="open_eye" transform="rotate(-82.6 393.837 74.14)" cx="393.8" cy="74.1" rx="4.8" ry="2.5"/><ellipse id="blinked_eye" transform="rotate(-82.6 393.837 74.14)" cx="393.8" cy="74.1" rx=".5" ry="2.5"/><defs><path id="SVGID_5_" d="M322.5 57.5c.4-5 12-7.8 2.3-11-7.5-2.5-7.1-10.5-5.3-13.9s9.1-14.1 17.2-19.1 19.3-10.4 31.2-5c0 0 15.7-6.3 27.8-4.7s23.6 4.1 25.7 21.7c.9 7.3-.1 13.4-3.6 14.4s-3.7 4.1-3.7 4.1 8.7-1.9 10 2.5c.8 2.9-1.1 3.9-6.6 3.9-2.1 0-6.7.1-9-2.3-4 2.2-8.8 2.3-12.9.2 0 0-5.3 7-14.1 2.1 0 0-4.8 6.7-12.9.7 0 0-7 6-13.4 1.7 0 0-7.7 7.2-15.5 1.5-1.7 2.6-4.2 4.7-7.1 6-3.6 1.6-10.5 2.1-10.1-2.8z"/></defs><clipPath id="SVGID_6_"><use xlink:href="#SVGID_5_" overflow="visible"/></clipPath><g class="st12"><path class="st0" d="M302.9-1.2H441v66H302.9z"/><path class="st13" d="M325.1 12.1s-7.5 29.7 26.1 31h2.3c36.2 0-42.5 7.7-42.5 7.7s-13.7-22.7 14.1-38.7zM425.5 7.6s2.5 34.3-45.7 35.6l34.1.8s39.4-20.4 11.6-36.4z"/><path class="st14" d="M320 54.9c3.4.4 6.9.1 10.2-.8 5.2-1.6 9.6-2.8 15.3-2.8s10.9-2.8 12.6-2.8 2.6 2.5 5.9 1.3 8.3-2.3 10.5-1 4-2 5.2-2 3.4 2.4 7.2 2.4 5.5-3.5 7.7-3.5 6 1.8 7.3 1.8 4.2-1.6 6.8-1.6 4.2 1.6 4.8 1.6 8.7.9 11-2.7l2 7.2-111.3 13.5 4.8-10.6z"/></g><path class="st15" d="M383.7 189.8s5.2 37 2 85h6s3.8-48-8-85z"/><path class="st7" d="M383.7 189.8c-1.4 28.8-4.3 57.5-8.9 85.9h11.1s6.6-47.2-2.2-85.9z"/><circle class="st0" cx="337.8" cy="202.3" r="5.2"/><g class="js-onboarding-ed-anim-bathtub-brush"><path class="st16" d="M333.7 190l-4.6 2.3c-.5.3-1.2.1-1.5-.5l-62.1-126c-.2-.4-.1-.9.2-1.2.7-.8 1.6-1.4 2.5-1.8.9-.4 1.8-.6 2.8-.8.5-.1 1 .2 1.2.6l62.1 126c.2.6-.1 1.2-.6 1.4z"/><path class="st0" d="M350 185.3l-4.9-10.6c-.2-.6-.9-.8-1.4-.6-.2.1-.3.2-.5.4h-.1c-.3.5-1 .6-1.5.3s-.6-.9-.4-1.4c.6-1.7.8-3.4.7-5.2 0-.1 0-.3-.1-.4l-2.6-5.5c-.3-.6-.9-.8-1.5-.5-.1.1-.2.1-.3.2-.8.8-1.7 1.5-2.7 2.1 1.7-1.6 2.6-3.8 2.5-6.1 0-.1 0-.3-.1-.4l-1.4-3c-1.2-2.3-3.9-3.3-6.3-2.4-.3.1-.5.3-.6.5-1.9 3.6-3.6 2.9-8.8 5.8-2.9 1.7-4 5.3-2.6 8.3l15 30.4c1.2 2.5 4.2 3.5 6.7 2.3 12.7-3.7 12.2-11.7 10.9-14.2z"/><path class="st16" d="M340.3 199.1l-9.1 4.5c-2.5 1.2-4.9-.4-6.1-2.9l-15.5-31.3c-1.1-2.2-.4-4.9 1.6-6.3 4.6-2.9 4.1-12.7 5.5-9.9s2.6 5.3 4.6 4.4 5.5.3 6.7 2.7l15 30.5c1.6 3 .4 6.7-2.6 8.2 0 .1-.1.1-.1.1z"/><path class="st17" d="M329.9 191.9l-.8.4c-.5.2-1.1.1-1.4-.4-2.9-4.8-17.1-28.4-16.5-28.7s.5-3.9.4-4.2L266 66.5c-.2-.6 0-1.2.6-1.5h.1l.6-.2c.5-.2 1.1 0 1.4.5l45.6 92.6c.7 1.5 2.3 2.7 3.9 1.8s10.3 25.6 12.3 30.8c.2.6-.1 1.2-.6 1.4z"/><path class="st17" d="M312.2 162.8l5.7-2.8c3-1.5 6.7-.2 8.2 2.8l14.5 29.6c1.5 3 .2 6.7-2.8 8.2l-5.7 2.8c-3 1.5-6.7.2-8.2-2.8L309.4 171c-1.5-3.1-.2-6.7 2.8-8.2z"/><defs><path id="SVGID_7_" d="M264.7 84.7c2.9-1 9.2-2.3 11.5 0s7.9 12.9 8.1 14.7c.4 4.8-2.7 9.3-7.4 10.6-3.6 1.2-7.5 1.2-11.1 0-3.3-1.2-7.4-12.9-9-17.7-.4-1.2 0-2.5 1-3.3 2-1.8 4.4-3.3 6.9-4.3z"/></defs><clipPath id="SVGID_8_"><use xlink:href="#SVGID_7_" overflow="visible"/></clipPath><g class="st18"><path class="st19" d="M245.5 76.1H294v43.8h-48.5z"/><path class="st4" d="M264.8 81.9c-1 13.5 4.7 25.2 18.7 34.9l-27.4-2.8-6.3-21.9 15-10.2z"/><path class="st20" d="M261 93.9h.8l2.2-.2c2.2-.4 4.4-1 6.4-1.9l1.6-.8 1.5-.9 1.3-1 1.1-1 1.5-1.6.5-.6c.1-.2.5-.3.7-.2.2.1.3.5.2.7v.2l-.4.5c-.5.6-1 1.2-1.5 1.7-.8.7-1.6 1.4-2.5 2l-1.6.9-1.7.8-1.8.6-1.7.5c-1.1.3-2.1.4-3.2.5h-3.1c-.1 0-.1-.1-.1-.2h-.2zM263.6 99.1c1.1.2 2.1.2 3.2.1l1.5-.2 1.7-.3 1.7-.5 1.7-.7 1.7-.9 1.5-1c.9-.6 1.7-1.3 2.5-2.1l1.5-1.7.4-.5v-.2c.2-.2.5-.1.7.1.1.1.1.3.1.4v.2l-.4.6c-.5.6-1 1.2-1.6 1.8-.8.8-1.7 1.5-2.6 2.2l-1.6 1-1.8.9-1.9.7-1.8.5c-1.1.2-2.3.3-3.4.3s-2.2-.2-3.2-.5c-.1 0-.1 0-.1-.1v-.1h.2zM266.4 105.3c1.1 0 2.1 0 3.2-.1l3.2-.4c1.2-.2 2.4-.6 3.5-1.1l1.6-.9 1.4-1.1c.8-.7 1.5-1.5 2.2-2.3l1.3-1.8.4-.7c.2-.2.5-.3.7-.1.2.1.3.3.2.5l-.4.8c-.4.7-.8 1.4-1.3 2-.7.9-1.5 1.7-2.4 2.4l-1.6 1.1-1.8.9c-1.2.5-2.4.8-3.7 1l-3.3.3h-3.2c-.1 0-.2-.1-.2-.2v-.1c0-.1.1-.2.2-.2z"/></g><path class="st2" d="M286.6 76.8c-.4-.4-1.1-.4-1.6 0v.1c-1 1.3-2.4 4.6-.5 11.7.7 2.6 2.1 7.8 4.8 10.1.4.4.5.9.2 1.4-2.5 4.1-1 13 1.8 15.7.5.4 1.1.4 1.6-.1.1-.1.1-.1.1-.2 1.1-2.2 3.6-7.5 5.4-11.4s3.8-7.8 4.7-9.7c.2-.4.1-1-.2-1.3l-16.3-16.3z"/></g><path class="st14" d="M334.8 47.5s6.3-10.5 1.8-15-6.3 2.3-2.6 3.6c1.8.6 2.3 7.9.8 11.4zM347.8 45.3s6.3-17.5 1.8-21.9-6.5 2.1-3 3.8 2.6 14.7 1.2 18.1zM406.6 41.8s1.4-7.4 5.3-7.6 2 3.6-.3 2.7-4.3 2.8-5 4.9zM400.5 41.3s-6.3-10.5-1.8-15 6.3 2.3 2.6 3.6c-1.8.7-2.3 8-.8 11.4zM370.4 11.6s-5.2 9.5-4.6 15.9 4.5 14.4 12.4 14.4c0 0-7.2-4.6-8.4-10.8s-.3-19 .6-19.5z"/><ellipse transform="rotate(-5.101 410.786 218.777) scale(.99996)" class="st21" cx="410.8" cy="218.8" rx="1.7" ry="2.8"/><path class="st22" d="M346.6 67.1s-10.1-3.3-10 8.5c.1 9.3 5.9 16.5 7.1 16.5 1.5-.1 2.7-1.5 2.6-3 0-.4-.2-.8-.4-1.2-.9-2.1-1.4-4.3-1.4-6.5-1.1.7-2.6.4-3.3-.7-.7-1.1-.4-2.6.7-3.3.9-.6 2-.5 2.8.1.4-2.8 1-5.5 1.9-8.2.2-.7.2-1.5 0-2.2z"/><circle id="mouth" cx="395.5" cy="113.9" r="1.8"/></g><g class="js-onboarding-ed-anim-bathtub-periscope"><defs><path id="SVGID_9_" d="M754.5 311.3L725 296.6c.2-.4 17.5-36.9 28.2-58.8 4.2-8.6 5.1-15.3 3.5-19-2.9-6.6-14.8-8.7-18.9-9.1l7-39.9c3.6.4 33.5 3.7 47.6 29 6.2 11 3.2 27-10 54.1-10.5 21.7-27.7 58.1-27.9 58.4z"/></defs><clipPath id="SVGID_10_"><use xlink:href="#SVGID_9_" overflow="visible"/></clipPath><g class="st23"><path class="st24" d="M698.2 155.5h115.9v177.7H698.2z"/><path class="st25" d="M729.9 199.9s34.7-.2 38.8 16.4-8.3 36.6-15.9 47.3c-4.8 6.8-9.9-6.6-9.9-6.6s9.5-28.5 3.9-22.9l-15.2-17.6-1.7-16.6z"/><path class="st26" d="M737.1 171.1s-2.8 13.7 19.2 16.5c14.4 1.8 26 9.8 29.6 20.8 7.1 21.7-17.2 62.2-16.3 71.4l43.7-76.4-30.5-41-46.8-7.2 1.1 15.9z"/></g><ellipse transform="rotate(-76.301 741.723 189.573)" class="st24" cx="741.7" cy="189.6" rx="20.4" ry="12"/><ellipse transform="rotate(-76.301 741.723 189.573)" class="st27" cx="741.7" cy="189.6" rx="17" ry="9.9"/><g class="js-onboarding-ed-anim-bathtub-periscope-eye"><path class="st0" d="M738.9 197.9c5.5 1.3 11.6-4.3 11.6-4.3s-2.5-8.5-8-10.2-9 3.2-9 3.2-2.3 9.5 5.4 11.3z"/><ellipse transform="rotate(-76.301 739.107 189.599)" cx="739.1" cy="189.6" rx="4.7" ry="2.9"/></g><ellipse transform="matrix(.04442 -.999 .999 .04442 555.246 918.702)" class="st0" cx="757.9" cy="169.1" rx="6.3" ry="6.3"/><ellipse transform="matrix(.04442 -.999 .999 .04442 575.53 940.91)" class="st0" cx="779.6" cy="169.6" rx="4.4" ry="4.4"/><ellipse transform="matrix(.04442 -.999 .999 .04442 546.065 914.557)" class="st0" cx="751.1" cy="171.8" rx="4.4" ry="6.6"/><path class="onboarding-ed-anim-bathtub--drip1 js-onboarding-ed-anim-bathtub-drip st0" d="M781.1 188.8c-.1 2.5-2.2 4.4-4.7 4.3-2.5-.1-4.4-2.2-4.3-4.7.1-2.4 3-22.2 5.4-22.1s3.7 20 3.6 22.5z"/><ellipse transform="matrix(.04442 -.999 .999 .04442 563.897 937.627)" class="st0" cx="772.1" cy="174" rx="8.3" ry="8.3"/><ellipse transform="matrix(.04442 -.999 .999 .04442 557.146 936.055)" class="st0" cx="767.9" cy="176.8" rx="8.2" ry="17"/><ellipse transform="matrix(.04442 -.999 .999 .04442 566.772 928.702)" class="st0" cx="768.8" cy="168.1" rx="8.6" ry="8.6"/></g><g id="Bath"><path class="st0" d="M871 238.4s-8 25.8-26.6 31.1h37.7s-4.8-8.7 0-28.1l-11.1-3z"/><path class="st28" d="M914.8 201.2h10.1v16.5h-10.1z"/><path class="st29" d="M926.9 279.8l-10.5-.8c-1.3-.1-2.3-1.2-2.3-2.5l-.7-41.3c.3-6-2.7-10-8.6-8.7s-17.3 3.5-21.1 19c-.2.9-.9 1.5-1.7 1.8-4.2 1.4-8.8 1.6-13.1.6-1.4-.4-2.2-1.8-1.8-3.2v-.1c1.5-4.3 5-13.2 9.9-19.6 14.5-19 44.8-14.1 47.8-13.8s5 4.4 4.9 7.9v58.2c0 1.4-1.1 2.5-2.5 2.5h-.3z"/><path class="st30" d="M929.1 207.1h-18.9l-2.5-20.5h23.9z"/><path class="st0" d="M874.4 239.8v-.6c.1-.4.2-1 .4-1.7s.5-1.6.9-2.6l.6-1.6.8-1.7c.6-1.2 1.3-2.4 2.1-3.6l.6-1 .7-.9c.5-.7 1-1.3 1.5-1.9 1.1-1.3 2.4-2.4 3.7-3.5l2.3-1.6 2.3-1.4c.8-.5 1.6-.9 2.4-1.2.8-.4 1.6-.7 2.4-1l2.5-.8 2.4-.6 4.6-.8 4.2-.4c2.1-.1 4.2 0 6.3.3l1.7.4.6.2c.3.2.4.6.2 1-.1.2-.3.3-.5.3h-4.8l-3.3.3-3.9.7-4.3 1-2.3.6-2.2.8c-.8.3-1.5.6-2.2.9l-2.1 1.1-2.1 1.2-1.9 1.4-1.8 1.5c-.6.5-1.1 1.1-1.7 1.6l-1.5 1.6-.7.8-.7.8c-.9 1.1-1.6 2.2-2.3 3.2l-.9 1.5-.8 1.4-1.2 2.3-.7 1.5-.2.6c-.1.3-.4.4-.6.3-.3-.1-.4-.4-.4-.6l-.1.2z"/><path class="st31" d="M925.5 218.7v52.1"/><path class="st32" d="M883.8 410c26.8-35 65.4-95.4 53.3-139.4H253.4c-3.8 54.8 16.7 98.8 45 139.4h585.4z"/><path class="st0 js-onboarding-ed-anim-bathtub-water onboarding-ed-anim-bathtub-water--3" d="M674.2 277.8s4-16.7 23.5-16.7 23.5 13 23.5 13 0-18.8 24-20.8 26.5 22.4 26.5 22.4 3.5-9.6 21-11.6 22.5 13.7 22.5 13.7 9.9-16.8 30-16.8c33.9 0 33.9 16.8 33.9 16.8H674.2z"/><circle class="st0 js-onboarding-ed-anim-bathtub-water onboarding-ed-anim-bathtub-water--2" cx="286.4" cy="267.2" r="20.1"/><circle class="st0" cx="317.5" cy="267.2" r="14.1"/><ellipse class="st0" cx="451.8" cy="265.9" rx="30.4" ry="21.8"/><ellipse class="st0 js-onboarding-ed-anim-bathtub-water onboarding-ed-anim-bathtub-water--1" cx="490.3" cy="274" rx="31.8" ry="22.9"/><circle class="st33 js-onboarding-ed-anim-bathtub-bubble onboarding-ed-anim-bathtub-bubble--3" cx="331.6" cy="224" r="8.3"/><path class="st0" d="M336.6 271.1s11.4-20 31.4-20 25.6 17.7 25.6 17.7 8.4-9.3 15-9.3 16.4 10 16.4 11.6h-88.4zM513 272.9s11.4-20 31.4-20 25.6 17.6 25.6 17.6 8.4-9.3 15-9.3 16.3 10.1 16.3 11.7H513z"/><path class="st34" d="M253.4 271.8c-.7 10.6-.5 21.2.6 31.8h684.3c1.7-11.1 1.6-21.9-1.1-31.8H253.4z"/><path class="st35" d="M253.4 272.7c-.4 6.3-.5 12.4-.3 18.4h686.3c.1-6.2-.7-12.4-2.3-18.4H253.4z"/><path class="st36" d="M244.2 285h724.3s2.3-20.6-16.6-20.6H261.2s-17-1-17 20.6z"/><circle class="st33 js-onboarding-ed-anim-bathtub-bubble onboarding-ed-anim-bathtub-bubble--2" cx="311.8" cy="207.5" r="5.4"/><circle class="st37 js-onboarding-ed-anim-bathtub-bubble onboarding-ed-anim-bathtub-bubble--1" cx="265.1" cy="242.6" r="2.7"/><circle class="st33 js-onboarding-ed-anim-bathtub-bubble onboarding-ed-anim-bathtub-bubble--4" cx="856.3" cy="246.7" r="5.4"/><g class="onboarding-ed-anim-bathtub--drip2 js-onboarding-ed-anim-bathtub-drip"><path class="st38" d="M341.9 370.3c0 9-2.4 11.7-5.4 11.7s-5.4-2.6-5.4-11.7 2.4-21 5.4-21 5.4 11.9 5.4 21z"/><path class="st0" d="M338.9 360.3c0 4.1-1.1 5.3-2.4 5.3s-2.4-1.2-2.4-5.3 1.1-9.5 2.4-9.5 2.4 5.4 2.4 9.5z"/></g><g class="st39"><path class="st40" d="M901 224.8c.9-.7 1.9-1.3 3-1.6l1.6-.4h2.9l1 .2 2 .8h.5l.4.3.8.6.8.7.7.8c.4.5.7 1 1 1.6.2.5.4 1.1.5 1.6.2.8.3 1.7.2 2.5 0 .3-.1.5-.1.7v.3c0 .2-.2.3-.3.3-.2 0-.4-.2-.4-.3v-.8l-.3-.9-.5-1.1c-.4-.9-.9-1.7-1.6-2.4l-.6-.5-.6-.5-.3-.2-.4-.2-.4-.2h-.3l-1.6-.6-1.6-.4c-1-.1-1.9-.2-2.9-.1l-2.2.3h-.8c-.2.1-.4 0-.5-.2-.1-.2 0-.4.1-.5l-.1.2z"/></g><path class="st41" d="M251 274.7h690.3"/><path class="st42" d="M919.4 188.5v16.6"/><path class="st43" d="M924.8 188.5l-.7 16.6M914.5 188.5l.4 16.6"/><path class="st44" d="M910.5 188.5l1.1 16.6M929.1 188.5l-1.5 16.6"/><circle class="st0" cx="333.1" cy="219.9" r="1.9"/><circle class="st0" cx="313.2" cy="205.9" r="1.4"/><circle class="st0" cx="857.2" cy="244.3" r="1.1"/><path class="st38" d="M358.9 267.9c-12.4 8.2-11 70.5-22.4 70.5s-3.3-61.7-18.9-70.5c-7.1-4 9.2-14.8 20.6-14.8s27.5 10.3 20.7 14.8z"/><path class="st0" d="M352.9 263.6c-8.8 5.8-7.8 49.9-15.9 49.9s-2.4-43.7-13.4-49.9c-5-2.9 6.5-10.5 14.6-10.5s19.5 7.3 14.7 10.5z"/></g></svg>'
  16856. });
  16857. this["DDG"]["templates"]["hp_onboarding_ed_slide4"] = Handlebars.template(function(e, f, b, a, c) {
  16858.     this.compilerInfo = [4, ">= 1.0.0"];
  16859.     b = this.merge(b, e.helpers);
  16860.     c = c || {};
  16861.     return '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1200" height="420" viewBox="0 0 1200 420" preserveAspectRatio="xMidYMax" class="onboarding-ed__image--animated"><style>.st0{fill:url(#SVGID_1_)}.st1,.st2{fill:#8ab2db}.st2{opacity:.5;enable-background:new}.st3{clip-path:url(#SVGID_3_)}.st4{fill:#fff}.st5{fill:#c4e0ff}.st6{opacity:.3;fill:#07397a;enable-background:new}.st7{fill:#303c3d}.st8{clip-path:url(#SVGID_5_)}.st9{fill:#5d6063}.st10{fill:#4b4e52}.st11{fill:#6f7478}.st12{fill:#3e474d}.st13{clip-path:url(#SVGID_7_)}.st14{fill:#79a3c9}.st15{opacity:.1}.st15,.st16,.st17{enable-background:new}.st16{fill:#fff;opacity:.1}.st17{opacity:.2}.st18{clip-path:url(#SVGID_9_)}.st19,.st20{enable-background:new}.st19{fill:#fff;opacity:.2}.st20{opacity:.15}.st21{fill:#3e4e4f}.st22{fill:#eb5c00}.st23{clip-path:url(#SVGID_11_)}.st24{fill:#c74e00}.st25{fill:#ffb663}.st26{opacity:.3;fill:#0c3d5e;enable-background:new}.st27{clip-path:url(#SVGID_13_)}.st28{fill:#5e7578}.st29{fill:#7d5b47}.st30{fill:#473429}.st31{clip-path:url(#SVGID_15_)}.st32{fill:#7a9a9c}.st33{opacity:.6}.st34{fill:#222a2b}.st35{clip-path:url(#SVGID_17_)}.st36{fill:#db5600}.st37{fill:#c44d00}.st38{fill:#b53c00}.st39{clip-path:url(#SVGID_19_)}.st40{fill:#5a7073}.st41{fill:#48595c}.st42{clip-path:url(#SVGID_21_)}.st43{fill:#4c5f61}.st44{clip-path:url(#SVGID_23_)}.st45{fill:#506566}.st46{clip-path:url(#SVGID_25_)}.st47{fill:#3a70a3}.st48{fill:#22507d}.st49{fill:#72a0cc}.st50{clip-path:url(#SVGID_27_)}.st51{clip-path:url(#SVGID_29_)}.st52{fill:#ffae57}.st53{clip-path:url(#SVGID_31_)}.st54{fill:#e67a00}.st55{clip-path:url(#SVGID_33_)}.st56{fill:#263030}.st57{clip-path:url(#SVGID_35_)}.st58{clip-path:url(#SVGID_37_)}.st59{clip-path:url(#SVGID_39_)}.st60{fill:#9e552f}.st61{fill:#854521}.st62{fill:#cf8b68}.st63{fill:#2a3636}.st64{clip-path:url(#SVGID_41_)}.st65{fill:#405152}.st66{clip-path:url(#SVGID_43_)}.st67{clip-path:url(#SVGID_45_)}.st68{fill:#465859}.st69{clip-path:url(#SVGID_47_)}.st70{fill:#60787a}.st71{fill:#9e4212}.st72{fill:#717f87}.st73{fill:#e3eeff}.st74{fill:#c7deff}.st75{fill:#d47200}.st76{clip-path:url(#SVGID_49_)}.st77{opacity:.46;fill:#ffb663;enable-background:new}.st78{fill:#85380d}.st79{clip-path:url(#SVGID_51_)}.st80{clip-path:url(#SVGID_53_)}.st81,.st82{opacity:.8;fill:#def4ff;enable-background:new}.st82{opacity:.3;fill:none;stroke:#000;stroke-width:1.42;stroke-linecap:round;stroke-miterlimit:10}.st83{fill:#668082}</style><g id="Summit"><defs><path id="SVGID_2_" d="M891 466.7c.9.5 1.3 1.6.9 2.5-.3.7-1.1 1.1-1.9 1.1l-573.6.7 72.8-52.6c3-2.2 5.6-5 7.4-8.3 1.9-3.5 5-8.1 8.9-10.8 6.9-4.8 17.2-4.8 17.2-4.8s-10.4 2.8.3-.1 29-13.7 29-13.7 1.6-5.7 7.1-11.2 16.8-9.9 16.8-9.9l.7-.2 17.8-10.3c.1-.1-9.7 6.1.3-.2s18.5-23.9 26.7-25.2 35.1 5.5 35.1 5.5 5.6-4.5 11.6-5.1 5.6 3.2 5.6 3.2l3.9 2.3s-24.6-3.3.1.1 32.4 16 41.5 20.6 15.9-1.7 22.2.8c3.8 1.5 6.8 4.5 8.3 8.3.2.2 2.2 5.7 2.2 5.7 13.4 15.3 46.4 17 44.7 15.2h.4l22.8 1.9c.1 0-10.3 3.3.2 0s25.6.4 29.8 2.1 6.1 7.2 6.1 7.2-4-4.9.6.5 40 22.4 40 22.4c8.7 4.1 11.4 16.2 11.4 16.2l83.1 36.1z"/></defs><clipPath id="SVGID_3_"><use xlink:href="#SVGID_2_" overflow="visible"/></clipPath><g class="st3"><path class="st4" d="M285.8 294.1H910v193H285.8z"/><path class="st5" d="M862.6 387.9l-194.2-58.5-23.9 9.2c-4.4-5.5-11.8-10.5-22.9-13.4-9-2.4-54-.1-62.4 5.2-20.4 13-14.2 11.9-20.2 16.5-13.5 10.4-24.2-4.2-33.9 9.6-6.8 9.8 5.1 10.2 15.6 13.5 10.5 3.3 8.5 15.5 18.1 14.8 12.3-.8 27.3 11.1 40.9 7 8.4-2.5 32 1.1 33.2 11.5 2.7 24.1 86.5 34.8 86.5 34.8l73.2 39.6 128.1-3.8-38.1-86zM514.5 382.5c-6 2.4-3.5 9.3-11.4 9.3s-13.9 10.9-1.5 10.9 30.6 1 26.6-6.5-5.6-5.7-6.9-9c-2.3-5.7-4.9-5.5-6.8-4.7zM400.6 403.5c-6 10.4 4.2 2.9 12.1 2.9s12 4.6 3.2 13.4c-13.7 13.7-38.7 9.6-33.8-8 2.3-8.2 10.2-11 11.5-14.2 2.4-5.8 5.1 5.2 7 5.9z"/></g><path class="st6" d="M546 342c-11.5 16.2 23.6 14.8 36.8 26.5 3.3 3 7.3 8.3 14.5 10.7s20-1.8 24.3 2c16.9 14.7-3.5 23 18.2 29.3 15.2 4.4 25.3 13.1 39.9 20.3 8.1 4 14.7 8 24.3 8.5s35.6 6.2 51 13.1c29.9 13.4 87.9 5.1 119.7 7-31.4-14.7-65.6-38-98.1-47.8-11.1-3.3-20.3-.9-33-3.3-15.9-3.1-28.6-17.1-41.2-19.8-18.1-3.9-29.9 6.6-49.3-6.4-11.8-7.9-21.7-22.9-33.7-31.8-22.1-16.4-48.6-36.4-73.4-8.3z"/></g><g id="Rucksack"><path class="st7" d="M749.5 102.3s1.9 13.1 8.8 20l-5.8 5.8s-9.3-10.9-9.3-19.3l6.3-6.5z"/><defs><path id="SVGID_4_" d="M670.2 49s-.3-16.6 25.9-16.6 46.6 11.5 50.9 14.4c8.3 5.7 10.5 16.9 10.5 16.9s-1.7 13.2-3.5 36.9c-3.3 43.4-14.8 101.4-26.9 125.8-5.3 10.7-9.5 16.1-19.2 18.5-1.8.5-19.1 3-19.1 3L632.3 207l37.9-158z"/></defs><clipPath id="SVGID_5_"><use xlink:href="#SVGID_4_" overflow="visible"/></clipPath><g class="st8"><path class="st9" d="M634.1 17.3h132.2v243H634.1z"/><path class="st10" d="M733.6 48.6s-7.6 90.8-16.2 128c-6.7 28.5-15.8 69.2-26.7 71s-83.9-36.2-83.9-36.2l29.3-184.7s66.3 0 97.5 21.9z"/><path class="st11" d="M758.3 102.3c0-1.1-2.9-53.2-26-39.8 0 0-4.9-18-67.4-13.2-.4 0 20.9-24.6 20.9-24.6l71.3 5.3 1.2 72.3z"/><path class="st12" d="M700.5 68.1c-4.6 30.7-12.9 41.3-12.9 41.3s13.3 1.6 21.6 19.2-25.3 96.9-25.3 96.9l-25.6-97.6 2.3-75.5s44.1-12.4 39.9 15.7z"/></g></g><g id="Alpinist"><defs><path id="SVGID_6_" d="M660.1 103.6s-29.3 1-64.8-17.1-40.3-5.2-49.1-3.8-29.8-4.7-29.8-4.7l-.9 24.2s15 4.1 29-.2 75.5 7.9 75.5 7.9l44 .3-3.9-6.6z"/></defs><clipPath id="SVGID_7_"><use xlink:href="#SVGID_6_" overflow="visible"/></clipPath><g class="st13 js-onboarding-ed-anim-scarf-back"><path transform="rotate(-8.899 590.072 93.15)" class="st14" d="M509.9 61.7h160.2v62.9H509.9z"/><path class="st15 js-onboarding-ed-anim-fold" d="M590.1 76.3c1.3 1-9 31.3-9 31.3l91.7 10.6-6.1-19.6-76.6-22.3zM561.4 71.8l-6.5 34.9-19.6.7 4.9-31z"/><path class="st16" d="M564.4 70.5l-5.8 37 11.3-1.8 5.7-33.5z"/><path class="st17" d="M632.1 93.7c-2.2 8.2 1.7 16.1 9.4 24 0 0 32.8 1.5 33.8.3s-7.6-20.4-7.6-20.4l-35.6-3.9z"/><path class="st16" d="M512.8 73.4l11.6 3.3-1.1 31.7-12.6-4z"/></g><defs><path id="SVGID_8_" d="M652.2 104.2s-20.8 1.8-36.6-2.1c-11.7-2.9-35.7-9.1-56-8.5s-21.8 12.6-37.7 18.7c-10.6 3.9-21.6 6.8-32.8 8.5l8.9 15.4c10-1.6 19.7-4.7 28.7-9.3 13.7-7.3 22.5-19 35.3-17 41.6 6.7 89.5 10.7 90.8 8.8l-.6-14.5z"/></defs><clipPath id="SVGID_9_"><use xlink:href="#SVGID_8_" overflow="visible"/></clipPath><g class="st18 js-onboarding-ed-anim-scarf-front"><path transform="rotate(-8.048 573.36 111.054)" class="st14" d="M480.9 79.3h184.7v63.4H480.9z"/><path class="st15 js-onboarding-ed-anim-fold" d="M544.2 92.9l7.3 28.9s-25.6 14.8-25.8 13.6-8.1-27.9-8.1-27.9l26.6-14.6zM604.3 96.4l.3 26.7s53.9 4.3 54.7 3.2-2.2-26.3-2.2-26.3l-52.8-3.6z"/><path class="st19" d="M553 90.1l4.6 27.6 10.7-1.4-3.6-26.2z"/><path class="st20" d="M629.9 101.3c-2.5 8-1.3 15.8 3.2 23.3l26.4 2.7-1.7-28.3-27.9 2.3z"/></g><path class="st21" d="M559.6 143.1s-5 13.9-10.3 18.5-10.9-17-10.9-19.6-4.7-16.7 3.5-23c6.1-4.7 11.1 11.9 14.2 20.2.7 1.7 1.9 3.1 3.5 3.9z"/><path class="st22" d="M556.4 139.5s23.5 20 45.7 16.6c26.8-4 31.8-24.3 34.9-29.4.2-.3 20.1-.4 20 0L637 155s-5.1 17.5-35 20.1-54.9-12.7-54.9-12.7c9.3-6.9 11.6-14.7 9.3-22.9z"/><defs><path id="SVGID_10_" d="M556.4 139.5s23.5 20 45.7 16.6c26.8-4 31.8-24.3 34.9-29.4.2-.3 20.1-.4 20 0L637 155s-5.1 17.5-35 20.1-54.9-12.7-54.9-12.7c9.3-6.9 11.6-14.7 9.3-22.9z"/></defs><clipPath id="SVGID_11_"><use xlink:href="#SVGID_10_" overflow="visible"/></clipPath><g class="st23"><path class="st22" d="M537.3 108.2h129.6v73.5H537.3z"/><path class="st24" d="M549.8 149.1s25.1 19.6 56.3 17.1 45.8-21.7 50.9-24.6l-4.3 32.4-112.6 10.9 9.7-35.8z"/><path class="st25" d="M657 120.5s-31 38.2-61.3 35.9l58.9-38.4 2.4 2.5z"/></g><path class="st26" d="M550.5 124.2l-5.6 1.7 1.8 21.5c1.8-.9 3.9-.9 5.7.1l-1.9-23.3z"/><defs><path id="SVGID_12_" d="M553.6 113s4.8-4.4 4-7.6-4.2-5.3-7.4-2.6-3 5.3-3 5.3 1 5.3 6.4 4.9z"/></defs><clipPath id="SVGID_13_"><use xlink:href="#SVGID_12_" overflow="visible"/></clipPath><g class="st27"><path transform="rotate(-14.798 553.616 109.139)" class="st21" d="M544.2 101h18.7v16.2h-18.7z"/><path class="st28" d="M553.3 113.9c1.2-1.8 1.8-3.9 1.8-6.1-.2-3.3-4.1-6-4.1-6l7.7-3.3 5.3 10.3-9.1 7.4-1.6-2.3z"/></g><path class="st29" d="M565.2 341.7c-1.5 0-2.7-1.1-2.8-2.6L535.6 11.2c-.1-1.6 1-3 2.6-3.1 1.6-.1 3 1 3.1 2.6l26.8 327.9c.2 1.5-.9 2.9-2.5 3.1h-.4z"/><path class="st30" d="M551.3 133.5l-5.6.7.8 9.7c1.1-.7 3.8-2.3 5.5-1.9l-.7-8.5z"/><path class="st30" d="M541.2 10.7c-.1-1.5-1.4-2.7-3-2.6-.5 0-.9.2-1.3.4.8.5 1.3 1.3 1.4 2.2l26.8 328c.1 1.1-.4 2.2-1.4 2.7.5.3 1 .4 1.5.4h.2c1.5-.1 2.7-1.4 2.6-3v-.1l-26.8-328z"/><defs><path id="SVGID_14_" d="M546.5 109c7.8 0 10.9 4.9 11.6 7.6s2.7 11.2.3 17c-.6 1.3-2 2.1-3.4 2l-2.1-.3c-1.4-.2-3.6-1.1-4.7-.2s-4.3 3.1-5.1 6.4.7 13.7 1.9 16.6c.5 1.4 1.3 2.7 2.3 3.7-2.2 4.3-14.1-25.5-9.9-41.4 2.2-8.8 7.2-11.4 9.1-11.4z"/></defs><clipPath id="SVGID_15_"><use xlink:href="#SVGID_14_" overflow="visible"/></clipPath><g class="st31"><path class="st28" d="M527 100.7h40.4v64.8H527z"/><path class="st32" d="M546.6 108.5s-9.3 6-8.2 20.6c.7 10.1-1.9 22.5-1.9 22.5l-5.7 6.8-6.2-42.4 22-7.5z"/><path class="st21" d="M546.8 106.9c5 9.5 3.8 22.2 1.5 28.5 0 0 12.1 5.7 12.1 4.7s.6-27.2.6-27.2l-14.2-6z"/><g class="st33"><path class="st34" d="M543.8 130l.5-.7c.5-.6 1.1-1 1.7-1.4l1.4-.6.8-.2h2.7l1.8.5c1.2.4 2.2 1.1 3.1 1.9.8.7 1.4 1.6 1.9 2.5.4.6.7 1.3.9 2l.2.8c0 .2-.2.4-.5.3-.1 0-.2-.1-.2-.1l-.2-.7c-.2-.7-.5-1.3-.9-1.9-.5-.8-1.1-1.6-1.8-2.3-.8-.8-1.8-1.4-2.8-1.8l-1.7-.5h-1.6l-1.5.2-1.3.5c-.6.3-1.2.7-1.7 1.1l-.6.6h-.2c-.1 0-.1 0-.1-.1s.1-.1.1-.1z"/></g><g class="st33"><path class="st34" d="M544.7 123.2l.6-.6c.6-.5 1.2-.9 1.9-1.2l1.4-.5.8-.2h2.7l1.8.5c1.2.4 2.3 1 3.2 1.9.8.7 1.5 1.6 2 2.5.4.7.7 1.4.9 2.1l.2.8c0 .2-.2.4-.5.3-.1 0-.2-.1-.2-.1l-.2-.8c-.2-.7-.5-1.3-.9-1.9-.5-.8-1.1-1.6-1.8-2.3-.8-.8-1.8-1.4-2.9-1.8l-1.7-.4h-3.2l-1.4.4c-.7.3-1.3.6-1.9 1l-.6.5h-.2c-.1 0-.1 0-.1-.1s.1-.1.1-.1z"/></g><g class="st33"><path class="st34" d="M545.2 116.5l.7-.5c.6-.4 1.3-.7 2-.9 1-.3 2.1-.4 3.1-.3l1.8.2 1.8.5c1.2.4 2.2 1.1 3.1 1.9.8.7 1.4 1.6 1.9 2.5.4.6.7 1.3.9 2l.2.8c0 .2-.2.4-.5.3-.1 0-.2-.1-.2-.1l-.2-.7c-.2-.7-.5-1.3-.9-1.9-.5-.8-1.1-1.6-1.8-2.3-.8-.8-1.8-1.4-2.8-1.8l-1.7-.5-1.7-.2h-1.6l-1.4.2c-.7.2-1.4.4-2 .7l-.7.4h-.2c-.1-.1-.1-.2 0-.3s.2-.1.2 0z"/></g></g><defs><path id="SVGID_16_" d="M541.8 19.4s-37.8-10.8-62.2-.7S442.4 39 419 41.3l6 74.3s43.5-4.3 64.1-18.2c23.4-15.7 58.6-8.1 58.6-8.1l-5.9-69.9z"/></defs><clipPath id="SVGID_17_"><use xlink:href="#SVGID_16_" overflow="visible"/></clipPath><g class="st35 js-onboarding-ed-anim-flag"><path class="st22 js-onboarding-ed-anim-fold" d="M400.4-9.6h157.9v138.7H400.4z"/><path class="st36" d="M507.4 11.3l7.9 82.5 42.3-2.8-6.2-73-20.8-5.5zM389 38.2l7.9 82.6 42.3-2.8-7.3-84.9-19.7 6.4z"/><path class="st37" d="M538.8 15.8l6.1 76.4h7.4l-7.4-76.4z"/></g><path class="st38" d="M626.8 212.1s15.3 26.3 34.3 33.6 28.3 6.3 28.3 6.3-18.6-42.9-62.6-39.9z"/><defs><path id="SVGID_18_" d="M669 410.8c.8 12.3 5.4 21.7 16 21.1s14-9.7 14.4-22-6.4-26-8.1-27.8l-20.6 5c-1.5 7.8-2.1 15.8-1.7 23.7z"/></defs><clipPath id="SVGID_19_"><use xlink:href="#SVGID_18_" overflow="visible"/></clipPath><g class="st39"><path class="st40" d="M664.7 379.4h38.6v55.5h-38.6z"/><path class="st41" d="M680.3 380.9s-6.2 49.3 7.8 51.9c0 0 23.4 1.5 10-51.7l-17.8-.2z"/></g><defs><path id="SVGID_20_" d="M672.2 386.6c-.2-.2-1.3 22.5 1.7 32.7s8.5 9.6 11.9 9.2 10.2-5.2 10.2-16-2.9-26-4.6-28.4l-19.2 2.5z"/></defs><clipPath id="SVGID_21_"><use xlink:href="#SVGID_20_" overflow="visible"/></clipPath><g class="st42"><path class="st7" d="M667.7 374h31.7v58.6h-31.7z"/><path class="st43" d="M674.2 383.6s-2.6 21.4.2 32.4 6.2 11 9.4 11 12.9-12.2-4.2-12.2c-2.9-.1-3.1-23.5-5.4-31.2z"/></g><defs><path id="SVGID_22_" d="M664.6 364.4l4 27s4.1 3.9 13 3.1 12.3-4.2 13.1-6-3-28.7-3-28.7l-27.1 4.6z"/></defs><clipPath id="SVGID_23_"><use xlink:href="#SVGID_22_" overflow="visible"/></clipPath><g class="st44"><path class="st28" d="M658 356h45.9v45.9H658z"/><path class="st45" d="M673.8 358.3l6 47s25.3-9.6 25.3-10.6-5.3-38.3-5.3-38.3l-26 1.9z"/></g><defs><path id="SVGID_24_" d="M656.1 217c-1.9 0-53.9-12.7-69 6.3-16.5 20.9-14.7 64.2-11.5 69.9s2 7.2 2 7.2 13 4 24.5 0c4-1.5 4.4-9.6 4.1-18.3-.4-12.6-4.5-29.2 1.5-37.6 13.9-19.3 50.9 3.4 67.6 3.4L656.1 217z"/></defs><clipPath id="SVGID_25_"><use xlink:href="#SVGID_24_" overflow="visible"/></clipPath><g class="st46"><path class="st47" d="M568 202.6h111.7v117.9H568z"/><path class="st48" d="M667.2 223.7S614.3 216 601 233s-7.1 42.7-7.1 47.3 3.7 14.7-10.2 17.7c-5.7 1.2-6.9-2.2-6.9-2.2l-3.3 18.8 39.9-8.8 26.3-55 44.9-16.7-17.4-10.4z"/><path class="st49" d="M624.4 212.4c0-.2-17.2-1-29.2 8.5s-18 35-17.4 67.1c0 3.5-2.4 6.9-3.4 3.3-3.2-11-21.9-92.7 50-78.9z"/><path class="st48" d="M626.6 212.4s21.8 4.6 27.3 22.2c0 0 .7-18-.1-21.4s-19.7-2.8-27.2-.8z"/></g><defs><path id="SVGID_26_" d="M653.3 216.3s.8 29.3 3.6 63.5c2.6 32.5 4.5 66 4.5 66-.9 3.7-1.4 7.5-1.4 11.3 0 6 5.7 17 18.1 14.9s14.2-6 14.2-6 2.2-4.3 2.2-12.1-4.3-19.9-4.3-24.8-2.5-89.7-4.3-95l-32.6-17.8z"/></defs><clipPath id="SVGID_27_"><use xlink:href="#SVGID_26_" overflow="visible"/></clipPath><g class="st50"><path class="st47" d="M646.3 201.7H706v182.8h-59.7z"/><path class="st48" d="M673.8 218.5l1.4 29.3 4.5 93.9s8.5 9.4 8.5 16.2-9.3 11.3-18.8 11.3-19-5.6-19-5.6l21 18.7 27.2-12.3-5.6-145.2-19.2-6.3z"/></g><defs><path id="SVGID_28_" d="M699.1 127.2c-8.7 38.5-11.6 79.9-9.7 124.8-21.1-29.4-54.5-39.9-62.7-39.9-8.9-29.9 2.7-68.2 5.1-79 1.3-6.3 6-11.3 12.2-13l55.1 7.1z"/></defs><clipPath id="SVGID_29_"><use xlink:href="#SVGID_28_" overflow="visible"/></clipPath><g class="st51"><path class="st22" d="M619.4 99.7h76v150.9h-76z"/><path class="st24" d="M667.7 117.8s-25.6 55-12.8 106.4 42.5 43.4 42.5 43.4l6.1-148.4-35.8-1.4z"/><path class="st52" d="M653.7 120.1s-21.3 32-23.9 49.9-3.2 39.7-.6 49.4l-18.5-6 14.1-98.4 28.9 5.1z"/></g><defs><path id="SVGID_30_" d="M694.5 126.6s65.7 12 59.1 48.7-62.2 49.5-62.2 49.5l-2.4-19.1s40.2-10.6 43.1-27.7c4.2-24.9-41-31.3-41-31.3l3.4-20.1z"/></defs><clipPath id="SVGID_31_"><use xlink:href="#SVGID_30_" overflow="visible"/></clipPath><g class="st53"><path class="st22" d="M673 112.5h90.7V233H673z"/><path class="st24" d="M689.8 137.8c11.2 2 21.9 5.8 31.8 11.4 15.5 9 13.9 26 8.9 31s-47-21.3-47-21.3l6.3-21.1z"/><path class="st54" d="M684.2 214.3c1.5-1.5 48.5-6.9 63.1-31.8 7.6-13 4.8-22.1 4.8-29.6 0 0 10.4 33.6-1.3 45.4s-69.3 35.8-69.3 35.8l2.7-19.8z"/></g><defs><path id="SVGID_32_" d="M710.3 120.6s-.3 1.6-.6 1.7c-3.4 1.5-16.2 3.3-17.8 16.7-1.9 15.3 8.1 33.8 12 38.6.1.5.2 1 .2 1.5l-10 7.4s-18.4-18.8-18.4-41.8 18.5-26.5 18.5-26.5l16.1 2.4z"/></defs><clipPath id="SVGID_33_"><use xlink:href="#SVGID_32_" overflow="visible"/></clipPath><g class="st55"><path class="st7" d="M670.2 114.7h46.6v75.4h-46.6z"/><path class="st56" d="M695.1 144.2s-11.7-4.3-21.4 8.7c0 0 15.2 34.7 20 39.4l16.6-14.4-15.2-33.7z"/></g><path class="st7" d="M650.3 119.8s-22.7 31-26.7 60c.6-8.6 1.7-17.1 3.2-25.6 0 0 11.8-32.7 14.2-33.5s9.3-.9 9.3-.9z"/><defs><path id="SVGID_34_" d="M644.8 119.1l-10.3 2.8s-4.4.9-.5 4.8 19.8 15.4 21.1 18.4 2.3 5.5 1.8 7.3 13.2-23.4 13.2-23.4l-25.3-9.9z"/></defs><clipPath id="SVGID_35_"><use xlink:href="#SVGID_34_" overflow="visible"/></clipPath><g class="st57"><path class="st22" d="M627.4 112.5H673v44.3h-45.6z"/><path class="st25" d="M640.1 120.1s-6.1 1.8-5.2 4.7 15.7 14.2 18 16.5c2.6 2.7 4.1 6.3 4.1 10 0 4.2-29.8-24.4-29.8-24.4s4.5-7.5 12.9-6.8z"/></g><path class="st54" d="M651.9 115.5H638s-6.7-.5-2.6 3.5 18.3 19 19.9 21.9 3.9 6.3 1.7 11.3 12.9-23.4 13.2-23.4l-18.3-13.3z"/><g><defs><path id="SVGID_36_" d="M651.9 115.5H638s-6.7-.5-2.6 3.5 18.3 19 19.9 21.9 3.9 6.3 1.7 11.3 12.9-23.4 13.2-23.4l-18.3-13.3z"/></defs><clipPath id="SVGID_37_"><use xlink:href="#SVGID_36_" overflow="visible"/></clipPath><g class="st58"><path class="st22" d="M630.4 110h40.4v42.3h-40.4z"/><path class="st25" d="M645.1 116.2s-9-1.3-8 1.5 24.8 25.3 20.7 32.7c0 0-27.8-33.7-28.5-34.1s11.6-4.2 11.6-3.7 4.2 3.6 4.2 3.6z"/></g></g><g><defs><path id="SVGID_38_" d="M648.4 78.8l-6.3-.8c-.8-.1-1.3-.8-1.2-1.6v-.1c.8-4.9 3.7-20.6 7.6-28.5 4.7-9.5 13.4-18.2 28.3-14.9s18.9 21.3 18.9 26-8 22.9-12.3 33.1-4.3 15.9-4.3 15.9-16.5 3.1-16.5 1.9 1.2-7.1 1.2-7.1-21 0-15.4-23.9z"/></defs><clipPath id="SVGID_39_"><use xlink:href="#SVGID_38_" overflow="visible"/></clipPath><g class="st59"><path class="st60" d="M637.4 19.3h66.7v104.9h-66.7z"/><path class="st61" d="M682.3 29.7s6.7 20.1-5.2 54.7c-4.6 13.3-13.4 18.3-13.4 18.3l-.5 12.5 18.3.4 25.1-53.1-6-34.5-18.3 1.7z"/><path class="st62" d="M658.5 34.1s-12.2 20.4-14.6 42.7c-.3 3.2 7.3 1.4 7.3 2.3s-5.1 11.8 2.2 22.1c0 0-22.9-5.3-23.3-5.7S641.9 38 641.9 38l16.6-3.9z"/><path class="st26" d="M646 83.4s2.1-4.3 10.7-6.2 15.4 6.1 21.2 6.1 6-10.9 6.3-15.6 1.5-9.3 6-11.9 9.5 11.3 9.5 11.3-7.5-8.3-10.4-4.3 1.6 19.5-7.4 30.2c-4.7 5.2-11.1 8.6-18 9.7-6.1 1-14.1-.4-14.1-.4s-5.1-12.6-5.6-13.2 1.8-5.7 1.8-5.7z"/></g></g><path class="st63" d="M689.8 199.2c-.7-.7-8.1-10.5-9.4-14.3s-5.1 2.3-5.1 4.6 1.6 12.4 3.6 13.5 10.9-3.8 10.9-3.8z"/><g><defs><path id="SVGID_40_" d="M692.4 229.6s-9.1-14.4-11.8-15.9-8.8.5-11.9 2.3-8.6 3.9-10.8 2.3-5-8.8-1.3-12.5 6.7-6.7 10.7-9c6.7-3.9 11.1-3.3 14.6-2s12.9 5.6 12.9 5.6 12.5 15.2-2.4 29.2z"/></defs><clipPath id="SVGID_41_"><use xlink:href="#SVGID_40_" overflow="visible"/></clipPath><g class="st64"><path class="st7" d="M645.3 183.7h59.2V237h-59.2z"/><path class="st65" d="M666.7 192.6c-3.2 4.8-4.3 10.7-3.1 16.4 2.1 9.3 14.1 10.9 14.1 10.9l-23.1 8.1-8-27.8 20.1-7.6z"/><path class="st63" d="M674.6 179.8s17.6 22.5 7 34.7c-14.8 17 18.2 20.9 18.2 20.9l7.5-30.4-32.7-25.2z"/><path d="M654.1 212.3c.8-1.2 1.7-2.3 2.7-3.4 2.1-2.3 4.5-4.4 7-6.3l1.1-.7 1.1-.7 1.1-.6 1.1-.5c1.4-.5 2.8-.9 4.3-1.1l3.1-.3h1.2c.1 0 .2.1.2.2l-.2.2h-1.2l-3 .4-2 .5-2.2.7-2.2 1-1.1.7-1 .7c-2.5 1.9-4.8 4-6.9 6.3l-2 2.3-.7.9c-.1.1-.3.2-.5.1 0-.1 0-.3.1-.4z" class="st33"/><path d="M654.8 216.1c.8-1.2 1.7-2.3 2.6-3.4 2.1-2.4 4.4-4.4 7-6.2l2.2-1.3 2.2-1.1c1.3-.5 2.7-1 4.1-1.3 1.4-.4 2.8-.6 4.2-.7l.2.2-.2.2c-1.4.2-2.8.5-4.1.9-1.4.4-2.7.8-4 1.4l-2.1 1.1-2.1 1.3c-2.5 1.7-4.8 3.8-6.8 6.1-.9 1-1.8 2.1-2.6 3.3-.1.1-.3.2-.5.1s-.2-.4-.1-.6zM656.7 219.7c.6-1.2 1.3-2.4 2.2-3.5.8-1.1 1.8-2.1 2.8-3.1l1.8-1.5 2.1-1.3 2.2-1.1 2.2-.8 4-1.1c1.3-.3 2.7-.5 4-.6l.2.2c0 .1 0 .2-.1.2l-4 .8c-2.9.7-5.6 1.7-8.2 3.1l-2 1.3-1.8 1.5c-1.7 1.6-3.2 3.4-4.4 5.4l-.5 1c-.2.1-.4 0-.5-.1 0 0 0-.1-.1-.2l.1-.2z" class="st33"/></g></g><g><defs><path id="SVGID_42_" d="M646.1 117.8c-1.1-.4 13.3 13.8 12.7 28.9 0 0 6.8-13.5 11.1-17.8 4.2-3.9 8.7-7.6 13.3-11.1 0 0-30.8 2.2-37.1 0z"/></defs><clipPath id="SVGID_43_"><use xlink:href="#SVGID_42_" overflow="visible"/></clipPath><g class="st66"><path class="st14" d="M640.8 112.2h44.1v38.4h-44.1z"/><path class="st15" d="M681.7 121.2l-24.7 5.5s4.1 3.4 2 22.2c0 0-21.3-7.4-21.1-7.5s5.6-25.3 5.6-25.3l43-1.2-4.8 6.3z"/></g></g><ellipse class="js-onboarding-ed-anim-mountaineer-eye onboarding-ed-anim-mountaineer-eye--right" cx="648.2" cy="57.6" rx="1.1" ry="2.6"/><g><defs><path id="SVGID_44_" d="M649.1 46.6s14.9-5.6 31 4.6c10.5 6.7 13 18.7 13 18.7s12.1-28.7-7.3-38.7c-9.7-5-29.2-3.5-36.7 15.4z"/></defs><clipPath id="SVGID_45_"><use xlink:href="#SVGID_44_" overflow="visible"/></clipPath><g class="st67"><path class="st28" d="M646.6 23H701v50.1h-54.4z"/><path class="st68" d="M681.6 29.4c2 4.5 3.2 25.7-.1 36.7-.1.4 12.8 9.1 12.8 8.8s8-36.7 8-36.7l-20.7-8.8z"/></g></g><ellipse class="js-onboarding-ed-anim-mountaineer-eye onboarding-ed-anim-mountaineer-eye--left" cx="664.9" cy="58.8" rx="1.6" ry="3.1"/><path d="M660.1 88.2h1.8l1.8-.2 1.9-.5 1-.3.9-.4.8-.4.7-.4.6-.4.5-.3.4-.2c.1-.1.3 0 .4.1v.3l-.3.4-.4.5-.5.6-.7.6-.9.6-1 .5-1.1.4c-.7.2-1.5.4-2.2.4h-2c-.6-.1-1.2-.2-1.8-.5-.1 0-.2-.2-.1-.3l.2-.5z"/><path class="st7" d="M546.4 346.7l59.5-10-.2 4.9s-1.7 5.4-6.3 7-13.6 1.1-17 1.7-10.8 3.3-15.5 4.4c-13.5 3-19.5-1.9-20.2-3.6l-.3-4.4z"/><path class="st41" d="M548.5 343.3s-2.9 1.5-1.8 4.1 6.7 5.5 15.4 4.3 17.3-4.7 21.1-5.1 10 .3 15-1.6 7-5 7.6-7.7-3.4-4.4-3.4-4.4l-53.9 10.4z"/><path class="st40" d="M551.2 348.1c-1.1-2.7 1.8-4.1 1.8-4.1l51.3-9.9c-.6-.5-1.2-.9-1.9-1.2l-53.9 10.4s-2.9 1.5-1.8 4.1 4.5 4.3 10.2 4.6c-3.1-.9-5-2.4-5.7-3.9z"/><g><defs><path id="SVGID_46_" d="M580 320.2s1.9 8.6-16.2 12.7c-16.2 3.7-16.9 11.8-14.6 14.1s8.3 5.5 22.1 1.2c9.9-3.1 11.8-3.3 11.8-3.3s9.6.7 14.7-1.8c6.8-3.3 6.9-9.4 5.3-13.3s-4-6.5-4-10.2"/></defs><clipPath id="SVGID_47_"><use xlink:href="#SVGID_46_" overflow="visible"/></clipPath><g class="st69"><path class="st7" d="M546 315.3h65.2v42.2H546z"/><path class="st70" d="M578.4 322.8s.8 5.8-5.4 9.4-18.7 5.7-14 8.6 3.8 5.1-.5 5.1c-7 0-10.1-1.6-9.8-3.7.2-2 14.3-18.2 14.3-18.2l14.9-.9"/></g></g><path d="M648.8 49.4c.1-.3.3-.5.5-.7l.7-.5.9-.3c.6-.2 1.1-.2 1.7-.2h.8c.1 0 .2.1.2.2v.1l-.2.2-.7.2-1.6.3-1.5.5-.6.3-.2-.1c0 .1 0 0 0 0zM673.7 52.6c-.3-.5-.6-1-1-1.4l-1.2-1.3c-.5-.5-1-.9-1.6-1.2l-.9-.5-.9-.4-.9-.3-.8-.2h-1.7c-.1 0-.2-.1-.2-.2l.2-.2h2.7l1 .3 1 .4 1 .5c1.1.7 2.1 1.7 2.8 2.8l.6 1.2.2.5c0 .1 0 .2-.1.2l-.2-.2z"/><path class="st7" d="M649.8 44.8c10.1-4.2 32.5-2.9 45.5 16.2l.8-4.3c-6-12.6-26.1-22.5-44.7-16.6l-1.6 4.7z"/><path class="st71" d="M689.3 75.6c3.7.2 5.9-5.6 5.9-9.9s-4.6-4.4-5.4-3 .8 3.4-.1 6-1.4 6.8-.4 6.9z"/><path class="st72" d="M646.8 40.8l1 2.4v.3c.9 1.5 4.4 1.5 8-.1s5.8-3.8 5.7-5.4l-1.4-3.4-13.3 6.2zM665.6 36.3l-1 3.8c.1 1.8 3 3.8 6.9 4.8s7.7.4 8.4-1.3v-.3l.7-2.8-15-4.2z"/><ellipse transform="rotate(-22.701 653.293 38.865)" class="st73" cx="653.3" cy="38.9" rx="7.4" ry="3.3"/><ellipse transform="rotate(-76.301 672.558 38.205)" class="st74" cx="672.5" cy="38.2" rx="3.5" ry="7.9"/><path class="st75" d="M689.7 117.5c-13.3 1.4-29 23.6-32.6 34.8 9.1-11.1 31.6-23.6 33.2-24.2s2.7-1.6 1.3-3.9-1.9-6.7-1.9-6.7z"/><g><defs><path id="SVGID_48_" d="M686.3 115.5c-12.4 1-27.2 26.8-28.4 34.3 8-12.9 26.6-22.4 29-23.7s2.7-1.6 1.3-3.9-1.9-6.7-1.9-6.7z"/></defs><clipPath id="SVGID_49_"><use xlink:href="#SVGID_48_" overflow="visible"/></clipPath><g class="st76"><path class="st22" d="M657 111.6h35.1v38.2H657z"/><path class="st77" d="M686.9 118.4c1 1.4-1.3 5.8-11.6 13.4-4.4 3.2-9.9 5.7-15.7 15.6l31.9-20.8-4.6-8.2z"/></g></g><ellipse class="st78" cx="690" cy="68.2" rx="1.8" ry="2.1"/><g><defs><path id="SVGID_50_" d="M577.6 299.4v24.5s1.1 1.8 12.8 1.8 11.7-3.2 11.7-3.2v-22.2s-14.7 4.8-24.5-.9z"/></defs><clipPath id="SVGID_51_"><use xlink:href="#SVGID_50_" overflow="visible"/></clipPath><g class="st79"><path class="st28" d="M569.6 290.3h45.2v45.2h-45.2z"/><path class="st45" d="M591 298.2l.2 33.3s18.3-2.1 17.6-2.8-.7-33.5-.7-33.5l-17.1 3z"/></g></g><g><defs><path id="SVGID_52_" d="M652.7 103.8s11.1 1.7 20 .9c4.2-.3 8.4-.9 12.5-1.9 2.8.8 4.4 4.9 4.3 8.2.2 3.3-1.6 6.4-4.5 7.9 0 0-23 6.9-37.4.8-7.8-3.2-3.8-16.5 5.1-15.9z"/></defs><clipPath id="SVGID_53_"><use xlink:href="#SVGID_52_" overflow="visible"/></clipPath><g class="st80"><path class="st14" d="M639.5 98H701v31.4h-61.5z"/><path class="st81" d="M659.6 104.3s-11 .8-11.4 8.8 5.8 10 4.3 8.8c0 0-15.8-1.7-14.5-8.4s9.9-14.1 21.6-9.2z"/><path class="st15" d="M669.4 102.3s13.3 5.2.1 22.6l30.1-2.6-3.5-23.9-26.7 3.9z"/></g></g><path class="st82" d="M650.1 151.1s-4.7 9.4-4.7 16.7"/><path class="st83" d="M644.9 168.7l-1.4 6.2h2.9l-.7-6.2z"/></g></svg>'
  16862. });
  16863. this["DDG"]["templates"]["hp_onboarding_education"] = Handlebars.template(function(f, s, q, k, u) {
  16864.     this.compilerInfo = [4, ">= 1.0.0"];
  16865.     q = this.merge(q, f.helpers);
  16866.     u = u || {};
  16867.     var r = "",
  16868.         h, a, e, o = this,
  16869.         c = "function",
  16870.         b = this.escapeExpression,
  16871.         p = q.helperMissing;
  16872.  
  16873.     function n(x, v) {
  16874.         return ' <a class="onboarding-ed__arrow-teaser js-onboarding-ed-teaser"><img class="onboarding-ed__arrow-teaser__alpinist" src="/assets/onboarding/bathroomguy/[email protected]" loading="lazy" width="80" height="64" /><div class="onboarding-ed__arrow-teaser__arrow-wrapper"><img class="onboarding-ed__arrow-teaser__arrow" src="/assets/onboarding/arrow.svg" loading="lazy" width="16" height="16" /></div></a>'
  16875.     }
  16876.  
  16877.     function m(y, x) {
  16878.         var v = "";
  16879.         v += '<img data-src="/assets/onboarding/bathroomguy/1-monster-v2--pre-animation.svg" class="onboarding-ed__image--placeholder js-hp-lazysvg" width="1200" height="460" loading="lazy" />';
  16880.         return v
  16881.     }
  16882.  
  16883.     function j(y, x) {
  16884.         var v;
  16885.         v = q["if"].call(y, ((v = (y && y.model)), v == null || v === false ? v : v.isSVGAnimated), {
  16886.             hash: {},
  16887.             inverse: o.program(6, i, x),
  16888.             fn: o.program(3, m, x),
  16889.             data: x
  16890.         });
  16891.         if (v || v === 0) {
  16892.             return v
  16893.         } else {
  16894.             return ""
  16895.         }
  16896.     }
  16897.  
  16898.     function i(x, v) {
  16899.         return '<img data-src="/assets/onboarding/bathroomguy/1-monster-v2--no-animation.svg" class="onboarding-ed__image--placeholder js-hp-lazysvg" width="1200" height="460" loading="lazy" />'
  16900.     }
  16901.  
  16902.     function g(x, v) {
  16903.         return '<img data-src="/assets/onboarding/bathroomguy/3-bathtub-v2--pre-animation.svg" class="onboarding-ed__image--placeholder js-hp-lazysvg" width="1200" height="460" loading="lazy" />'
  16904.     }
  16905.  
  16906.     function t(x, v) {
  16907.         return '<img data-src="/assets/onboarding/bathroomguy/3-bathtub-v2--no-animation.svg" class="onboarding-ed__image--placeholder js-hp-lazysvg" width="1200" height="460" loading="lazy" />'
  16908.     }
  16909.     r += '<div class="onboarding-ed js-onboarding-ed ';
  16910.     if (a = q.extraClass) {
  16911.         h = a.call(s, {
  16912.             hash: {},
  16913.             data: u
  16914.         })
  16915.     } else {
  16916.         a = (s && s.extraClass);
  16917.         h = typeof a === c ? a.call(s, {
  16918.             hash: {},
  16919.             data: u
  16920.         }) : a
  16921.     }
  16922.     r += b(h) + '">';
  16923.     h = q["if"].call(s, (s && s.doRenderTeaserArrow), {
  16924.         hash: {},
  16925.         inverse: o.noop,
  16926.         fn: o.program(1, n, u),
  16927.         data: u
  16928.     });
  16929.     if (h || h === 0) {
  16930.         r += h
  16931.     }
  16932.     r += '<a class="onboarding-ed__arrow js-onboarding-ed-arrow"><img src="/assets/onboarding/arrow.svg" loading="lazy" width="24" height="24" /></a><div class="onboarding-ed__slide onboarding-ed__slide-1 js-onboarding-ed-slide js-onboarding-ed-slide-1"><div class="onboarding-ed__content"><h1 class="onboarding-ed__title js-onboarding-ed-balance-text">';
  16933.     h = (a = q.lp || (s && s.lp), e = {
  16934.         hash: {},
  16935.         data: u
  16936.     }, a ? a.call(s, "homepage onboarding", "We don’t store your personal information. Ever.", e) : p.call(s, "lp", "homepage onboarding", "We don’t store your personal information. Ever.", e));
  16937.     if (h || h === 0) {
  16938.         r += h
  16939.     }
  16940.     r += '</h1><p class="onboarding-ed__subtitle js-onboarding-ed-balance-text">';
  16941.     h = (a = q.lp || (s && s.lp), e = {
  16942.         hash: {},
  16943.         data: u
  16944.     }, a ? a.call(s, "homepage onboarding", "Our privacy policy is simple: we don’t collect or share any of your personal information.", e) : p.call(s, "lp", "homepage onboarding", "Our privacy policy is simple: we don’t collect or share any of your personal information.", e));
  16945.     if (h || h === 0) {
  16946.         r += h
  16947.     }
  16948.     r += '</p><div class="js-onboarding-ed-button-small-1"></div></div><div class="onboarding-ed__image-container js-onboarding-ed-image-container-1">';
  16949.     h = q["if"].call(s, (s && s.preventAnimation), {
  16950.         hash: {},
  16951.         inverse: o.program(5, j, u),
  16952.         fn: o.program(3, m, u),
  16953.         data: u
  16954.     });
  16955.     if (h || h === 0) {
  16956.         r += h
  16957.     }
  16958.     r += '</div></div><div class="onboarding-ed__slide onboarding-ed__slide-2 js-onboarding-ed-slide js-onboarding-ed-slide-2"><div class="onboarding-ed__content onboarding-ed__content--more-shadow"><h1 class="onboarding-ed__title js-onboarding-ed-balance-text">';
  16959.     h = (a = q.lp || (s && s.lp), e = {
  16960.         hash: {},
  16961.         data: u
  16962.     }, a ? a.call(s, "homepage onboarding", "We don’t follow you around with ads.", e) : p.call(s, "lp", "homepage onboarding", "We don’t follow you around with ads.", e));
  16963.     if (h || h === 0) {
  16964.         r += h
  16965.     }
  16966.     r += '</h1><p class="onboarding-ed__subtitle js-onboarding-ed-balance-text">';
  16967.     h = (a = q.lp || (s && s.lp), e = {
  16968.         hash: {},
  16969.         data: u
  16970.     }, a ? a.call(s, "homepage onboarding", "We don’t store your search history. We therefore have nothing to sell to advertisers that track you across the Internet.", e) : p.call(s, "lp", "homepage onboarding", "We don’t store your search history. We therefore have nothing to sell to advertisers that track you across the Internet.", e));
  16971.     if (h || h === 0) {
  16972.         r += h
  16973.     }
  16974.     r += '</p><div class="js-onboarding-ed-button-small-2"></div></div><div class="onboarding-ed__image-container js-onboarding-ed-image-container-2"><img data-src="/assets/onboarding/bathroomguy/2-ghost-v2.svg" class="onboarding-ed__image--placeholder js-hp-lazysvg" width="1200" height="460" loading="lazy" /></div></div><div class="onboarding-ed__slide onboarding-ed__slide-3 js-onboarding-ed-slide js-onboarding-ed-slide-3"><div class="onboarding-ed__content"><h1 class="onboarding-ed__title js-onboarding-ed-balance-text">';
  16975.     h = (a = q.lp || (s && s.lp), e = {
  16976.         hash: {},
  16977.         data: u
  16978.     }, a ? a.call(s, "homepage onboarding", "We don’t track you in or out of private browsing mode.", e) : p.call(s, "lp", "homepage onboarding", "We don’t track you in or out of private browsing mode.", e));
  16979.     if (h || h === 0) {
  16980.         r += h
  16981.     }
  16982.     r += '</h1><p class="onboarding-ed__subtitle js-onboarding-ed-balance-text">';
  16983.     h = (a = q.lp || (s && s.lp), e = {
  16984.         hash: {},
  16985.         data: u
  16986.     }, a ? a.call(s, "homepage onboarding", "Other search engines track your searches even when you’re in private browsing mode. We don’t track you &mdash; period.", e) : p.call(s, "lp", "homepage onboarding", "Other search engines track your searches even when you’re in private browsing mode. We don’t track you &mdash; period.", e));
  16987.     if (h || h === 0) {
  16988.         r += h
  16989.     }
  16990.     r += '</p><div class="js-onboarding-ed-button-small-3"></div></div><div class="onboarding-ed__image-container js-onboarding-ed-image-container-3">';
  16991.     h = q["if"].call(s, ((h = (s && s.model)), h == null || h === false ? h : h.isSVGAnimated), {
  16992.         hash: {},
  16993.         inverse: o.program(10, t, u),
  16994.         fn: o.program(8, g, u),
  16995.         data: u
  16996.     });
  16997.     if (h || h === 0) {
  16998.         r += h
  16999.     }
  17000.     r += '</div></div><div class="onboarding-ed__slide onboarding-ed__slide-4 js-onboarding-ed-slide js-onboarding-ed-slide-4"><div class="onboarding-ed__close"><span class="js-onboarding-ed-dismiss onboarding-ed__close-dismiss">';
  17001.     h = (a = q.l || (s && s.l), e = {
  17002.         hash: {},
  17003.         data: u
  17004.     }, a ? a.call(s, "Dismiss forever", e) : p.call(s, "l", "Dismiss forever", e));
  17005.     if (h || h === 0) {
  17006.         r += h
  17007.     }
  17008.     r += '</span><span class="ddgsi onboarding-ed__close-divider">|</span> <span class="onboarding-ed__close-back js-onboarding-ed-back-to-search">';
  17009.     h = (a = q.lp || (s && s.lp), e = {
  17010.         hash: {},
  17011.         data: u
  17012.     }, a ? a.call(s, "homepage onboarding", "Back to search", e) : p.call(s, "lp", "homepage onboarding", "Back to search", e));
  17013.     if (h || h === 0) {
  17014.         r += h
  17015.     }
  17016.     r += '</span> </div><div class="onboarding-ed__content js-onboarding-ed-install"><h1 class="onboarding-ed__title js-onboarding-ed-balance-text">';
  17017.     h = (a = q.lp || (s && s.lp), e = {
  17018.         hash: {},
  17019.         data: u
  17020.     }, a ? a.call(s, "homepage onboarding", "Switch to DuckDuckGo and take back your privacy!", e) : p.call(s, "lp", "homepage onboarding", "Switch to DuckDuckGo and take back your privacy!", e));
  17021.     if (h || h === 0) {
  17022.         r += h
  17023.     }
  17024.     r += '</h1><p class="onboarding-ed__subtitle js-onboarding-ed-balance-text">';
  17025.     h = (a = q.lp || (s && s.lp), e = {
  17026.         hash: {},
  17027.         data: u
  17028.     }, a ? a.call(s, "homepage onboarding", "No tracking, no ad targeting, just searching.", e) : p.call(s, "lp", "homepage onboarding", "No tracking, no ad targeting, just searching.", e));
  17029.     if (h || h === 0) {
  17030.         r += h
  17031.     }
  17032.     r += '</p><div class="js-onboarding-ed-button"></div></div><div class="onboarding-ed__content js-onboarding-ed-spread" style="display:none"><h1 class="onboarding-ed__title js-onboarding-ed-balance-text">';
  17033.     h = (a = q.lp || (s && s.lp), e = {
  17034.         hash: {},
  17035.         data: u
  17036.     }, a ? a.call(s, "homepage onboarding", "Already a fan?", e) : p.call(s, "lp", "homepage onboarding", "Already a fan?", e));
  17037.     if (h || h === 0) {
  17038.         r += h
  17039.     }
  17040.     r += "<br>";
  17041.     h = (a = q.lp || (s && s.lp), e = {
  17042.         hash: {},
  17043.         data: u
  17044.     }, a ? a.call(s, "homepage onboarding", "Invite friends to the Duck Side!", e) : p.call(s, "lp", "homepage onboarding", "Invite friends to the Duck Side!", e));
  17045.     if (h || h === 0) {
  17046.         r += h
  17047.     }
  17048.     r += '</h1><p class="onboarding-ed__subtitle js-onboarding-ed-balance-text">';
  17049.     h = (a = q.lp || (s && s.lp), e = {
  17050.         hash: {},
  17051.         data: u
  17052.     }, a ? a.call(s, "homepage onboarding", "Share DuckDuckGo and help friends take their privacy back!", e) : p.call(s, "lp", "homepage onboarding", "Share DuckDuckGo and help friends take their privacy back!", e));
  17053.     if (h || h === 0) {
  17054.         r += h
  17055.     }
  17056.     r += '</p><div><a class="btn onboarding-ed__button onboarding-ed__tweet-button js-onboarding-ed-tweet-button" target="_blank" href="https://twitter.com/?status=DuckDuckGo%20is%20my%20search%20engine%20of%20choice.%20%23ComeToTheDuckSide%20-%20we%20have%20privacy.%20https%3A%2F%2Fduckduckgo.com%2F%231">Tweet #ComeToTheDuckSide</a></div></div><div class="onboarding-ed__image-container js-onboarding-ed-image-container-4"><img data-src="/assets/onboarding/bathroomguy/4-alpinist-v2.svg" class="onboarding-ed__image--placeholder js-hp-lazysvg" width="1200" height="460" loading="lazy" /></div></div></div>';
  17057.     return r
  17058. });
  17059. this["DDG"]["templates"]["iframe"] = Handlebars.template(function(f, n, e, m, k) {
  17060.     this.compilerInfo = [4, ">= 1.0.0"];
  17061.     e = this.merge(e, f.helpers);
  17062.     k = k || {};
  17063.     var i = "",
  17064.         b, g, h = "function",
  17065.         j = this.escapeExpression,
  17066.         o = this;
  17067.  
  17068.     function c(t, s) {
  17069.         var p = "",
  17070.             q, r;
  17071.         p += '<input type="hidden" name="source" value="';
  17072.         if (r = e.source) {
  17073.             q = r.call(t, {
  17074.                 hash: {},
  17075.                 data: s
  17076.             })
  17077.         } else {
  17078.             r = (t && t.source);
  17079.             q = typeof r === h ? r.call(t, {
  17080.                 hash: {},
  17081.                 data: s
  17082.             }) : r
  17083.         }
  17084.         p += j(q) + '">';
  17085.         return p
  17086.     }
  17087.  
  17088.     function a(t, s) {
  17089.         var p = "",
  17090.             q, r;
  17091.         p += '<input type="hidden" name="p" value="';
  17092.         if (r = e.variant) {
  17093.             q = r.call(t, {
  17094.                 hash: {},
  17095.                 data: s
  17096.             })
  17097.         } else {
  17098.             r = (t && t.variant);
  17099.             q = typeof r === h ? r.call(t, {
  17100.                 hash: {},
  17101.                 data: s
  17102.             }) : r
  17103.         }
  17104.         p += j(q) + '">';
  17105.         return p
  17106.     }
  17107.     i += '<div class="search--iframe"><form id="search_form_homepage" class="js-search-form search--adv search--home search--focus" name="x" method="GET" action="/" target="_top"><input id="search_form_input_homepage" class="js-search-input search__input--adv" autocomplete="off" name="q" tabindex="1" value="" autocapitalize="off" autocorrect="off" type="text" placeholder="';
  17108.     if (g = e.placeholder) {
  17109.         b = g.call(n, {
  17110.             hash: {},
  17111.             data: k
  17112.         })
  17113.     } else {
  17114.         g = (n && n.placeholder);
  17115.         b = typeof g === h ? g.call(n, {
  17116.             hash: {},
  17117.             data: k
  17118.         }) : g
  17119.     }
  17120.     i += j(b) + '"><input id="search_button_homepage" class="search__button  js-search-button" tabindex="2" value="S" type="submit"><input id="search_form_input_clear" class="search__clear  empty  js-search-clear" tabindex="3" value="X" type="button"><input type="hidden" name="t" value="h';
  17121.     if (g = e.atbVariant) {
  17122.         b = g.call(n, {
  17123.             hash: {},
  17124.             data: k
  17125.         })
  17126.     } else {
  17127.         g = (n && n.atbVariant);
  17128.         b = typeof g === h ? g.call(n, {
  17129.             hash: {},
  17130.             data: k
  17131.         }) : g
  17132.     }
  17133.     i += j(b) + '">';
  17134.     b = e["if"].call(n, (n && n.source), {
  17135.         hash: {},
  17136.         inverse: o.noop,
  17137.         fn: o.program(1, c, k),
  17138.         data: k
  17139.     });
  17140.     if (b || b === 0) {
  17141.         i += b
  17142.     }
  17143.     b = e["if"].call(n, (n && n.canInstall), {
  17144.         hash: {},
  17145.         inverse: o.noop,
  17146.         fn: o.program(3, a, k),
  17147.         data: k
  17148.     });
  17149.     if (b || b === 0) {
  17150.         i += b
  17151.     }
  17152.     i += "</div>";
  17153.     return i
  17154. });
  17155. this["DDG"]["templates"]["module_image_header_item"] = Handlebars.template(function(f, o, e, m, k) {
  17156.     this.compilerInfo = [4, ">= 1.0.0"];
  17157.     e = this.merge(e, f.helpers);
  17158.     k = k || {};
  17159.     var i = "",
  17160.         b, g, n = e.helperMissing,
  17161.         j = this.escapeExpression,
  17162.         h = "function",
  17163.         p = this;
  17164.  
  17165.     function c(v, u) {
  17166.         var q = "",
  17167.             s, t, r;
  17168.         q += ' style="background-image: url(' + j((t = e.imageProxy || (v && v.imageProxy), r = {
  17169.             hash: {},
  17170.             data: u
  17171.         }, t ? t.call(v, ((s = (v && v.image)), s == null || s === false ? s : s.url), r) : n.call(v, "imageProxy", ((s = (v && v.image)), s == null || s === false ? s : s.url), r))) + ')"';
  17172.         return q
  17173.     }
  17174.  
  17175.     function a(v, u) {
  17176.         var q = "",
  17177.             s, t, r;
  17178.         q += '<img class="module__header__image__img" src="' + j((t = e.imageProxy || (v && v.imageProxy), r = {
  17179.             hash: {},
  17180.             data: u
  17181.         }, t ? t.call(v, ((s = (v && v.image)), s == null || s === false ? s : s.url), r) : n.call(v, "imageProxy", ((s = (v && v.image)), s == null || s === false ? s : s.url), r))) + '" />';
  17182.         return q
  17183.     }
  17184.     i += '<div class="module__header__image ';
  17185.     if (g = e.className) {
  17186.         b = g.call(o, {
  17187.             hash: {},
  17188.             data: k
  17189.         })
  17190.     } else {
  17191.         g = (o && o.className);
  17192.         b = typeof g === h ? g.call(o, {
  17193.             hash: {},
  17194.             data: k
  17195.         }) : g
  17196.     }
  17197.     i += j(b) + '" ';
  17198.     b = e["if"].call(o, ((b = (o && o.image)), b == null || b === false ? b : b.url), {
  17199.         hash: {},
  17200.         inverse: p.noop,
  17201.         fn: p.program(1, c, k),
  17202.         data: k
  17203.     });
  17204.     if (b || b === 0) {
  17205.         i += b
  17206.     }
  17207.     i += ">";
  17208.     b = e["if"].call(o, ((b = (o && o.image)), b == null || b === false ? b : b.url), {
  17209.         hash: {},
  17210.         inverse: p.noop,
  17211.         fn: p.program(3, a, k),
  17212.         data: k
  17213.     });
  17214.     if (b || b === 0) {
  17215.         i += b
  17216.     }
  17217.     i += "</div>";
  17218.     return i
  17219. });
  17220. this["DDG"]["templates"]["multi_step_mobile_onboarding"] = Handlebars.template(function(j, B, z, p, J) {
  17221.     this.compilerInfo = [4, ">= 1.0.0"];
  17222.     z = this.merge(z, j.helpers);
  17223.     J = J || {};
  17224.     var A = "",
  17225.         m, a, v = this,
  17226.         e = "function",
  17227.         c = this.escapeExpression;
  17228.  
  17229.     function r(M, L) {
  17230.         return "multi-step-mobile-onboarding--stateless"
  17231.     }
  17232.  
  17233.     function q(M, L) {
  17234.         return "multi-step-mobile-onboarding--dark"
  17235.     }
  17236.  
  17237.     function o(M, L) {
  17238.         return "Step "
  17239.     }
  17240.  
  17241.     function n(M, L) {
  17242.         return "1"
  17243.     }
  17244.  
  17245.     function i(M, L) {
  17246.         return "0"
  17247.     }
  17248.  
  17249.     function I(M, L) {
  17250.         return " Completed"
  17251.     }
  17252.  
  17253.     function F(M, L) {
  17254.         return "Take Back Your Privacy!"
  17255.     }
  17256.  
  17257.     function E(M, L) {
  17258.         return "Set DuckDuckGo as Your Default Search Engine"
  17259.     }
  17260.  
  17261.     function D(M, L) {
  17262.         return "We don’t store your personal info or track you. Ever."
  17263.     }
  17264.  
  17265.     function C(M, L) {
  17266.         return "Make your web searches in Safari private by default."
  17267.     }
  17268.  
  17269.     function k(M, L) {
  17270.         return "multi-step-mobile-onboarding__step__content__body--list-numbered"
  17271.     }
  17272.  
  17273.     function h(M, L) {
  17274.         return "!"
  17275.     }
  17276.  
  17277.     function g(M, L) {
  17278.         return '<a href="App-prefs://prefs:root=Settings" class="btn btn--cppm-do" data-action="do" target="_blank">Open Settings</a>'
  17279.     }
  17280.  
  17281.     function f(M, L) {
  17282.         return "skip"
  17283.     }
  17284.  
  17285.     function b(M, L) {
  17286.         return "complete"
  17287.     }
  17288.  
  17289.     function y(N, M) {
  17290.         var L;
  17291.         L = z["if"].call(N, (N && N.isCppm5), {
  17292.             hash: {},
  17293.             inverse: v.program(34, u, M),
  17294.             fn: v.program(32, x, M),
  17295.             data: M
  17296.         });
  17297.         if (L || L === 0) {
  17298.             return L
  17299.         } else {
  17300.             return ""
  17301.         }
  17302.     }
  17303.  
  17304.     function x(M, L) {
  17305.         return "I Did It"
  17306.     }
  17307.  
  17308.     function u(M, L) {
  17309.         return "Next"
  17310.     }
  17311.  
  17312.     function t(M, L) {
  17313.         return '<button class="btn--cppm-skip" data-action="skip">Skip For Now</button>'
  17314.     }
  17315.  
  17316.     function s(M, L) {
  17317.         return "search"
  17318.     }
  17319.  
  17320.     function K(M, L) {
  17321.         return "Start Searching"
  17322.     }
  17323.  
  17324.     function H(O, N) {
  17325.         var L = "",
  17326.             M;
  17327.         L += '<section class="js-multi-step-mobile-onboarding-step multi-step-mobile-onboarding__step"><div class="js-multi-step-mobile-onboarding-content multi-step-mobile-onboarding__step__content multi-step-mobile-onboarding__step__content--last"><header class="multi-step-mobile-onboarding__step__content__header"><h2 class="js-multi-step-mobile-onboarding-title multi-step-mobile-onboarding__step__content__header__title--final">Setup Complete!</h2><p class="js-multi-step-mobile-onboarding-desc">You\'re ready to search and browse the web privately across your devices.</p>                    </header><div class="js-multi-step-mobile-onboarding-final multi-step-mobile-onboarding__step__content__body multi-step-mobile-onboarding__step__content__body--final"><img src="/assets/add-to-browser/cppm/party';
  17328.         M = z["if"].call(O, (O && O.isDarkTheme), {
  17329.             hash: {},
  17330.             inverse: v.noop,
  17331.             fn: v.program(43, G, N),
  17332.             data: N
  17333.         });
  17334.         if (M || M === 0) {
  17335.             L += M
  17336.         }
  17337.         L += '.svg" alt="image of a celebration party" /></div><div class="js-multi-step-mobile-onboarding-resume multi-step-mobile-onboarding__step__content__body multi-step-mobile-onboarding__step__content__body--resume"><ol class="js-multi-step-mobile-onboarding-remaining multi-step-mobile-onboarding__step__content__body__remaining-items"><li data-checked="false"><a data-action="nav" data-step="0" href="#cppmd"><span class="ddgsi ddgsi-check"><i></i></span>DuckDuckGo Private Search</a></li><li data-checked="false"><a data-action="nav" data-step="1" href="#cppma"><span class="ddgsi ddgsi-check"><i></i></span>DuckDuckGo Privacy Browser App</a></li><li data-checked="false"><a data-action="nav" data-step="2" href="#cppme"><span class="ddgsi ddgsi-check"><i></i></span>DuckDuckGo Browser Extension</a></li></ol><figure><img src="/assets/add-to-browser/cppm/puzzle';
  17338.         M = z["if"].call(O, (O && O.isDarkTheme), {
  17339.             hash: {},
  17340.             inverse: v.noop,
  17341.             fn: v.program(43, G, N),
  17342.             data: N
  17343.         });
  17344.         if (M || M === 0) {
  17345.             L += M
  17346.         }
  17347.         L += '.svg" alt="image of a puzzle partially completed" /></figure></div><div class="multi-step-mobile-onboarding__step__controls"><div class="multi-step-mobile-onboarding__step__controls__buttons"><button data-action="search" class="js-multi-step-mobile-onboarding-search btn btn--primary">Start Searching</button></div></div>                                </div></section>';
  17348.         return L
  17349.     }
  17350.  
  17351.     function G(M, L) {
  17352.         return "-dark"
  17353.     }
  17354.     A += '<div class="js-multi-step-mobile-onboarding multi-step-mobile-onboarding ';
  17355.     m = z["if"].call(B, (B && B.isStateless), {
  17356.         hash: {},
  17357.         inverse: v.noop,
  17358.         fn: v.program(1, r, J),
  17359.         data: J
  17360.     });
  17361.     if (m || m === 0) {
  17362.         A += m
  17363.     }
  17364.     A += " ";
  17365.     m = z["if"].call(B, (B && B.isCppm4Or5), {
  17366.         hash: {},
  17367.         inverse: v.noop,
  17368.         fn: v.program(3, q, J),
  17369.         data: J
  17370.     });
  17371.     if (m || m === 0) {
  17372.         A += m
  17373.     }
  17374.     A += '"><header class="js-multi-step-mobile-onboarding-header multi-step-mobile-onboarding__header"><div class="multi-step-mobile-onboarding__logo">DuckDuckGo</div><div class="multi-step-mobile-onboarding__progress"><label for="cppm-progress">';
  17375.     m = z["if"].call(B, (B && B.isStateless), {
  17376.         hash: {},
  17377.         inverse: v.noop,
  17378.         fn: v.program(5, o, J),
  17379.         data: J
  17380.     });
  17381.     if (m || m === 0) {
  17382.         A += m
  17383.     }
  17384.     A += '<span class="js-multi-step-mobile-onboarding-count">';
  17385.     m = z["if"].call(B, (B && B.isStateless), {
  17386.         hash: {},
  17387.         inverse: v.program(9, i, J),
  17388.         fn: v.program(7, n, J),
  17389.         data: J
  17390.     });
  17391.     if (m || m === 0) {
  17392.         A += m
  17393.     }
  17394.     A += "</span> of 3";
  17395.     m = z.unless.call(B, (B && B.isStateless), {
  17396.         hash: {},
  17397.         inverse: v.noop,
  17398.         fn: v.program(11, I, J),
  17399.         data: J
  17400.     });
  17401.     if (m || m === 0) {
  17402.         A += m
  17403.     }
  17404.     A += '</label><div class="multi-step-mobile-onboarding__progress-bar"><div class="multi-step-mobile-onboarding__progress__fallback-bar"><div class="multi-step-mobile-onboarding__progress__fallback-value js-multi-step-mobile-onboarding-fallback-progress"></div></div></div></div><button class="js-multi-step-mobile-onboarding-close multi-step-mobile-onboarding__close" aria-label="close"><svg width="27" height="27" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.5 11.909l4.773-4.773a1.125 1.125 0 111.59 1.591L15.092 13.5l4.773 4.773a1.125 1.125 0 11-1.591 1.59L13.5 15.092l-4.773 4.773a1.125 1.125 0 11-1.591-1.591l4.773-4.773-4.773-4.773a1.125 1.125 0 111.591-1.591l4.773 4.773z" fill="#353748"/></svg></button></header><article class="js-multi-step-mobile-onboarding-slider multi-step-mobile-onboarding__slider"><section id="cppmd" class="js-multi-step-mobile-onboarding-step multi-step-mobile-onboarding__step"><div class="js-multi-step-mobile-onboarding-content multi-step-mobile-onboarding__step__content"><header class="multi-step-mobile-onboarding__step__content__header"><div class="multi-step-mobile-onboarding__step__content__header__icon"><img src="/assets/add-to-browser/cppm/search.svg" alt="image of a loop"/><div class="multi-step-mobile-onboarding__step__content__header__icon__check-wrapper"><div class="multi-step-mobile-onboarding__step__content__header__icon__check-circle"></div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52"><path class="multi-step-mobile-onboarding__step__content__header__icon__check-path" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8" /></svg></div></div><h2>';
  17405.     m = z["if"].call(B, (B && B.isCppm4Or5), {
  17406.         hash: {},
  17407.         inverse: v.program(15, E, J),
  17408.         fn: v.program(13, F, J),
  17409.         data: J
  17410.     });
  17411.     if (m || m === 0) {
  17412.         A += m
  17413.     }
  17414.     A += "</h2><p>";
  17415.     m = z["if"].call(B, (B && B.isCppm4Or5), {
  17416.         hash: {},
  17417.         inverse: v.program(19, C, J),
  17418.         fn: v.program(17, D, J),
  17419.         data: J
  17420.     });
  17421.     if (m || m === 0) {
  17422.         A += m
  17423.     }
  17424.     A += '</p></header><ol class="multi-step-mobile-onboarding__step__content__body multi-step-mobile-onboarding__step__content__body--list ';
  17425.     m = z["if"].call(B, (B && B.isCppm4Or5), {
  17426.         hash: {},
  17427.         inverse: v.noop,
  17428.         fn: v.program(21, k, J),
  17429.         data: J
  17430.     });
  17431.     if (m || m === 0) {
  17432.         A += m
  17433.     }
  17434.     A += '"><li><img src="/assets/add-to-browser/cppm/settings.svg" alt="settings icon"/><span>Open <b>Settings</b></span></li><li><img src="/assets/add-to-browser/cppm/safari.svg" alt="safari icon"/><span>Select <b>Safari</b>, then <b>Search Engine</b></span></li><li><img src="/assets/add-to-browser/cppm/check.svg" alt="select icon"/><span>Select <b>DuckDuckGo</b>';
  17435.     m = z["if"].call(B, (B && B.isCppm4Or5), {
  17436.         hash: {},
  17437.         inverse: v.noop,
  17438.         fn: v.program(23, h, J),
  17439.         data: J
  17440.     });
  17441.     if (m || m === 0) {
  17442.         A += m
  17443.     }
  17444.     A += '</span></li></ol><div class="multi-step-mobile-onboarding__step__controls"><div class="multi-step-mobile-onboarding__step__controls__buttons">';
  17445.     m = z.unless.call(B, (B && B.isCppm5), {
  17446.         hash: {},
  17447.         inverse: v.noop,
  17448.         fn: v.program(25, g, J),
  17449.         data: J
  17450.     });
  17451.     if (m || m === 0) {
  17452.         A += m
  17453.     }
  17454.     A += '<button class="btn btn--primary btn--cppm-done" data-action="';
  17455.     m = z["if"].call(B, (B && B.isStateless), {
  17456.         hash: {},
  17457.         inverse: v.program(29, b, J),
  17458.         fn: v.program(27, f, J),
  17459.         data: J
  17460.     });
  17461.     if (m || m === 0) {
  17462.         A += m
  17463.     }
  17464.     A += '">';
  17465.     m = z["if"].call(B, (B && B.isStateless), {
  17466.         hash: {},
  17467.         inverse: v.program(32, x, J),
  17468.         fn: v.program(31, y, J),
  17469.         data: J
  17470.     });
  17471.     if (m || m === 0) {
  17472.         A += m
  17473.     }
  17474.     A += "</button></div>";
  17475.     m = z.unless.call(B, (B && B.isStateless), {
  17476.         hash: {},
  17477.         inverse: v.noop,
  17478.         fn: v.program(36, t, J),
  17479.         data: J
  17480.     });
  17481.     if (m || m === 0) {
  17482.         A += m
  17483.     }
  17484.     A += '</div></div></section><section id="cppma" class="js-multi-step-mobile-onboarding-step multi-step-mobile-onboarding__step"><div class="js-multi-step-mobile-onboarding-content multi-step-mobile-onboarding__step__content"><header class="multi-step-mobile-onboarding__step__content__header"><div class="multi-step-mobile-onboarding__step__content__header__icon"><img src="/assets/add-to-browser/cppm/mobile.svg" alt="image of a mobile device"/><div class="multi-step-mobile-onboarding__step__content__header__icon__check-wrapper"><div class="multi-step-mobile-onboarding__step__content__header__icon__check-circle"></div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52"><path class="multi-step-mobile-onboarding__step__content__header__icon__check-path" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8" /></svg></div></div><h2>Get the DuckDuckGo Privacy Browser App</h2><p>Browse privately on mobile with advanced tracking protection.</p></header><ol class="multi-step-mobile-onboarding__step__content__body multi-step-mobile-onboarding__step__content__body--list ';
  17485.     m = z["if"].call(B, (B && B.isCppm4Or5), {
  17486.         hash: {},
  17487.         inverse: v.noop,
  17488.         fn: v.program(21, k, J),
  17489.         data: J
  17490.     });
  17491.     if (m || m === 0) {
  17492.         A += m
  17493.     }
  17494.     A += '"><li><img src="/assets/add-to-browser/cppm/app-store.svg" alt="app store icon"/><span>Launch the <b>App Store</b></span></li><li><img src="/assets/add-to-browser/cppm/ddg-app.svg" alt="DuckDuckGo app icon"/><span>Install the <b>DuckDuckGo Privacy Browser</b> app</span></li></ol><div class="multi-step-mobile-onboarding__step__controls"><div class="multi-step-mobile-onboarding__step__controls__buttons"><a href="https://apps.apple.com/app/apple-store/id663592361?pt=866401&ct=';
  17495.     if (a = z.campaign) {
  17496.         m = a.call(B, {
  17497.             hash: {},
  17498.             data: J
  17499.         })
  17500.     } else {
  17501.         a = (B && B.campaign);
  17502.         m = typeof a === e ? a.call(B, {
  17503.             hash: {},
  17504.             data: J
  17505.         }) : a
  17506.     }
  17507.     A += c(m) + '&mt=8" target="_blank" rel="noopener" class="btn btn--cppm-do" data-action="do"><span data-lg="true">Launch </span>App Store</a><button class="btn btn--primary btn--cppm-done" data-action="';
  17508.     m = z["if"].call(B, (B && B.isStateless), {
  17509.         hash: {},
  17510.         inverse: v.program(29, b, J),
  17511.         fn: v.program(27, f, J),
  17512.         data: J
  17513.     });
  17514.     if (m || m === 0) {
  17515.         A += m
  17516.     }
  17517.     A += '">';
  17518.     m = z["if"].call(B, (B && B.isStateless), {
  17519.         hash: {},
  17520.         inverse: v.program(32, x, J),
  17521.         fn: v.program(34, u, J),
  17522.         data: J
  17523.     });
  17524.     if (m || m === 0) {
  17525.         A += m
  17526.     }
  17527.     A += "</button></div>";
  17528.     m = z.unless.call(B, (B && B.isStateless), {
  17529.         hash: {},
  17530.         inverse: v.noop,
  17531.         fn: v.program(36, t, J),
  17532.         data: J
  17533.     });
  17534.     if (m || m === 0) {
  17535.         A += m
  17536.     }
  17537.     A += '</div></div></section><section id="cppme" class="js-multi-step-mobile-onboarding-step multi-step-mobile-onboarding__step"><div class="js-multi-step-mobile-onboarding-content multi-step-mobile-onboarding__step__content"><header class="multi-step-mobile-onboarding__step__content__header"><div class="multi-step-mobile-onboarding__step__content__header__icon"><img src="/assets/add-to-browser/cppm/laptop.svg" alt="image of a laptop"/><div class="multi-step-mobile-onboarding__step__content__header__icon__check-wrapper"><div class="multi-step-mobile-onboarding__step__content__header__icon__check-circle"></div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52"><path class="multi-step-mobile-onboarding__step__content__header__icon__check-path" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8" /></svg></div></div><h2>Get the DuckDuckGo Browser Extension</h2><p>Search privately and browse with advanced tracking protection.</p></header><ol class="multi-step-mobile-onboarding__step__content__body multi-step-mobile-onboarding__step__content__body--list ';
  17538.     m = z["if"].call(B, (B && B.isCppm4Or5), {
  17539.         hash: {},
  17540.         inverse: v.noop,
  17541.         fn: v.program(21, k, J),
  17542.         data: J
  17543.     });
  17544.     if (m || m === 0) {
  17545.         A += m
  17546.     }
  17547.     A += '"><li><img src="/assets/add-to-browser/cppm/safari.svg" alt="web browser icon"/><span>Visit <b><a href="mailto:?subject=';
  17548.     if (a = z.emailSubject) {
  17549.         m = a.call(B, {
  17550.             hash: {},
  17551.             data: J
  17552.         })
  17553.     } else {
  17554.         a = (B && B.emailSubject);
  17555.         m = typeof a === e ? a.call(B, {
  17556.             hash: {},
  17557.             data: J
  17558.         }) : a
  17559.     }
  17560.     if (m || m === 0) {
  17561.         A += m
  17562.     }
  17563.     A += "&body=";
  17564.     if (a = z.emailBody) {
  17565.         m = a.call(B, {
  17566.             hash: {},
  17567.             data: J
  17568.         })
  17569.     } else {
  17570.         a = (B && B.emailBody);
  17571.         m = typeof a === e ? a.call(B, {
  17572.             hash: {},
  17573.             data: J
  17574.         }) : a
  17575.     }
  17576.     if (m || m === 0) {
  17577.         A += m
  17578.     }
  17579.     A += '" target="_blank">duck.com/install</a></b> in your desktop browser</span></li><li><img src="/assets/add-to-browser/cppm/ddg-app.svg" alt="DuckDuckGo extension icon"/><span>Add <b>DuckDuckGo Privacy Essentials</b> to your desktop browser</span></li></ol><div class="multi-step-mobile-onboarding__step__controls"><div class="multi-step-mobile-onboarding__step__controls__buttons"><a class="btn btn--cppm-do" data-action="do" href="mailto:?subject=';
  17580.     if (a = z.emailSubject) {
  17581.         m = a.call(B, {
  17582.             hash: {},
  17583.             data: J
  17584.         })
  17585.     } else {
  17586.         a = (B && B.emailSubject);
  17587.         m = typeof a === e ? a.call(B, {
  17588.             hash: {},
  17589.             data: J
  17590.         }) : a
  17591.     }
  17592.     if (m || m === 0) {
  17593.         A += m
  17594.     }
  17595.     A += "&body=";
  17596.     if (a = z.emailBody) {
  17597.         m = a.call(B, {
  17598.             hash: {},
  17599.             data: J
  17600.         })
  17601.     } else {
  17602.         a = (B && B.emailBody);
  17603.         m = typeof a === e ? a.call(B, {
  17604.             hash: {},
  17605.             data: J
  17606.         }) : a
  17607.     }
  17608.     if (m || m === 0) {
  17609.         A += m
  17610.     }
  17611.     A += '" target="_blank">Email Link</a><button class="btn btn--primary btn--cppm-done" data-action="';
  17612.     m = z["if"].call(B, (B && B.isStateless), {
  17613.         hash: {},
  17614.         inverse: v.program(29, b, J),
  17615.         fn: v.program(38, s, J),
  17616.         data: J
  17617.     });
  17618.     if (m || m === 0) {
  17619.         A += m
  17620.     }
  17621.     A += '">';
  17622.     m = z["if"].call(B, (B && B.isStateless), {
  17623.         hash: {},
  17624.         inverse: v.program(32, x, J),
  17625.         fn: v.program(40, K, J),
  17626.         data: J
  17627.     });
  17628.     if (m || m === 0) {
  17629.         A += m
  17630.     }
  17631.     A += "</button></div>";
  17632.     m = z.unless.call(B, (B && B.isStateless), {
  17633.         hash: {},
  17634.         inverse: v.noop,
  17635.         fn: v.program(36, t, J),
  17636.         data: J
  17637.     });
  17638.     if (m || m === 0) {
  17639.         A += m
  17640.     }
  17641.     A += "</div></div></section>";
  17642.     m = z.unless.call(B, (B && B.isStateless), {
  17643.         hash: {},
  17644.         inverse: v.noop,
  17645.         fn: v.program(42, H, J),
  17646.         data: J
  17647.     });
  17648.     if (m || m === 0) {
  17649.         A += m
  17650.     }
  17651.     A += "</article></div>";
  17652.     return A
  17653. });
  17654. this["DDG"]["templates"]["new_user_poll"] = Handlebars.template(function(c, j, b, h, g) {
  17655.     this.compilerInfo = [4, ">= 1.0.0"];
  17656.     b = this.merge(b, c.helpers);
  17657.     g = g || {};
  17658.     var f = "",
  17659.         a, e, k, i = b.helperMissing;
  17660.     f += '<div class="js-poll"><div class="atb-extension-overlay__div-thank-you js-poll-thank-you"><h1 class="atb-extension-overlay__headline">';
  17661.     a = (e = b.lp || (j && j.lp), k = {
  17662.         hash: {},
  17663.         data: g
  17664.     }, e ? e.call(j, "homepage onboarding", "Thank you.", k) : i.call(j, "lp", "homepage onboarding", "Thank you.", k));
  17665.     if (a || a === 0) {
  17666.         f += a
  17667.     }
  17668.     f += '</h1><span class="tx--21">';
  17669.     a = (e = b.lp || (j && j.lp), k = {
  17670.         hash: {},
  17671.         data: g
  17672.     }, e ? e.call(j, "homepage onboarding", "Welcome to the Duck Side!", k) : i.call(j, "lp", "homepage onboarding", "Welcome to the Duck Side!", k));
  17673.     if (a || a === 0) {
  17674.         f += a
  17675.     }
  17676.     f += '</span><a class="atb-extension-overlay__search-btn btn btn--primary tx--15 js-extension-overlay-search atb-extension-overlay__search-btn-large" data-search-link="start-button" href="https://duckduckgo.com">';
  17677.     a = (e = b.l || (j && j.l), k = {
  17678.         hash: {},
  17679.         data: g
  17680.     }, e ? e.call(j, "Start searching!", k) : i.call(j, "l", "Start searching!", k));
  17681.     if (a || a === 0) {
  17682.         f += a
  17683.     }
  17684.     f += '</a></div><div class="atb-extension-overlay__div-welcome-back js-poll-welcome-back"><h1 class="atb-extension-overlay__headline">';
  17685.     a = (e = b.lp || (j && j.lp), k = {
  17686.         hash: {},
  17687.         data: g
  17688.     }, e ? e.call(j, "homepage onboarding", "Thank you.", k) : i.call(j, "lp", "homepage onboarding", "Thank you.", k));
  17689.     if (a || a === 0) {
  17690.         f += a
  17691.     }
  17692.     f += '</h1><span class="tx--21">';
  17693.     a = (e = b.lp || (j && j.lp), k = {
  17694.         hash: {},
  17695.         data: g
  17696.     }, e ? e.call(j, "new user poll", "We're honored to have you on the Duck Side", k) : i.call(j, "lp", "new user poll", "We're honored to have you on the Duck Side", k));
  17697.     if (a || a === 0) {
  17698.         f += a
  17699.     }
  17700.     f += '</span><a class="atb-extension-overlay__search-btn btn btn--primary tx--15 js-extension-overlay-search atb-extension-overlay__search-btn-large" data-search-link="start-button" href="https://duckduckgo.com">';
  17701.     a = (e = b.l || (j && j.l), k = {
  17702.         hash: {},
  17703.         data: g
  17704.     }, e ? e.call(j, "Start searching!", k) : i.call(j, "l", "Start searching!", k));
  17705.     if (a || a === 0) {
  17706.         f += a
  17707.     }
  17708.     f += '</a></div><div class="atb-extension-overlay__div-question-new-user js-poll-question-new-user"><h1 class="atb-extension-overlay__headline">';
  17709.     a = (e = b.l || (j && j.l), k = {
  17710.         hash: {},
  17711.         data: g
  17712.     }, e ? e.call(j, "Congratulations!", k) : i.call(j, "l", "Congratulations!", k));
  17713.     if (a || a === 0) {
  17714.         f += a
  17715.     }
  17716.     f += '<span class="atb-extension-overlay__headline__secondary">';
  17717.     a = (e = b.lp || (j && j.lp), k = {
  17718.         hash: {},
  17719.         data: g
  17720.     }, e ? e.call(j, "new user poll", "New to DuckDuckGo?", k) : i.call(j, "lp", "new user poll", "New to DuckDuckGo?", k));
  17721.     if (a || a === 0) {
  17722.         f += a
  17723.     }
  17724.     f += '</span></h1><div class="atb-extension-overlay__div atb-extension-overlay__div-left"><a class="atb-extension-overlay__search-btn-large atb-extension-overlay__search-btn btn btn--primary tx--17 js-poll-button-new">';
  17725.     a = (e = b.lp || (j && j.lp), k = {
  17726.         hash: {},
  17727.         data: g
  17728.     }, e ? e.call(j, "new user poll", "Yes, new user!", k) : i.call(j, "lp", "new user poll", "Yes, new user!", k));
  17729.     if (a || a === 0) {
  17730.         f += a
  17731.     }
  17732.     f += '</a></div><div class="atb-extension-overlay__div atb-extension-overlay__div-right"><a class="atb-extension-overlay__search-btn-large atb-extension-overlay__search-btn btn btn--primary tx--17 js-poll-button-old">';
  17733.     a = (e = b.lp || (j && j.lp), k = {
  17734.         hash: {},
  17735.         data: g
  17736.     }, e ? e.call(j, "new user poll", "No, old user!", k) : i.call(j, "lp", "new user poll", "No, old user!", k));
  17737.     if (a || a === 0) {
  17738.         f += a
  17739.     }
  17740.     f += '</a></div><div class="clearfix"></div></div><div class="atb-extension-overlay__div-question-referral js-poll-question-referral"><h1 class="atb-extension-overlay__headline">';
  17741.     a = (e = b.lp || (j && j.lp), k = {
  17742.         hash: {},
  17743.         data: g
  17744.     }, e ? e.call(j, "new user poll", "What led you to DuckDuckGo?", k) : i.call(j, "lp", "new user poll", "What led you to DuckDuckGo?", k));
  17745.     if (a || a === 0) {
  17746.         f += a
  17747.     }
  17748.     f += '</h1><p class="tx--19 atb-extension-overlay__div-question-referral__prompt js-poll-balance-text">';
  17749.     a = (e = b.lp || (j && j.lp), k = {
  17750.         hash: {},
  17751.         data: g
  17752.     }, e ? e.call(j, "new user poll", "We don't track you, so we could use your help telling us what convinced you to try us out today:", k) : i.call(j, "lp", "new user poll", "We don't track you, so we could use your help telling us what convinced you to try us out today:", k));
  17753.     if (a || a === 0) {
  17754.         f += a
  17755.     }
  17756.     f += '</p><p class="tx--19 atb-extension-overlay__div-question-referral__error js-poll-error">';
  17757.     a = (e = b.lp || (j && j.lp), k = {
  17758.         hash: {},
  17759.         data: g
  17760.     }, e ? e.call(j, "new user poll", "Please select one option.", k) : i.call(j, "lp", "new user poll", "Please select one option.", k));
  17761.     if (a || a === 0) {
  17762.         f += a
  17763.     }
  17764.     f += '</p><form class="atb-extension-overlay__div-question-referral__form js-poll-form" method="post"><label class="atb-extension-overlay__div-question-referral__label js-poll-radio"><input type="radio" name="ref" value="twitter" class="atb-extension-overlay__div-question-referral__radio"/>';
  17765.     a = (e = b.lp || (j && j.lp), k = {
  17766.         hash: {},
  17767.         data: g
  17768.     }, e ? e.call(j, "new user poll", "Following us on Twitter", k) : i.call(j, "lp", "new user poll", "Following us on Twitter", k));
  17769.     if (a || a === 0) {
  17770.         f += a
  17771.     }
  17772.     f += '</label><label class="atb-extension-overlay__div-question-referral__label js-poll-radio"><input type="radio" name="ref" value="friend" class="atb-extension-overlay__div-question-referral__radio"/>';
  17773.     a = (e = b.lp || (j && j.lp), k = {
  17774.         hash: {},
  17775.         data: g
  17776.     }, e ? e.call(j, "new user poll", "Friend or family", k) : i.call(j, "lp", "new user poll", "Friend or family", k));
  17777.     if (a || a === 0) {
  17778.         f += a
  17779.     }
  17780.     f += '</label><label class="atb-extension-overlay__div-question-referral__label js-poll-radio"><input type="radio" name="ref" value="article" class="atb-extension-overlay__div-question-referral__radio"/>';
  17781.     a = (e = b.lp || (j && j.lp), k = {
  17782.         hash: {},
  17783.         data: g
  17784.     }, e ? e.call(j, "new user poll", "Online article", k) : i.call(j, "lp", "new user poll", "Online article", k));
  17785.     if (a || a === 0) {
  17786.         f += a
  17787.     }
  17788.     f += '</label><label class="atb-extension-overlay__div-question-referral__label js-poll-radio"><input type="radio" name="ref" value="radio" class="atb-extension-overlay__div-question-referral__radio"/>';
  17789.     a = (e = b.lp || (j && j.lp), k = {
  17790.         hash: {},
  17791.         data: g
  17792.     }, e ? e.call(j, "new user poll", "Radio or podcast", k) : i.call(j, "lp", "new user poll", "Radio or podcast", k));
  17793.     if (a || a === 0) {
  17794.         f += a
  17795.     }
  17796.     f += '</label><label class="atb-extension-overlay__div-question-referral__label"><input type="radio" name="ref" value="other" class="atb-extension-overlay__div-question-referral__radio js-poll-other-radio"/>';
  17797.     a = (e = b.lp || (j && j.lp), k = {
  17798.         hash: {},
  17799.         data: g
  17800.     }, e ? e.call(j, "feedback form", "Other", k) : i.call(j, "lp", "feedback form", "Other", k));
  17801.     if (a || a === 0) {
  17802.         f += a
  17803.     }
  17804.     f += '<input type="text" name="other_text" class="atb-extension-overlay__div-question-referral__text js-poll-other-text"/></label><button class="atb-extension-overlay__search-btn btn btn--primary tx--15 atb-extension-overlay__search-btn-large" type="submit">';
  17805.     a = (e = b.l || (j && j.l), k = {
  17806.         hash: {},
  17807.         data: g
  17808.     }, e ? e.call(j, "Submit", k) : i.call(j, "l", "Submit", k));
  17809.     if (a || a === 0) {
  17810.         f += a
  17811.     }
  17812.     f += '</button><p class="atb-extension-overlay__disclaimer tx--15">';
  17813.     a = (e = b.lp || (j && j.lp), k = {
  17814.         hash: {},
  17815.         data: g
  17816.     }, e ? e.call(j, "new user poll", "Your response is 100% anonymous.", k) : i.call(j, "lp", "new user poll", "Your response is 100% anonymous.", k));
  17817.     if (a || a === 0) {
  17818.         f += a
  17819.     }
  17820.     f += '</p></form><p class="atb-extension-overlay__nope js-poll-close tx--15">';
  17821.     a = (e = b.lp || (j && j.lp), k = {
  17822.         hash: {},
  17823.         data: g
  17824.     }, e ? e.call(j, "new user poll", "No thanks.", k) : i.call(j, "lp", "new user poll", "No thanks.", k));
  17825.     if (a || a === 0) {
  17826.         f += a
  17827.     }
  17828.     f += '</p></div><div class="atb-extension-overlay__div-question-referral js-poll-question-returning"><h1 class="atb-extension-overlay__headline">';
  17829.     a = (e = b.lp || (j && j.lp), k = {
  17830.         hash: {},
  17831.         data: g
  17832.     }, e ? e.call(j, "new user poll", "What brought you back today?", k) : i.call(j, "lp", "new user poll", "What brought you back today?", k));
  17833.     if (a || a === 0) {
  17834.         f += a
  17835.     }
  17836.     f += '</h1><p class="tx--19 atb-extension-overlay__div-question-referral__prompt js-poll-balance-text">';
  17837.     a = (e = b.lp || (j && j.lp), k = {
  17838.         hash: {},
  17839.         data: g
  17840.     }, e ? e.call(j, "new user poll", "We don't track you, so we could use your help telling us what brought you back today:", k) : i.call(j, "lp", "new user poll", "We don't track you, so we could use your help telling us what brought you back today:", k));
  17841.     if (a || a === 0) {
  17842.         f += a
  17843.     }
  17844.     f += '</p><p class="tx--19 atb-extension-overlay__div-question-referral__error js-poll-error-returning">';
  17845.     a = (e = b.lp || (j && j.lp), k = {
  17846.         hash: {},
  17847.         data: g
  17848.     }, e ? e.call(j, "new user poll", "Please select one option.", k) : i.call(j, "lp", "new user poll", "Please select one option.", k));
  17849.     if (a || a === 0) {
  17850.         f += a
  17851.     }
  17852.     f += '</p><form class="atb-extension-overlay__div-question-referral__form js-poll-form-returning" method="post"><label class="atb-extension-overlay__div-question-referral__label js-poll-radio-returning"><input type="radio" name="ref" value="new_browser" class="atb-extension-overlay__div-question-referral__radio"/>';
  17853.     a = (e = b.lp || (j && j.lp), k = {
  17854.         hash: {},
  17855.         data: g
  17856.     }, e ? e.call(j, "new user poll", "New browser or computer", k) : i.call(j, "lp", "new user poll", "New browser or computer", k));
  17857.     if (a || a === 0) {
  17858.         f += a
  17859.     }
  17860.     f += '</label><label class="atb-extension-overlay__div-question-referral__label js-poll-radio-returning"><input type="radio" name="ref" value="trying_again" class="atb-extension-overlay__div-question-referral__radio"/>';
  17861.     a = (e = b.lp || (j && j.lp), k = {
  17862.         hash: {},
  17863.         data: g
  17864.     }, e ? e.call(j, "new user poll", "Trying DuckDuckGo again", k) : i.call(j, "lp", "new user poll", "Trying DuckDuckGo again", k));
  17865.     if (a || a === 0) {
  17866.         f += a
  17867.     }
  17868.     f += '</label><label class="atb-extension-overlay__div-question-referral__label js-poll-radio-returning"><input type="radio" name="ref" value="upgrading" class="atb-extension-overlay__div-question-referral__radio"/>';
  17869.     a = (e = b.lp || (j && j.lp), k = {
  17870.         hash: {},
  17871.         data: g
  17872.     }, e ? e.call(j, "new user poll", "Upgrading to full-time user", k) : i.call(j, "lp", "new user poll", "Upgrading to full-time user", k));
  17873.     if (a || a === 0) {
  17874.         f += a
  17875.     }
  17876.     f += '</label><label class="atb-extension-overlay__div-question-referral__label"><input type="radio" name="ref" value="other" class="atb-extension-overlay__div-question-referral__radio js-poll-other-radio-returning"/>';
  17877.     a = (e = b.lp || (j && j.lp), k = {
  17878.         hash: {},
  17879.         data: g
  17880.     }, e ? e.call(j, "feedback form", "Other", k) : i.call(j, "lp", "feedback form", "Other", k));
  17881.     if (a || a === 0) {
  17882.         f += a
  17883.     }
  17884.     f += '<input type="text" name="other_text" class="atb-extension-overlay__div-question-referral__text js-poll-other-text-returning"/></label><button class="atb-extension-overlay__search-btn btn btn--primary tx--15 atb-extension-overlay__search-btn-large" type="submit">';
  17885.     a = (e = b.l || (j && j.l), k = {
  17886.         hash: {},
  17887.         data: g
  17888.     }, e ? e.call(j, "Submit", k) : i.call(j, "l", "Submit", k));
  17889.     if (a || a === 0) {
  17890.         f += a
  17891.     }
  17892.     f += '</button><p class="atb-extension-overlay__disclaimer tx--15">';
  17893.     a = (e = b.lp || (j && j.lp), k = {
  17894.         hash: {},
  17895.         data: g
  17896.     }, e ? e.call(j, "new user poll", "Your response is 100% anonymous.", k) : i.call(j, "lp", "new user poll", "Your response is 100% anonymous.", k));
  17897.     if (a || a === 0) {
  17898.         f += a
  17899.     }
  17900.     f += '</p></form><p class="atb-extension-overlay__nope js-poll-close tx--15">';
  17901.     a = (e = b.lp || (j && j.lp), k = {
  17902.         hash: {},
  17903.         data: g
  17904.     }, e ? e.call(j, "new user poll", "No thanks.", k) : i.call(j, "lp", "new user poll", "No thanks.", k));
  17905.     if (a || a === 0) {
  17906.         f += a
  17907.     }
  17908.     f += "</p></div></div>";
  17909.     return f
  17910. });
  17911. this["DDG"]["templates"]["newsletter_form_expand"] = Handlebars.template(function(e, f, b, a, c) {
  17912.     this.compilerInfo = [4, ">= 1.0.0"];
  17913.     b = this.merge(b, e.helpers);
  17914.     c = c || {};
  17915.     return '<div><div class="badge-link-illustration__text-wrapper"><p class="badge-link-illustration__text js-badge-title">Get useful privacy tips to help <br> reduce your online footprint!</p></div><form class="js-badge-form badge-link__form transparent"><div class="frm frm--vrt badge-link__email"><input type="email" placeholder="Your email address" class="frm__input js-badge-email" name="email" required><span class="ddgsi badge-link__lock-icon transparent js-badge-lock">l</span></div><div class="badge-link__btn-group"><input type="submit" class="badge-link__submit btn btn--primary js-badge-link-button" value="Get Privacy Tips from DuckDuckGo!"></div><p class="tx-clr--lt badge-link__disclaimer t-xs">Your email address will not be shared or associated with anonymous searches. [<a href="https://spreadprivacy.com/google-search-history-4bae7619407d">Example message</a>]</p></form></div>'
  17916. });
  17917. this["DDG"]["templates"]["newsletter_form_success"] = Handlebars.template(function(e, f, b, a, c) {
  17918.     this.compilerInfo = [4, ">= 1.0.0"];
  17919.     b = this.merge(b, e.helpers);
  17920.     c = c || {};
  17921.     return '<div>   <div class="js-badge-success badge-link--success"><p class="badge-link__title">Thanks for joining!</p><p class="text-center badge-link--newsletter__text tx-clr--dk2">Your first privacy tip from our mascot, <br> Dax the Duck, is on its way!</p></div></div>'
  17922. });
  17923. this["DDG"]["templates"]["notification"] = Handlebars.template(function(e, f, b, a, c) {
  17924.     this.compilerInfo = [4, ">= 1.0.0"];
  17925.     b = this.merge(b, e.helpers);
  17926.     c = c || {};
  17927.     return '<div class="notification"><div class="notification__wrap"><div class="notification__text  js-notification-text"></div></div></div>'
  17928. });
  17929. this["DDG"]["templates"]["onoffswitch"] = Handlebars.template(function(c, m, b, j, i) {
  17930.     this.compilerInfo = [4, ">= 1.0.0"];
  17931.     b = this.merge(b, c.helpers);
  17932.     i = i || {};
  17933.     var g = "",
  17934.         a, e, n, f = "function",
  17935.         h = this.escapeExpression,
  17936.         k = b.helperMissing;
  17937.     g += '<div class="frm__switch  frm-input"><input id="';
  17938.     if (e = b.id) {
  17939.         a = e.call(m, {
  17940.             hash: {},
  17941.             data: i
  17942.         })
  17943.     } else {
  17944.         e = (m && m.id);
  17945.         a = typeof e === f ? e.call(m, {
  17946.             hash: {},
  17947.             data: i
  17948.         }) : e
  17949.     }
  17950.     g += h(a) + '" class="frm__switch__inp  ';
  17951.     if (e = b.className) {
  17952.         a = e.call(m, {
  17953.             hash: {},
  17954.             data: i
  17955.         })
  17956.     } else {
  17957.         e = (m && m.className);
  17958.         a = typeof e === f ? e.call(m, {
  17959.             hash: {},
  17960.             data: i
  17961.         }) : e
  17962.     }
  17963.     g += h(a) + '" type="checkbox" /><label class="frm__switch__label  btn" for="';
  17964.     if (e = b.id) {
  17965.         a = e.call(m, {
  17966.             hash: {},
  17967.             data: i
  17968.         })
  17969.     } else {
  17970.         e = (m && m.id);
  17971.         a = typeof e === f ? e.call(m, {
  17972.             hash: {},
  17973.             data: i
  17974.         }) : e
  17975.     }
  17976.     g += h(a) + '"><span class="frm__switch-on">';
  17977.     a = (e = b.lp || (m && m.lp), n = {
  17978.         hash: {},
  17979.         data: i
  17980.     }, e ? e.call(m, "setting", "On", n) : k.call(m, "lp", "setting", "On", n));
  17981.     if (a || a === 0) {
  17982.         g += a
  17983.     }
  17984.     g += '</span><span class="frm__switch-off">';
  17985.     a = (e = b.lp || (m && m.lp), n = {
  17986.         hash: {},
  17987.         data: i
  17988.     }, e ? e.call(m, "setting", "Off", n) : k.call(m, "lp", "setting", "Off", n));
  17989.     if (a || a === 0) {
  17990.         g += a
  17991.     }
  17992.     g += "</span></label></div>";
  17993.     return g
  17994. });
  17995. this["DDG"]["templates"]["set_as_homepage_chrome"] = Handlebars.template(function(c, j, b, h, g) {
  17996.     this.compilerInfo = [4, ">= 1.0.0"];
  17997.     b = this.merge(b, c.helpers);
  17998.     g = g || {};
  17999.     var f = "",
  18000.         a, e, k, i = b.helperMissing;
  18001.     f += '<ol class="add-to-browser__directions"><li>';
  18002.     a = (e = b.l || (j && j.l), k = {
  18003.         hash: {},
  18004.         data: g
  18005.     }, e ? e.call(j, "Click %ssettings/hamburger icon %s on the Chrome toolbar (top right).", "<b>", "(&#x2261;)</b>", k) : i.call(j, "l", "Click %ssettings/hamburger icon %s on the Chrome toolbar (top right).", "<b>", "(&#x2261;)</b>", k));
  18006.     if (a || a === 0) {
  18007.         f += a
  18008.     }
  18009.     f += "</li><li>";
  18010.     a = (e = b.l || (j && j.l), k = {
  18011.         hash: {},
  18012.         data: g
  18013.     }, e ? e.call(j, "Select %sSettings%s from the drop-down menu.", "<b>", "</b>", k) : i.call(j, "l", "Select %sSettings%s from the drop-down menu.", "<b>", "</b>", k));
  18014.     if (a || a === 0) {
  18015.         f += a
  18016.     }
  18017.     f += "</li><li>";
  18018.     a = (e = b.l || (j && j.l), k = {
  18019.         hash: {},
  18020.         data: g
  18021.     }, e ? e.call(j, "Under %sOn startup%s, click %sOpen a specific page%s then click %sSet Pages%s.", "<b>", "</b>", "<b>", "</b>", "<b>", "</b>", k) : i.call(j, "l", "Under %sOn startup%s, click %sOpen a specific page%s then click %sSet Pages%s.", "<b>", "</b>", "<b>", "</b>", "<b>", "</b>", k));
  18022.     if (a || a === 0) {
  18023.         f += a
  18024.     }
  18025.     f += "</li><li>";
  18026.     a = (e = b.l || (j && j.l), k = {
  18027.         hash: {},
  18028.         data: g
  18029.     }, e ? e.call(j, "Click %sUse current pages%s then %sClick OK%s.", "<b>", "</b>", "<b>", "</b>", k) : i.call(j, "l", "Click %sUse current pages%s then %sClick OK%s.", "<b>", "</b>", "<b>", "</b>", k));
  18030.     if (a || a === 0) {
  18031.         f += a
  18032.     }
  18033.     f += "</li></ol>";
  18034.     return f
  18035. });
  18036. this["DDG"]["templates"]["set_as_homepage_edge"] = Handlebars.template(function(c, k, b, i, h) {
  18037.     this.compilerInfo = [4, ">= 1.0.0"];
  18038.     b = this.merge(b, c.helpers);
  18039.     h = h || {};
  18040.     var f = "",
  18041.         a, e, m, j = b.helperMissing,
  18042.         g = this.escapeExpression;
  18043.     f += '<ol class="add-to-browser__directions"><li>';
  18044.     a = (e = b.l || (k && k.l), m = {
  18045.         hash: {},
  18046.         data: h
  18047.     }, e ? e.call(k, "Click the %s...%s icon at the top right:", "<b>", "</b>", m) : j.call(k, "l", "Click the %s...%s icon at the top right:", "<b>", "</b>", m));
  18048.     if (a || a === 0) {
  18049.         f += a
  18050.     }
  18051.     f += '<img class="add-to-browser__image" style="height:47px;" src="' + g((e = b.imageProxy || (k && k.imageProxy), m = {
  18052.         hash: {},
  18053.         data: h
  18054.     }, e ? e.call(k, "/assets/add-to-browser/edge.jpg", m) : j.call(k, "imageProxy", "/assets/add-to-browser/edge.jpg", m))) + '" /></li><li>';
  18055.     a = (e = b.l || (k && k.l), m = {
  18056.         hash: {},
  18057.         data: h
  18058.     }, e ? e.call(k, "Click %sSettings%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sSettings%s", "<b>", "</b>", m));
  18059.     if (a || a === 0) {
  18060.         f += a
  18061.     }
  18062.     f += "</li><li>";
  18063.     a = (e = b.l || (k && k.l), m = {
  18064.         hash: {},
  18065.         data: h
  18066.     }, e ? e.call(k, "Under %sOpen with%s select %sA specific page or pages%s", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Under %sOpen with%s select %sA specific page or pages%s", "<b>", "</b>", "<b>", "</b>", m));
  18067.     if (a || a === 0) {
  18068.         f += a
  18069.     }
  18070.     f += "</li><li>";
  18071.     a = (e = b.l || (k && k.l), m = {
  18072.         hash: {},
  18073.         data: h
  18074.     }, e ? e.call(k, "Select %sCustom%s and enter %shttps://duckduckgo.com%s in the input field", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Select %sCustom%s and enter %shttps://duckduckgo.com%s in the input field", "<b>", "</b>", "<b>", "</b>", m));
  18075.     if (a || a === 0) {
  18076.         f += a
  18077.     }
  18078.     f += "</li><li>";
  18079.     a = (e = b.l || (k && k.l), m = {
  18080.         hash: {},
  18081.         data: h
  18082.     }, e ? e.call(k, "Click %s+%s!", "<b>", "</b>", m) : j.call(k, "l", "Click %s+%s!", "<b>", "</b>", m));
  18083.     if (a || a === 0) {
  18084.         f += a
  18085.     }
  18086.     f += "</li></ol>";
  18087.     return f
  18088. });
  18089. this["DDG"]["templates"]["set_as_homepage_firefox"] = Handlebars.template(function(c, k, b, i, h) {
  18090.     this.compilerInfo = [4, ">= 1.0.0"];
  18091.     b = this.merge(b, c.helpers);
  18092.     h = h || {};
  18093.     var f = "",
  18094.         a, e, m, j = b.helperMissing,
  18095.         g = this.escapeExpression;
  18096.     f += '<ol class="add-to-browser__directions"><li class="has-btn">';
  18097.     a = (e = b.l || (k && k.l), m = {
  18098.         hash: {},
  18099.         data: h
  18100.     }, e ? e.call(k, "Drag %sThis Button%s on top of the home icon:", '<a class="btn btn--primary btn--inline" style="cursor:move;" href="https://duckduckgo.com">', "</a>", m) : j.call(k, "l", "Drag %sThis Button%s on top of the home icon:", '<a class="btn btn--primary btn--inline" style="cursor:move;" href="https://duckduckgo.com">', "</a>", m));
  18101.     if (a || a === 0) {
  18102.         f += a
  18103.     }
  18104.     f += '<img class="add-to-browser__image" style="height:80px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
  18105.         hash: {},
  18106.         data: h
  18107.     }, e ? e.call(k, "/assets/add-to-browser/firefox_homepage.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/firefox_homepage.jpg", m))) + '" /></li><li>';
  18108.     a = (e = b.l || (k && k.l), m = {
  18109.         hash: {},
  18110.         data: h
  18111.     }, e ? e.call(k, "Click %sYes%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sYes%s", "<b>", "</b>", m));
  18112.     if (a || a === 0) {
  18113.         f += a
  18114.     }
  18115.     f += "</li></ol>";
  18116.     return f
  18117. });
  18118. this["DDG"]["templates"]["set_as_homepage_ie"] = Handlebars.template(function(c, k, b, i, h) {
  18119.     this.compilerInfo = [4, ">= 1.0.0"];
  18120.     b = this.merge(b, c.helpers);
  18121.     h = h || {};
  18122.     var f = "",
  18123.         a, e, m, j = b.helperMissing,
  18124.         g = this.escapeExpression;
  18125.     f += '<ol class="add-to-browser__directions"><li>';
  18126.     a = (e = b.l || (k && k.l), m = {
  18127.         hash: {},
  18128.         data: h
  18129.     }, e ? e.call(k, "Click the arrow to the right of the %shome icon%s", "<b>", "</b>", m) : j.call(k, "l", "Click the arrow to the right of the %shome icon%s", "<b>", "</b>", m));
  18130.     if (a || a === 0) {
  18131.         f += a
  18132.     }
  18133.     f += '<img class="add-to-browser__image" style="height:121px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
  18134.         hash: {},
  18135.         data: h
  18136.     }, e ? e.call(k, "/assets/add-to-browser/ie_homepage.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/ie_homepage.jpg", m))) + '" /></li><li>';
  18137.     a = (e = b.l || (k && k.l), m = {
  18138.         hash: {},
  18139.         data: h
  18140.     }, e ? e.call(k, "Click %sAdd or change home page...%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sAdd or change home page...%s", "<b>", "</b>", m));
  18141.     if (a || a === 0) {
  18142.         f += a
  18143.     }
  18144.     f += "</li><li>";
  18145.     a = (e = b.l || (k && k.l), m = {
  18146.         hash: {},
  18147.         data: h
  18148.     }, e ? e.call(k, "Select %sUse this webpage as your only home page%s (or one of the other options if you prefer)", "<b>", "</b>", m) : j.call(k, "l", "Select %sUse this webpage as your only home page%s (or one of the other options if you prefer)", "<b>", "</b>", m));
  18149.     if (a || a === 0) {
  18150.         f += a
  18151.     }
  18152.     f += "</li><li>";
  18153.     a = (e = b.l || (k && k.l), m = {
  18154.         hash: {},
  18155.         data: h
  18156.     }, e ? e.call(k, "Click %sYes%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sYes%s", "<b>", "</b>", m));
  18157.     if (a || a === 0) {
  18158.         f += a
  18159.     }
  18160.     f += "</li></ol>";
  18161.     return f
  18162. });
  18163. this["DDG"]["templates"]["set_as_homepage_maxthon"] = Handlebars.template(function(c, k, b, i, h) {
  18164.     this.compilerInfo = [4, ">= 1.0.0"];
  18165.     b = this.merge(b, c.helpers);
  18166.     h = h || {};
  18167.     var f = "",
  18168.         a, e, m, j = b.helperMissing,
  18169.         g = this.escapeExpression;
  18170.     f += '<ol class="add-to-browser__directions"><li>';
  18171.     a = (e = b.l || (k && k.l), m = {
  18172.         hash: {},
  18173.         data: h
  18174.     }, e ? e.call(k, "On Mac, %sClick Maxthon > Preferences%s, On Windows, %sClick the %s icon > Settings%s", "<b>", "</b>", "<b>", "<b>&#x2261;</b>", "</b>", m) : j.call(k, "l", "On Mac, %sClick Maxthon > Preferences%s, On Windows, %sClick the %s icon > Settings%s", "<b>", "</b>", "<b>", "<b>&#x2261;</b>", "</b>", m));
  18175.     if (a || a === 0) {
  18176.         f += a
  18177.     }
  18178.     f += "</li><li>";
  18179.     a = (e = b.l || (k && k.l), m = {
  18180.         hash: {},
  18181.         data: h
  18182.     }, e ? e.call(k, "Under %sOn startup%s, select %sHomepage%s and enter: https://duckduckgo.com", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Under %sOn startup%s, select %sHomepage%s and enter: https://duckduckgo.com", "<b>", "</b>", "<b>", "</b>", m));
  18183.     if (a || a === 0) {
  18184.         f += a
  18185.     }
  18186.     f += '</li></ol><img class="add-to-browser__image" style="height:118px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
  18187.         hash: {},
  18188.         data: h
  18189.     }, e ? e.call(k, "/assets/add-to-browser/maxthon_homepage.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/maxthon_homepage.jpg", m))) + '" />';
  18190.     return f
  18191. });
  18192. this["DDG"]["templates"]["set_as_homepage_opera"] = Handlebars.template(function(c, j, b, h, g) {
  18193.     this.compilerInfo = [4, ">= 1.0.0"];
  18194.     b = this.merge(b, c.helpers);
  18195.     g = g || {};
  18196.     var f = "",
  18197.         a, e, k, i = b.helperMissing;
  18198.     f += '<ol class="add-to-browser__directions"><li>';
  18199.     a = (e = b.l || (j && j.l), k = {
  18200.         hash: {},
  18201.         data: g
  18202.     }, e ? e.call(j, "Select %sOpera > Preferences%s (on Mac) or %sOpera > Options%s (on Windows)", "<b>", "</b>", "<b>", "</b>", k) : i.call(j, "l", "Select %sOpera > Preferences%s (on Mac) or %sOpera > Options%s (on Windows)", "<b>", "</b>", "<b>", "</b>", k));
  18203.     if (a || a === 0) {
  18204.         f += a
  18205.     }
  18206.     f += "</li><li>";
  18207.     a = (e = b.l || (j && j.l), k = {
  18208.         hash: {},
  18209.         data: g
  18210.     }, e ? e.call(j, "Under On startup select %sOpen a specific page or set of pages%s", "<b>", "</b>", k) : i.call(j, "l", "Under On startup select %sOpen a specific page or set of pages%s", "<b>", "</b>", k));
  18211.     if (a || a === 0) {
  18212.         f += a
  18213.     }
  18214.     f += "</li><li>";
  18215.     a = (e = b.l || (j && j.l), k = {
  18216.         hash: {},
  18217.         data: g
  18218.     }, e ? e.call(j, "Enter %shttps://duckduckgo.com%s", "<b>", "</b>", k) : i.call(j, "l", "Enter %shttps://duckduckgo.com%s", "<b>", "</b>", k));
  18219.     if (a || a === 0) {
  18220.         f += a
  18221.     }
  18222.     f += "</li></ol>";
  18223.     return f
  18224. });
  18225. this["DDG"]["templates"]["set_as_homepage_safari"] = Handlebars.template(function(c, j, b, h, g) {
  18226.     this.compilerInfo = [4, ">= 1.0.0"];
  18227.     b = this.merge(b, c.helpers);
  18228.     g = g || {};
  18229.     var f = "",
  18230.         a, e, k, i = b.helperMissing;
  18231.     f += '<ol class="add-to-browser__directions"><li>';
  18232.     a = (e = b.l || (j && j.l), k = {
  18233.         hash: {},
  18234.         data: g
  18235.     }, e ? e.call(j, "Click %sSafari%s in the top menu (On Windows, click the %sgears icon%s in the top right)", "<b>", "</b>", "<b>", "</b>", k) : i.call(j, "l", "Click %sSafari%s in the top menu (On Windows, click the %sgears icon%s in the top right)", "<b>", "</b>", "<b>", "</b>", k));
  18236.     if (a || a === 0) {
  18237.         f += a
  18238.     }
  18239.     f += "</li><li>";
  18240.     a = (e = b.l || (j && j.l), k = {
  18241.         hash: {},
  18242.         data: g
  18243.     }, e ? e.call(j, "Select %sPreferences%s.", "<b>", "</b>", k) : i.call(j, "l", "Select %sPreferences%s.", "<b>", "</b>", k));
  18244.     if (a || a === 0) {
  18245.         f += a
  18246.     }
  18247.     f += "</li><li>";
  18248.     a = (e = b.l || (j && j.l), k = {
  18249.         hash: {},
  18250.         data: g
  18251.     }, e ? e.call(j, "Click the %sGeneral%s tab.", "<b>", "</b>", k) : i.call(j, "l", "Click the %sGeneral%s tab.", "<b>", "</b>", k));
  18252.     if (a || a === 0) {
  18253.         f += a
  18254.     }
  18255.     f += "</li><li>";
  18256.     a = (e = b.l || (j && j.l), k = {
  18257.         hash: {},
  18258.         data: g
  18259.     }, e ? e.call(j, "Where it says Homepage click %sSet to Current Page%s.", "<b>", "</b>", k) : i.call(j, "l", "Where it says Homepage click %sSet to Current Page%s.", "<b>", "</b>", k));
  18260.     if (a || a === 0) {
  18261.         f += a
  18262.     }
  18263.     f += "</li><li>";
  18264.     a = (e = b.l || (j && j.l), k = {
  18265.         hash: {},
  18266.         data: g
  18267.     }, e ? e.call(j, "If you want, select Home Page next to New windows and New tabs (open with).", k) : i.call(j, "l", "If you want, select Home Page next to New windows and New tabs (open with).", k));
  18268.     if (a || a === 0) {
  18269.         f += a
  18270.     }
  18271.     f += "</li><li>";
  18272.     a = (e = b.l || (j && j.l), k = {
  18273.         hash: {},
  18274.         data: g
  18275.     }, e ? e.call(j, "Close window.", k) : i.call(j, "l", "Close window.", k));
  18276.     if (a || a === 0) {
  18277.         f += a
  18278.     }
  18279.     f += "</li></ol>";
  18280.     return f
  18281. });
  18282. this["DDG"]["templates"]["set_as_homepage_vivaldi"] = Handlebars.template(function(c, k, b, i, h) {
  18283.     this.compilerInfo = [4, ">= 1.0.0"];
  18284.     b = this.merge(b, c.helpers);
  18285.     h = h || {};
  18286.     var f = "",
  18287.         a, e, m, j = b.helperMissing,
  18288.         g = this.escapeExpression;
  18289.     f += '<ol class="add-to-browser__directions"><li>';
  18290.     a = (e = b.l || (k && k.l), m = {
  18291.         hash: {},
  18292.         data: h
  18293.     }, e ? e.call(k, "In the menu at the top select %sTools%s > %sSettings%s", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "In the menu at the top select %sTools%s > %sSettings%s", "<b>", "</b>", "<b>", "</b>", m));
  18294.     if (a || a === 0) {
  18295.         f += a
  18296.     }
  18297.     f += "</li><li>";
  18298.     a = (e = b.l || (k && k.l), m = {
  18299.         hash: {},
  18300.         data: h
  18301.     }, e ? e.call(k, "Under %sSTARTUP > Homepage%s enter: https://duckduckgo.com", "<b>", "</b>", m) : j.call(k, "l", "Under %sSTARTUP > Homepage%s enter: https://duckduckgo.com", "<b>", "</b>", m));
  18302.     if (a || a === 0) {
  18303.         f += a
  18304.     }
  18305.     f += '</li></ol><img class="add-to-browser__image" style="height:118px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
  18306.         hash: {},
  18307.         data: h
  18308.     }, e ? e.call(k, "/assets/add-to-browser/vivaldi_homepage.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/vivaldi_homepage.jpg", m))) + '" />';
  18309.     return f
  18310. });
  18311. this["DDG"]["templates"]["settings_dropdown"] = Handlebars.template(function(c, j, b, h, g) {
  18312.     this.compilerInfo = [4, ">= 1.0.0"];
  18313.     b = this.merge(b, c.helpers);
  18314.     g = g || {};
  18315.     var f = "",
  18316.         a, e, k, i = b.helperMissing;
  18317.     f += '<li class="zcm__item"><div class="dropdown dropdown--settings"><a class="zcm__link dropdown__button js-dropdown-button">';
  18318.     a = (e = b.lp || (j && j.lp), k = {
  18319.         hash: {},
  18320.         data: g
  18321.     }, e ? e.call(j, "feedback form", "Settings", k) : i.call(j, "lp", "feedback form", "Settings", k));
  18322.     if (a || a === 0) {
  18323.         f += a
  18324.     }
  18325.     f += "</a></div></li>";
  18326.     return f
  18327. });
  18328. this["DDG"]["templates"]["settings_dropdown_cog"] = Handlebars.template(function(e, f, b, a, c) {
  18329.     this.compilerInfo = [4, ">= 1.0.0"];
  18330.     b = this.merge(b, e.helpers);
  18331.     c = c || {};
  18332.     return '<div class="dropdown dropdown--settings dropdown--settings--cog"><a class="dropdown__button js-dropdown-button"></a></div>'
  18333. });
  18334. this["DDG"]["templates"]["settings_dropdown_modal"] = Handlebars.template(function(f, s, q, j, v) {
  18335.     this.compilerInfo = [4, ">= 1.0.0"];
  18336.     q = this.merge(q, f.helpers);
  18337.     v = v || {};
  18338.     var r = "",
  18339.         h, a, e, c = "function",
  18340.         b = this.escapeExpression,
  18341.         o = this,
  18342.         p = q.helperMissing;
  18343.  
  18344.     function n(y, x) {
  18345.         return "modal--popover modal--popover--gray"
  18346.     }
  18347.  
  18348.     function m(A, z) {
  18349.         var x = "",
  18350.             y;
  18351.         x += "modal--popout ";
  18352.         y = q["if"].call(A, (A && A.position), {
  18353.             hash: {},
  18354.             inverse: o.program(6, i, z),
  18355.             fn: o.program(4, k, z),
  18356.             data: z
  18357.         });
  18358.         if (y || y === 0) {
  18359.             x += y
  18360.         }
  18361.         return x
  18362.     }
  18363.  
  18364.     function k(B, A) {
  18365.         var x = "",
  18366.             y, z;
  18367.         x += "modal--popout--";
  18368.         if (z = q.position) {
  18369.             y = z.call(B, {
  18370.                 hash: {},
  18371.                 data: A
  18372.             })
  18373.         } else {
  18374.             z = (B && B.position);
  18375.             y = typeof z === c ? z.call(B, {
  18376.                 hash: {},
  18377.                 data: A
  18378.             }) : z
  18379.         }
  18380.         x += b(y);
  18381.         return x
  18382.     }
  18383.  
  18384.     function i(y, x) {
  18385.         return "modal--popout--bottom"
  18386.     }
  18387.  
  18388.     function g(y, x) {
  18389.         return "has-header"
  18390.     }
  18391.  
  18392.     function u(B, A) {
  18393.         var x = "",
  18394.             y, z;
  18395.         x += '<div class="modal__header"><span class="modal__header__title">';
  18396.         if (z = q.header) {
  18397.             y = z.call(B, {
  18398.                 hash: {},
  18399.                 data: A
  18400.             })
  18401.         } else {
  18402.             z = (B && B.header);
  18403.             y = typeof z === c ? z.call(B, {
  18404.                 hash: {},
  18405.                 data: A
  18406.             }) : z
  18407.         }
  18408.         x += b(y) + "</span>";
  18409.         y = q["if"].call(B, (B && B.isPopover), {
  18410.             hash: {},
  18411.             inverse: o.noop,
  18412.             fn: o.program(11, t, A),
  18413.             data: A
  18414.         });
  18415.         if (y || y === 0) {
  18416.             x += y
  18417.         }
  18418.         x += "</div>";
  18419.         return x
  18420.     }
  18421.  
  18422.     function t(y, x) {
  18423.         return '<a href="#" class="modal__close  js-modal-close">X</a>'
  18424.     }
  18425.     r += '<div class="modal--dropdown modal--dropdown--settings modal ';
  18426.     h = q["if"].call(s, (s && s.isPopover), {
  18427.         hash: {},
  18428.         inverse: o.program(3, m, v),
  18429.         fn: o.program(1, n, v),
  18430.         data: v
  18431.     });
  18432.     if (h || h === 0) {
  18433.         r += h
  18434.     }
  18435.     r += " ";
  18436.     h = q["if"].call(s, (s && s.header), {
  18437.         hash: {},
  18438.         inverse: o.noop,
  18439.         fn: o.program(8, g, v),
  18440.         data: v
  18441.     });
  18442.     if (h || h === 0) {
  18443.         r += h
  18444.     }
  18445.     r += ' js-dropdown-popout"><div class="modal__overlay js-modal-close"></div><div class="modal__wrap"><div class="modal__box">';
  18446.     h = q["if"].call(s, (s && s.header), {
  18447.         hash: {},
  18448.         inverse: o.noop,
  18449.         fn: o.program(10, u, v),
  18450.         data: v
  18451.     });
  18452.     if (h || h === 0) {
  18453.         r += h
  18454.     }
  18455.     r += '<div class="modal__body" class="settings-dropdown js-settings-dropdown"><div class="settings-dropdown--section js-settings-dropdown-appearance"><h3 class="settings-dropdown--header"><span class="settings-dropdown--header--label">';
  18456.     h = (a = q.l || (s && s.l), e = {
  18457.         hash: {},
  18458.         data: v
  18459.     }, a ? a.call(s, "Appearance", e) : p.call(s, "l", "Appearance", e));
  18460.     if (h || h === 0) {
  18461.         r += h
  18462.     }
  18463.     r += '</span><a href="#" class="settings-dropdown--header--link js-settings-dropdown-reset-appearance">';
  18464.     h = (a = q.lp || (s && s.lp), e = {
  18465.         hash: {},
  18466.         data: v
  18467.     }, a ? a.call(s, "settings dropdown", "Reset", e) : p.call(s, "lp", "settings dropdown", "Reset", e));
  18468.     if (h || h === 0) {
  18469.         r += h
  18470.     }
  18471.     r += '</a></h3></div><div class="settings-dropdown--section js-settings-dropdown-general"><h3 class="settings-dropdown--header"><span class="settings-dropdown--header--label">';
  18472.     h = (a = q.l || (s && s.l), e = {
  18473.         hash: {},
  18474.         data: v
  18475.     }, a ? a.call(s, "General", e) : p.call(s, "l", "General", e));
  18476.     if (h || h === 0) {
  18477.         r += h
  18478.     }
  18479.     r += '</span><a href="#" class="settings-dropdown--header--link js-settings-dropdown-reset-general">';
  18480.     h = (a = q.lp || (s && s.lp), e = {
  18481.         hash: {},
  18482.         data: v
  18483.     }, a ? a.call(s, "settings dropdown", "Reset", e) : p.call(s, "lp", "settings dropdown", "Reset", e));
  18484.     if (h || h === 0) {
  18485.         r += h
  18486.     }
  18487.     r += '</a></h3></div><a href="/settings" class="settings-dropdown--button">';
  18488.     h = (a = q.l || (s && s.l), e = {
  18489.         hash: {},
  18490.         data: v
  18491.     }, a ? a.call(s, "Other Settings", e) : p.call(s, "l", "Other Settings", e));
  18492.     if (h || h === 0) {
  18493.         r += h
  18494.     }
  18495.     r += "</a></div></div></div></div>";
  18496.     return r
  18497. });
  18498. this["DDG"]["templates"]["showcase_dropdown"] = Handlebars.template(function(f, n, e, k, j) {
  18499.     this.compilerInfo = [4, ">= 1.0.0"];
  18500.     e = this.merge(e, f.helpers);
  18501.     j = j || {};
  18502.     var h = "",
  18503.         a, g = "function",
  18504.         i = this.escapeExpression,
  18505.         m = e.helperMissing,
  18506.         p = this;
  18507.  
  18508.     function c(x, v) {
  18509.         var r = "",
  18510.             t, u, s;
  18511.         r += '<div class="header--aside__item showcase header__label"><span class="header__clickable js-hl-button" data-type="showcase">';
  18512.         t = e["if"].call(x, (x && x.showSurvey), {
  18513.             hash: {},
  18514.             inverse: p.program(4, q, v),
  18515.             fn: p.program(2, b, v),
  18516.             data: v
  18517.         });
  18518.         if (t || t === 0) {
  18519.             r += t
  18520.         }
  18521.         r += '<span class="popout-trig  js-popout"><span class="js-popout-link js-showcase-popout ddgsi ddgsi-down" aria-hidden="true" data-type="showcase"></span><div class="modal modal--popout modal--popout--bottom-left modal--popout--sm  js-popout-main" data-type="showcase"><div class="modal__box"><div class="modal__body"><nav aria-labelledby="wedonttrack"><section class="showcase__dropdown-top"><ul aria-label="';
  18522.         t = (u = e.lp || (x && x.lp), s = {
  18523.             hash: {},
  18524.             data: v
  18525.         }, u ? u.call(x, "showcase_aria_dropdown", "Here are some things that we made that you might like.", s) : m.call(x, "lp", "showcase_aria_dropdown", "Here are some things that we made that you might like.", s));
  18526.         if (t || t === 0) {
  18527.             r += t
  18528.         }
  18529.         r += '"><li class="fix showcase__dropdown__list"><a href="/app" class="eighteen js-hl-item" aria-hidden="true" data-type="showcase" data-id="app"><div class="woman-icon"></div></a><a href="/app" class="text-left showcase__link eighty js-hl-item" data-type="showcase" data-id="app"><h1 class="showcase__heading">';
  18530.         t = (u = e.lp || (x && x.lp), s = {
  18531.             hash: {},
  18532.             data: v
  18533.         }, u ? u.call(x, "showcase_app", "Get Our App & Extension", s) : m.call(x, "lp", "showcase_app", "Get Our App & Extension", s));
  18534.         if (t || t === 0) {
  18535.             r += t
  18536.         }
  18537.         r += '</h1><p class="showcase__subheading">';
  18538.         t = (u = e.lp || (x && x.lp), s = {
  18539.             hash: {},
  18540.             data: v
  18541.         }, u ? u.call(x, "showcase_app", "Protect your data on every device.", s) : m.call(x, "lp", "showcase_app", "Protect your data on every device.", s));
  18542.         if (t || t === 0) {
  18543.             r += t
  18544.         }
  18545.         r += '</p></a></li><li class="fix showcase__dropdown__list"><a href="/newsletter" class="eighteen js-hl-item" aria-hidden="true" data-type="showcase" data-id="newsletter"><div class="mailbox-icon"></div></a><a href="/newsletter" class="text-left showcase__link eighty js-hl-item" data-type="showcase" data-id="newsletter"><h1 class="showcase__heading">';
  18546.         t = (u = e.lp || (x && x.lp), s = {
  18547.             hash: {},
  18548.             data: v
  18549.         }, u ? u.call(x, "showcase_newsletter", "Privacy in Your Inbox", s) : m.call(x, "lp", "showcase_newsletter", "Privacy in Your Inbox", s));
  18550.         if (t || t === 0) {
  18551.             r += t
  18552.         }
  18553.         r += '</h1><p class="showcase__subheading">';
  18554.         t = (u = e.lp || (x && x.lp), s = {
  18555.             hash: {},
  18556.             data: v
  18557.         }, u ? u.call(x, "showcase_newsletter", "Stay protected and informed with our privacy newsletters.", s) : m.call(x, "lp", "showcase_newsletter", "Stay protected and informed with our privacy newsletters.", s));
  18558.         if (t || t === 0) {
  18559.             r += t
  18560.         }
  18561.         r += '</p></a></li><li class="fix showcase__dropdown__list"><a href="https://spreadprivacy.com/tag/device-privacy-tips/" class="eighteen js-hl-item" aria-hidden="true" data-type="showcase" data-id="blog"><div class="privacy-simplified-icon"></div></a><a href="https://spreadprivacy.com/tag/device-privacy-tips/" class="text-left showcase__link eighty js-hl-item" data-type="showcase" data-id="blog"><h1 class="showcase__heading">';
  18562.         t = (u = e.lp || (x && x.lp), s = {
  18563.             hash: {},
  18564.             data: v
  18565.         }, u ? u.call(x, "showcase_privacy", "Protect Your Devices", s) : m.call(x, "lp", "showcase_privacy", "Protect Your Devices", s));
  18566.         if (t || t === 0) {
  18567.             r += t
  18568.         }
  18569.         r += '</h1><p class="showcase__subheading">';
  18570.         t = (u = e.lp || (x && x.lp), s = {
  18571.             hash: {},
  18572.             data: v
  18573.         }, u ? u.call(x, "showcase_privacy", "Check out our privacy device guides.", s) : m.call(x, "lp", "showcase_privacy", "Check out our privacy device guides.", s));
  18574.         if (t || t === 0) {
  18575.             r += t
  18576.         }
  18577.         r += '</p></a></li><li class="fix showcase__dropdown__list"><a href="https://duckduckgo.com/spread" class="eighteen js-hl-item" aria-hidden="true" data-type="showcase" data-id="spread"><div class="spread-icon"></div></a><a href="https://duckduckgo.com/spread" class="text-left showcase__link eighty js-hl-item" data-type="showcase" data-id="spread"><h1 class="showcase__heading">';
  18578.         t = (u = e.lp || (x && x.lp), s = {
  18579.             hash: {},
  18580.             data: v
  18581.         }, u ? u.call(x, "showcase_spread", "Spread DuckDuckGo", s) : m.call(x, "lp", "showcase_spread", "Spread DuckDuckGo", s));
  18582.         if (t || t === 0) {
  18583.             r += t
  18584.         }
  18585.         r += '</h1><p class="showcase__subheading">';
  18586.         t = (u = e.lp || (x && x.lp), s = {
  18587.             hash: {},
  18588.             data: v
  18589.         }, u ? u.call(x, "showcase_spread", "Help your friends and family join the Duck Side!", s) : m.call(x, "lp", "showcase_spread", "Help your friends and family join the Duck Side!", s));
  18590.         if (t || t === 0) {
  18591.             r += t
  18592.         }
  18593.         r += '</p></a></li></ul></section><section class="showcase__dropdown-bottom"><ul class="text-left" aria-label="We\'ve got even more things for you."><li class="fix showcase__dropdown__list"><a href="https://duckduckgo.com/donations" class="eighteen showcase__icon js-hl-item" aria-hidden="true" data-type="showcase" data-id="donations"><div class="donations-icon"></div></a><a href="https://duckduckgo.com/donations" class="text-left showcase__link eighty showcase__text js-hl-item" data-type="showcase" data-id="donations">';
  18594.         t = (u = e.lp || (x && x.lp), s = {
  18595.             hash: {},
  18596.             data: v
  18597.         }, u ? u.call(x, "showcase_donations", "%s in privacy donations!", (x && x.donationCount), s) : m.call(x, "lp", "showcase_donations", "%s in privacy donations!", (x && x.donationCount), s));
  18598.         if (t || t === 0) {
  18599.             r += t
  18600.         }
  18601.         r += '</a></li><li class="fix showcase__dropdown__list"><a href="https://duckduckgo.com/traffic" class="eighteen showcase__icon js-hl-item" aria-hidden="true" data-type="showcase" data-id="traffic"><div class="traffic-icon"></div></a><a href="https://duckduckgo.com/traffic" class="text-left showcase__link eighty showcase__text js-hl-item" data-type="showcase" data-id="traffic">';
  18602.         t = (u = e.lp || (x && x.lp), s = {
  18603.             hash: {},
  18604.             data: v
  18605.         }, u ? u.call(x, "showcase_traffic", "Over %s Billion anonymous searches.", (x && x.billionSearchCount), s) : m.call(x, "lp", "showcase_traffic", "Over %s Billion anonymous searches.", (x && x.billionSearchCount), s));
  18606.         if (t || t === 0) {
  18607.             r += t
  18608.         }
  18609.         r += '</a></li><li class="fix showcase__dropdown__list"><a href="https://donttrack.us/" class="eighteen showcase__icon js-hl-item" aria-hidden="true" data-type="showcase" data-id="dnt"><div class="privacy-tips-icon"></div></a><a href="https://donttrack.us/" class="text-left showcase__link eighty showcase__text js-hl-item" data-type="showcase" data-id="dnt">';
  18610.         t = (u = e.lp || (x && x.lp), s = {
  18611.             hash: {},
  18612.             data: v
  18613.         }, u ? u.call(x, "showcase_tracking", "Learn why reducing tracking is important.", s) : m.call(x, "lp", "showcase_tracking", "Learn why reducing tracking is important.", s));
  18614.         if (t || t === 0) {
  18615.             r += t
  18616.         }
  18617.         r += "</a></li></ul></section></nav></div></div></div></span></span></div>";
  18618.         return r
  18619.     }
  18620.  
  18621.     function b(v, u) {
  18622.         var r = "",
  18623.             s, t;
  18624.         r += '<a id="wedonttrack" class="header__link header__clickable" href="';
  18625.         if (t = e.surveyURL) {
  18626.             s = t.call(v, {
  18627.                 hash: {},
  18628.                 data: u
  18629.             })
  18630.         } else {
  18631.             t = (v && v.surveyURL);
  18632.             s = typeof t === g ? t.call(v, {
  18633.                 hash: {},
  18634.                 data: u
  18635.             }) : t
  18636.         }
  18637.         r += i(s) + '">Take our User Survey!</a>';
  18638.         return r
  18639.     }
  18640.  
  18641.     function q(x, v) {
  18642.         var r = "",
  18643.             t, u, s;
  18644.         r += '<span class="js-popout-trig" aria-haspopup="true" aria-label="';
  18645.         t = (u = e.lp || (x && x.lp), s = {
  18646.             hash: {},
  18647.             data: v
  18648.         }, u ? u.call(x, "showcase_aria_label", "Check out the list of things that we've also made.", s) : m.call(x, "lp", "showcase_aria_label", "Check out the list of things that we've also made.", s));
  18649.         if (t || t === 0) {
  18650.             r += t
  18651.         }
  18652.         r += '" role="button" aria-pressed="false"><span id="wedonttrack">';
  18653.         t = (u = e.l || (x && x.l), s = {
  18654.             hash: {},
  18655.             data: v
  18656.         }, u ? u.call(x, "Privacy, simplified.", s) : m.call(x, "l", "Privacy, simplified.", s));
  18657.         if (t || t === 0) {
  18658.             r += t
  18659.         }
  18660.         r += "</span></span>";
  18661.         return r
  18662.     }
  18663.  
  18664.     function o(s, r) {
  18665.         return '<span class="header__clickable js-hl-button" data-type="social"><span class="js-popout-trig header--aside__social-icon " aria-haspopup="true" aria-label="Keep in touch" role="button" aria-pressed="false"><span class="ddgsi ddgsi-horn" data-type="social"></span></span><span class="popout-trig js-popout"><span class="js-popout-link ddgsi ddgsi-down" aria-hidden="true" data-type="social"></span><div class="modal modal--popout modal--popout--bottom-left modal--popout--sm  js-popout-main" data-type="social"><div class="modal__box"><div class="modal__body"><div class="social__link"><a href="https://twitter.com/duckduckgo" class="js-hl-item social__link__text" data-type="social" data-id="twitter"><img class="social__icon js-lazysvg" data-src="/assets/icons/header/twitter.svg"><span>Twitter</span></a></div><div class="social__link"><a href="https://reddit.com/r/duckduckgo" class="js-hl-item social__link__text" data-type="social" data-id="reddit"><img class="social__icon js-lazysvg" data-src="/assets/icons/header/reddit.svg"><span>Reddit</span></a></div><div class="social__link"><a href="https://spreadprivacy.com" class="js-hl-item social__link__text" data-type="social" data-id="blog"><img class="social__icon js-lazysvg" data-src="/assets/icons/header/blog.svg"><span>Blog</span></a></div><div class="social__link"><a href="https://duckduckgo.com/newsletter" class="js-hl-item social__link__text" data-type="social" data-id="newsletter"><img class="social__icon js-lazysvg" data-src="/assets/icons/header/newsletter.svg"><span>Newsletter</span></a></div></div></div></div></span></span>'
  18666.     }
  18667.     a = e["if"].call(n, (n && n.showDropdown), {
  18668.         hash: {},
  18669.         inverse: p.noop,
  18670.         fn: p.program(1, c, j),
  18671.         data: j
  18672.     });
  18673.     if (a || a === 0) {
  18674.         h += a
  18675.     }
  18676.     h += '<div class="header--aside__item header--aside__social header__label social">';
  18677.     a = e["if"].call(n, (n && n.showSocial), {
  18678.         hash: {},
  18679.         inverse: p.noop,
  18680.         fn: p.program(6, o, j),
  18681.         data: j
  18682.     });
  18683.     if (a || a === 0) {
  18684.         h += a
  18685.     }
  18686.     h += "</div>";
  18687.     return h
  18688. });
  18689. this["DDG"]["templates"]["side_menu"] = Handlebars.template(function(f, m, e, j, i) {
  18690.     this.compilerInfo = [4, ">= 1.0.0"];
  18691.     e = this.merge(e, f.helpers);
  18692.     i = i || {};
  18693.     var h = "",
  18694.         b, g, p, k = e.helperMissing,
  18695.         o = this;
  18696.  
  18697.     function c(v, u) {
  18698.         var q = "",
  18699.             s, t, r;
  18700.         q += '<ul class="nav-menu--theme"><li class="nav-menu__heading"><span>';
  18701.         s = (t = e.lp || (v && v.lp), r = {
  18702.             hash: {},
  18703.             data: u
  18704.         }, t ? t.call(v, "feedback form", "Settings", r) : k.call(v, "lp", "feedback form", "Settings", r));
  18705.         if (s || s === 0) {
  18706.             q += s
  18707.         }
  18708.         q += '</span></li><li class="nav-menu__item clear"><a href="/settings#theme" data-settings="1">';
  18709.         s = (t = e.l || (v && v.l), r = {
  18710.             hash: {},
  18711.             data: u
  18712.         }, t ? t.call(v, "Themes", r) : k.call(v, "l", "Themes", r));
  18713.         if (s || s === 0) {
  18714.             q += s
  18715.         }
  18716.         q += '</a></li><li class="nav-menu__item"><a href="/settings" tabindex="-1" data-settings="1">';
  18717.         s = (t = e.l || (v && v.l), r = {
  18718.             hash: {},
  18719.             data: u
  18720.         }, t ? t.call(v, "Other Settings", r) : k.call(v, "l", "Other Settings", r));
  18721.         if (s || s === 0) {
  18722.             q += s
  18723.         }
  18724.         q += '</a></li><li class="nav-menu__item"><a href="/bangs">';
  18725.         s = (t = e.l || (v && v.l), r = {
  18726.             hash: {},
  18727.             data: u
  18728.         }, t ? t.call(v, "!Bang Search Shortcuts", r) : k.call(v, "l", "!Bang Search Shortcuts", r));
  18729.         if (s || s === 0) {
  18730.             q += s
  18731.         }
  18732.         q += "</a></li></ul>";
  18733.         return q
  18734.     }
  18735.  
  18736.     function a(v, u) {
  18737.         var q = "",
  18738.             s, t, r;
  18739.         q += '<ul class="nav-menu--feedback"><li class="nav-menu__heading"><span>';
  18740.         s = (t = e.lp || (v && v.lp), r = {
  18741.             hash: {},
  18742.             data: u
  18743.         }, t ? t.call(v, "feedback form", "Send feedback", r) : k.call(v, "lp", "feedback form", "Send feedback", r));
  18744.         if (s || s === 0) {
  18745.             q += s
  18746.         }
  18747.         q += '</span></li><li class="nav-menu__feedback"><a href="#" class="nav-menu__feedback__icon nav-menu__feedback__icon--love js-side-menu-love"></a><a href="#" class="nav-menu__feedback__icon nav-menu__feedback__icon--nolove js-side-menu-nolove"></a></li></ul>';
  18748.         return q
  18749.     }
  18750.  
  18751.     function n(v, u) {
  18752.         var q = "",
  18753.             s, t, r;
  18754.         q += '<li class="nav-menu__item"><a href="https://duckduckgo.merchmadeeasy.com/">';
  18755.         s = (t = e.l || (v && v.l), r = {
  18756.             hash: {},
  18757.             data: u
  18758.         }, t ? t.call(v, "Store", r) : k.call(v, "l", "Store", r));
  18759.         if (s || s === 0) {
  18760.             q += s
  18761.         }
  18762.         q += "</a></li>";
  18763.         return q
  18764.     }
  18765.     h += '<div class="nav-menu--slideout"><ul class="nav-menu__list"><i class="nav-menu__close  js-side-menu-close">X</i>';
  18766.     b = e["if"].call(m, (m && m.hideThemes), {
  18767.         hash: {},
  18768.         inverse: o.program(1, c, i),
  18769.         fn: o.noop,
  18770.         data: i
  18771.     });
  18772.     if (b || b === 0) {
  18773.         h += b
  18774.     }
  18775.     b = e["if"].call(m, (m && m.showFeedbackIcons), {
  18776.         hash: {},
  18777.         inverse: o.noop,
  18778.         fn: o.program(3, a, i),
  18779.         data: i
  18780.     });
  18781.     if (b || b === 0) {
  18782.         h += b
  18783.     }
  18784.     h += '<ul><li class="nav-menu__heading"><span>';
  18785.     b = (g = e.l || (m && m.l), p = {
  18786.         hash: {},
  18787.         data: i
  18788.     }, g ? g.call(m, "Privacy Essentials", p) : k.call(m, "l", "Privacy Essentials", p));
  18789.     if (b || b === 0) {
  18790.         h += b
  18791.     }
  18792.     h += '</span></li><li class="nav-menu__item"><a href="https://duckduckgo.com/">';
  18793.     b = (g = e.l || (m && m.l), p = {
  18794.         hash: {},
  18795.         data: i
  18796.     }, g ? g.call(m, "Private Search", p) : k.call(m, "l", "Private Search", p));
  18797.     if (b || b === 0) {
  18798.         h += b
  18799.     }
  18800.     h += '</a></li><li class="nav-menu__item"><a href="/app">';
  18801.     b = (g = e.l || (m && m.l), p = {
  18802.         hash: {},
  18803.         data: i
  18804.     }, g ? g.call(m, "App and Extension", p) : k.call(m, "l", "App and Extension", p));
  18805.     if (b || b === 0) {
  18806.         h += b
  18807.     }
  18808.     h += '</a></li></ul><ul><li class="nav-menu__heading"><span>';
  18809.     b = (g = e.l || (m && m.l), p = {
  18810.         hash: {},
  18811.         data: i
  18812.     }, g ? g.call(m, "Why Privacy", p) : k.call(m, "l", "Why Privacy", p));
  18813.     if (b || b === 0) {
  18814.         h += b
  18815.     }
  18816.     h += '</span></li><li class="nav-menu__item"><a href="https://spreadprivacy.com/">';
  18817.     b = (g = e.l || (m && m.l), p = {
  18818.         hash: {},
  18819.         data: i
  18820.     }, g ? g.call(m, "Privacy Blog", p) : k.call(m, "l", "Privacy Blog", p));
  18821.     if (b || b === 0) {
  18822.         h += b
  18823.     }
  18824.     h += '</a></li><li class="nav-menu__item"><a href="https://duckduckgo.com/newsletter">';
  18825.     b = (g = e.l || (m && m.l), p = {
  18826.         hash: {},
  18827.         data: i
  18828.     }, g ? g.call(m, "Privacy Crash Course", p) : k.call(m, "l", "Privacy Crash Course", p));
  18829.     if (b || b === 0) {
  18830.         h += b
  18831.     }
  18832.     h += '</a></li><li class="nav-menu__item"><a href="/spread">';
  18833.     b = (g = e.l || (m && m.l), p = {
  18834.         hash: {},
  18835.         data: i
  18836.     }, g ? g.call(m, "Help Spread Privacy", p) : k.call(m, "l", "Help Spread Privacy", p));
  18837.     if (b || b === 0) {
  18838.         h += b
  18839.     }
  18840.     h += '</a></li></ul><ul><li class="nav-menu__heading"><span>';
  18841.     b = (g = e.l || (m && m.l), p = {
  18842.         hash: {},
  18843.         data: i
  18844.     }, g ? g.call(m, "Who We Are", p) : k.call(m, "l", "Who We Are", p));
  18845.     if (b || b === 0) {
  18846.         h += b
  18847.     }
  18848.     h += '</span></li><li class="nav-menu__item"><a href="/about">';
  18849.     b = (g = e.l || (m && m.l), p = {
  18850.         hash: {},
  18851.         data: i
  18852.     }, g ? g.call(m, "About Us", p) : k.call(m, "l", "About Us", p));
  18853.     if (b || b === 0) {
  18854.         h += b
  18855.     }
  18856.     h += '</a></li><li class="nav-menu__item"><a href="/privacy">';
  18857.     b = (g = e.l || (m && m.l), p = {
  18858.         hash: {},
  18859.         data: i
  18860.     }, g ? g.call(m, "Privacy Policy", p) : k.call(m, "l", "Privacy Policy", p));
  18861.     if (b || b === 0) {
  18862.         h += b
  18863.     }
  18864.     h += '</a></li><li class="nav-menu__item"><a href="/hiring">';
  18865.     b = (g = e.l || (m && m.l), p = {
  18866.         hash: {},
  18867.         data: i
  18868.     }, g ? g.call(m, "Careers", p) : k.call(m, "l", "Careers", p));
  18869.     if (b || b === 0) {
  18870.         h += b
  18871.     }
  18872.     h += '</a></li><li class="nav-menu__item"><a href="/press">';
  18873.     b = (g = e.l || (m && m.l), p = {
  18874.         hash: {},
  18875.         data: i
  18876.     }, g ? g.call(m, "Press Kit", p) : k.call(m, "l", "Press Kit", p));
  18877.     if (b || b === 0) {
  18878.         h += b
  18879.     }
  18880.     h += '</a></li></ul><ul><li class="nav-menu__heading"><span>';
  18881.     b = (g = e.l || (m && m.l), p = {
  18882.         hash: {},
  18883.         data: i
  18884.     }, g ? g.call(m, "Keep in Touch", p) : k.call(m, "l", "Keep in Touch", p));
  18885.     if (b || b === 0) {
  18886.         h += b
  18887.     }
  18888.     h += '</span></li><li class="nav-menu__item"><a href="https://twitter.com/duckduckgo">';
  18889.     b = (g = e.l || (m && m.l), p = {
  18890.         hash: {},
  18891.         data: i
  18892.     }, g ? g.call(m, "Twitter", p) : k.call(m, "l", "Twitter", p));
  18893.     if (b || b === 0) {
  18894.         h += b
  18895.     }
  18896.     h += "</a></li>";
  18897.     b = e["if"].call(m, (m && m.showStore), {
  18898.         hash: {},
  18899.         inverse: o.noop,
  18900.         fn: o.program(5, n, i),
  18901.         data: i
  18902.     });
  18903.     if (b || b === 0) {
  18904.         h += b
  18905.     }
  18906.     h += '<li class="nav-menu__item"><a href="https://reddit.com/r/duckduckgo">';
  18907.     b = (g = e.l || (m && m.l), p = {
  18908.         hash: {},
  18909.         data: i
  18910.     }, g ? g.call(m, "Reddit", p) : k.call(m, "l", "Reddit", p));
  18911.     if (b || b === 0) {
  18912.         h += b
  18913.     }
  18914.     h += '</a></li><li class="nav-menu__item"><a href="https://help.duckduckgo.com/">';
  18915.     b = (g = e.l || (m && m.l), p = {
  18916.         hash: {},
  18917.         data: i
  18918.     }, g ? g.call(m, "Help", p) : k.call(m, "l", "Help", p));
  18919.     if (b || b === 0) {
  18920.         h += b
  18921.     }
  18922.     h += "</a></li></ul></ul></div>";
  18923.     return h
  18924. });
  18925. this["DDG"]["templates"]["side_menu_link"] = Handlebars.template(function(e, f, b, a, c) {
  18926.     this.compilerInfo = [4, ">= 1.0.0"];
  18927.     b = this.merge(b, e.helpers);
  18928.     c = c || {};
  18929.     return '<a class="header__button--menu  js-side-menu-open" href="#">&#8694;</a>'
  18930. });
  18931. this["DDG"]["templates"]["spinner"] = Handlebars.template(function(c, k, b, j, i) {
  18932.     this.compilerInfo = [4, ">= 1.0.0"];
  18933.     b = this.merge(b, c.helpers);
  18934.     i = i || {};
  18935.     var g = "",
  18936.         a, e, f = "function",
  18937.         h = this.escapeExpression;
  18938.     g += '<div class="spinner ';
  18939.     if (e = b.className) {
  18940.         a = e.call(k, {
  18941.             hash: {},
  18942.             data: i
  18943.         })
  18944.     } else {
  18945.         e = (k && k.className);
  18946.         a = typeof e === f ? e.call(k, {
  18947.             hash: {},
  18948.             data: i
  18949.         }) : e
  18950.     }
  18951.     g += h(a) + '"><div class="spinner__spoke spinner__spoke--1"></div><div class="spinner__spoke spinner__spoke--2"></div><div class="spinner__spoke spinner__spoke--3"></div><div class="spinner__spoke spinner__spoke--4"></div><div class="spinner__spoke spinner__spoke--5"></div><div class="spinner__spoke spinner__spoke--6"></div><div class="spinner__spoke spinner__spoke--7"></div><div class="spinner__spoke spinner__spoke--8"></div></div>';
  18952.     return g
  18953. });
  18954. this["DDG"]["templates"]["spread_badge"] = Handlebars.template(function(c, j, b, h, g) {
  18955.     this.compilerInfo = [4, ">= 1.0.0"];
  18956.     b = this.merge(b, c.helpers);
  18957.     g = g || {};
  18958.     var f = "",
  18959.         a, e, k, i = b.helperMissing;
  18960.     f += '<div class="badge-link  badge-link--spread"><img class="badge-link__icon  js-lazysvg" data-src="/assets/spread/share" /><span class="badge-link__title">';
  18961.     a = (e = b.lp || (j && j.lp), k = {
  18962.         hash: {},
  18963.         data: g
  18964.     }, e ? e.call(j, "spread_badge", "Love DuckDuckGo?", k) : i.call(j, "lp", "spread_badge", "Love DuckDuckGo?", k));
  18965.     if (a || a === 0) {
  18966.         f += a
  18967.     }
  18968.     f += '</span><span class="badge-link__text">';
  18969.     a = (e = b.lp || (j && j.lp), k = {
  18970.         hash: {},
  18971.         data: g
  18972.     }, e ? e.call(j, "spread_badge", "Get your friends to switch and help us grow!", k) : i.call(j, "lp", "spread_badge", "Get your friends to switch and help us grow!", k));
  18973.     if (a || a === 0) {
  18974.         f += a
  18975.     }
  18976.     f += '</span><span class="ddgsi badge-link__close js-badge-link-close">&times;</span></div>';
  18977.     return f
  18978. });
  18979. this["DDG"]["templates"]["subscribe_to_newsletter_badge"] = Handlebars.template(function(e, q, o, i, t) {
  18980.     this.compilerInfo = [4, ">= 1.0.0"];
  18981.     o = this.merge(o, e.helpers);
  18982.     t = t || {};
  18983.     var p = "",
  18984.         f, a, b, m = this,
  18985.         n = o.helperMissing;
  18986.  
  18987.     function k(v, u) {
  18988.         return "serp"
  18989.     }
  18990.  
  18991.     function j(v, u) {
  18992.         return "top"
  18993.     }
  18994.  
  18995.     function h(v, u) {
  18996.         return "badge-link--fadein"
  18997.     }
  18998.  
  18999.     function g(v, u) {
  19000.         return '<a class="badge-link__wrap js-badge-main-msg">'
  19001.     }
  19002.  
  19003.     function c(v, u) {
  19004.         return '<div class="badge-link__wrap js-badge-main-msg">'
  19005.     }
  19006.  
  19007.     function s(v, u) {
  19008.         return "</a>"
  19009.     }
  19010.  
  19011.     function r(v, u) {
  19012.         return "</div>"
  19013.     }
  19014.     p += '<div class="badge-link badge-link--';
  19015.     f = o["if"].call(q, (q && q.serp), {
  19016.         hash: {},
  19017.         inverse: m.program(3, j, t),
  19018.         fn: m.program(1, k, t),
  19019.         data: t
  19020.     });
  19021.     if (f || f === 0) {
  19022.         p += f
  19023.     }
  19024.     p += " ";
  19025.     f = o["if"].call(q, (q && q.fadeIn), {
  19026.         hash: {},
  19027.         inverse: m.noop,
  19028.         fn: m.program(5, h, t),
  19029.         data: t
  19030.     });
  19031.     if (f || f === 0) {
  19032.         p += f
  19033.     }
  19034.     p += ' js-badge-link badge-link--thumbnail badge-link--newsletter">';
  19035.     f = o["if"].call(q, (q && q.url), {
  19036.         hash: {},
  19037.         inverse: m.program(9, c, t),
  19038.         fn: m.program(7, g, t),
  19039.         data: t
  19040.     });
  19041.     if (f || f === 0) {
  19042.         p += f
  19043.     }
  19044.     p += '<div class="badge-link__thumb"><img class="badge-link__thumb__img badge-link__thumb__img--newsletter" src="/assets/bathroom.png"></div>            <div class="js-badge-form-container badge-link-container"><div class="badge-link-illustration__text-wrapper"><p class="badge-link-illustration__text js-badge-title anim-fadeOut">Worried about who is tracking you online?</p></div><div class="badge-link__btn-group js-badge-expand"><span class="badge-link__btn btn btn--primary">Get Privacy Tips from DuckDuckGo!</span></div></div><span class="ddgsi badge-link__close js-badge-link-dismiss">&times;</span>';
  19045.     f = o["if"].call(q, (q && q.url), {
  19046.         hash: {},
  19047.         inverse: m.program(13, r, t),
  19048.         fn: m.program(11, s, t),
  19049.         data: t
  19050.     });
  19051.     if (f || f === 0) {
  19052.         p += f
  19053.     }
  19054.     p += '<div class="badge-link__wrap badge-link__wrap--hidden js-badge-cookie-msg"><div class="badge-link__cookie-msg"><p>';
  19055.     f = (a = o.l || (q && q.l), b = {
  19056.         hash: {},
  19057.         data: t
  19058.     }, a ? a.call(q, "Clear your cookies often?", b) : n.call(q, "l", "Clear your cookies often?", b));
  19059.     if (f || f === 0) {
  19060.         p += f
  19061.     }
  19062.     p += "</p><p>";
  19063.     f = (a = o.l || (q && q.l), b = {
  19064.         hash: {},
  19065.         data: t
  19066.     }, a ? a.call(q, "Try our homepage that never shows these messages:", b) : n.call(q, "l", "Try our homepage that never shows these messages:", b));
  19067.     if (f || f === 0) {
  19068.         p += f
  19069.     }
  19070.     p += '</p><p><b><a href="https://start.duckduckgo.com">start.duckduckgo.com</a></b></p></div><span class="ddgsi badge-link__close badge-link__close--dark js-badge-link-close">&times;</span></div></div>';
  19071.     return p
  19072. });
  19073. this["DDG"]["templates"]["survey_badge"] = Handlebars.template(function(f, n, e, m, k) {
  19074.     this.compilerInfo = [4, ">= 1.0.0"];
  19075.     e = this.merge(e, f.helpers);
  19076.     k = k || {};
  19077.     var i = "",
  19078.         b, g, o = this,
  19079.         h = "function",
  19080.         j = this.escapeExpression;
  19081.  
  19082.     function c(q, p) {
  19083.         return "serp"
  19084.     }
  19085.  
  19086.     function a(q, p) {
  19087.         return "top"
  19088.     }
  19089.     i += '<div class="badge-link badge-link--';
  19090.     b = e["if"].call(n, (n && n.serp), {
  19091.         hash: {},
  19092.         inverse: o.program(3, a, k),
  19093.         fn: o.program(1, c, k),
  19094.         data: k
  19095.     });
  19096.     if (b || b === 0) {
  19097.         i += b
  19098.     }
  19099.     i += ' js-badge-link badge-link--thumbnail badge-link--survey"><a class="badge-link__wrap js-badge-main-msg" href="';
  19100.     if (g = e.url) {
  19101.         b = g.call(n, {
  19102.             hash: {},
  19103.             data: k
  19104.         })
  19105.     } else {
  19106.         g = (n && n.url);
  19107.         b = typeof g === h ? g.call(n, {
  19108.             hash: {},
  19109.             data: k
  19110.         }) : g
  19111.     }
  19112.     i += j(b) + '" target="_blank" rel="noopener"><div class="badge-link__wrap js-badge-main-msg"><div class="badge-link__thumb"><img class="badge-link__thumb__img badge-link__thumb__img--survey" src="/assets/onboarding/survey.svg"></div><span class="badge-link__title">We need your help!</span><span class="badge-link__text">Answer a few anonymous questions to help improve DuckDuckGo</span><div class="badge-link__btn-group"><span class="badge-link__btn btn btn--primary js-badge-link-button">Let\'s Go</span></div><span class="ddgsi badge-link__close js-badge-link-dismiss">&times;</span></div></a></div>';
  19113.     return i
  19114. });
  19115. this["DDG"]["templates"]["survey_banner"] = Handlebars.template(function(c, k, b, j, i) {
  19116.     this.compilerInfo = [4, ">= 1.0.0"];
  19117.     b = this.merge(b, c.helpers);
  19118.     i = i || {};
  19119.     var g = "",
  19120.         a, e, f = "function",
  19121.         h = this.escapeExpression;
  19122.     g += '<div class="atb-banner"><div class="atb-banner__bottom atb-banner__bottom--survey ms-atb-banner-mainmsg"><span class="ddgsi atb-banner__close js-atb-banner-dismiss">×</span><img class="atb-banner__thumbnail atb-banner__thumbnail--round" src="assets/onboarding/survey.svg" height="75"><div class="atb-banner__content"><div class="atb-banner__title">We need your help!</div><div class="atb-banner__copy">Answer a few anonymous questions to help improve DuckDuckGo</div></div><a class="js-atb-banner-button atb-banner__btn btn btn--primary" href="';
  19123.     if (e = b.url) {
  19124.         a = e.call(k, {
  19125.             hash: {},
  19126.             data: i
  19127.         })
  19128.     } else {
  19129.         e = (k && k.url);
  19130.         a = typeof e === f ? e.call(k, {
  19131.             hash: {},
  19132.             data: i
  19133.         }) : e
  19134.     }
  19135.     g += h(a) + '" target="_blank" rel="noopener">Let\'s Go</a></div></div>';
  19136.     return g
  19137. });
  19138. this["DDG"]["templates"]["use_for_search_brave"] = Handlebars.template(function(c, j, b, h, g) {
  19139.     this.compilerInfo = [4, ">= 1.0.0"];
  19140.     b = this.merge(b, c.helpers);
  19141.     g = g || {};
  19142.     var f = "",
  19143.         a, e, k, i = b.helperMissing;
  19144.     f += '<ol class="add-to-browser__directions"><li>';
  19145.     a = (e = b.l || (j && j.l), k = {
  19146.         hash: {},
  19147.         data: g
  19148.     }, e ? e.call(j, "Copy &amp; paste %sabout:preferences#search%s into the address bar", "<b>", "</b>", k) : i.call(j, "l", "Copy &amp; paste %sabout:preferences#search%s into the address bar", "<b>", "</b>", k));
  19149.     if (a || a === 0) {
  19150.         f += a
  19151.     }
  19152.     f += "</li><li>";
  19153.     a = (e = b.l || (j && j.l), k = {
  19154.         hash: {},
  19155.         data: g
  19156.     }, e ? e.call(j, "Under %sSearch Settings%s select %sDuckDuckGo%s", "<b>", "</b>", "<b>", "</b>", k) : i.call(j, "l", "Under %sSearch Settings%s select %sDuckDuckGo%s", "<b>", "</b>", "<b>", "</b>", k));
  19157.     if (a || a === 0) {
  19158.         f += a
  19159.     }
  19160.     f += '</li><img class="add-to-browser__image" style="height:118px;width:316px;" src="/assets/add-to-browser/brave.jpg" /></ol>';
  19161.     return f
  19162. });
  19163. this["DDG"]["templates"]["use_for_search_brave_ios"] = Handlebars.template(function(c, m, b, j, i) {
  19164.     this.compilerInfo = [4, ">= 1.0.0"];
  19165.     b = this.merge(b, c.helpers);
  19166.     i = i || {};
  19167.     var g = "",
  19168.         a, e, n, f = "function",
  19169.         h = this.escapeExpression,
  19170.         k = b.helperMissing;
  19171.     g += '<div style="height:';
  19172.     if (e = b.height) {
  19173.         a = e.call(m, {
  19174.             hash: {},
  19175.             data: i
  19176.         })
  19177.     } else {
  19178.         e = (m && m.height);
  19179.         a = typeof e === f ? e.call(m, {
  19180.             hash: {},
  19181.             data: i
  19182.         }) : e
  19183.     }
  19184.     g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
  19185.     a = (e = b.l || (m && m.l), n = {
  19186.         hash: {},
  19187.         data: i
  19188.     }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
  19189.     if (a || a === 0) {
  19190.         g += a
  19191.     }
  19192.     g += '</div><div class="atb-overlay__copy">';
  19193.     a = (e = b.lp || (m && m.lp), n = {
  19194.         hash: {},
  19195.         data: i
  19196.     }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
  19197.     if (a || a === 0) {
  19198.         g += a
  19199.     }
  19200.     g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/brave_ios_menu.png" width="50" height="50" class="atb-overlay__step-cell--bg-gray" /></div><div class="atb-overlay__step-copy">';
  19201.     a = (e = b.lp || (m && m.lp), n = {
  19202.         hash: {},
  19203.         data: i
  19204.     }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
  19205.     if (a || a === 0) {
  19206.         g += a
  19207.     }
  19208.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/brave_ios_settings.png" width="50" height="50" class="atb-overlay__step-cell--bg-gray" /></div><div class="atb-overlay__step-copy">';
  19209.     a = (e = b.lp || (m && m.lp), n = {
  19210.         hash: {},
  19211.         data: i
  19212.     }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n));
  19213.     if (a || a === 0) {
  19214.         g += a
  19215.     }
  19216.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/dax.png" width="50" height="50" class="atb-overlay__step-cell--bg-dax" /></div><div class="atb-overlay__step-copy">';
  19217.     a = (e = b.l || (m && m.l), n = {
  19218.         hash: {},
  19219.         data: i
  19220.     }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
  19221.     if (a || a === 0) {
  19222.         g += a
  19223.     }
  19224.     g += "</div></div></div></div></div></div>";
  19225.     return g
  19226. });
  19227. this["DDG"]["templates"]["use_for_search_chrome"] = Handlebars.template(function(c, k, b, i, h) {
  19228.     this.compilerInfo = [4, ">= 1.0.0"];
  19229.     b = this.merge(b, c.helpers);
  19230.     h = h || {};
  19231.     var f = "",
  19232.         a, e, m, j = b.helperMissing,
  19233.         g = this.escapeExpression;
  19234.     f += '<ol class="add-to-browser__directions"><li class="has-btn">';
  19235.     a = (e = b.l || (k && k.l), m = {
  19236.         hash: {},
  19237.         data: h
  19238.     }, e ? e.call(k, "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline js-btn-nui">', "</a>", m) : j.call(k, "l", "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline js-btn-nui">', "</a>", m));
  19239.     if (a || a === 0) {
  19240.         f += a
  19241.     }
  19242.     f += "</li><li>";
  19243.     a = (e = b.l || (k && k.l), m = {
  19244.         hash: {},
  19245.         data: h
  19246.     }, e ? e.call(k, "Click the %s icon in the top toolbar", "<b>&#x2261;</b>", m) : j.call(k, "l", "Click the %s icon in the top toolbar", "<b>&#x2261;</b>", m));
  19247.     if (a || a === 0) {
  19248.         f += a
  19249.     }
  19250.     f += '<img class="add-to-browser__image" style="height:42px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
  19251.         hash: {},
  19252.         data: h
  19253.     }, e ? e.call(k, "/assets/add-to-browser/chrome.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/chrome.jpg", m))) + '" /></li><li>';
  19254.     a = (e = b.l || (k && k.l), m = {
  19255.         hash: {},
  19256.         data: h
  19257.     }, e ? e.call(k, "Select %sSettings%s", "<b>", "</b>", m) : j.call(k, "l", "Select %sSettings%s", "<b>", "</b>", m));
  19258.     if (a || a === 0) {
  19259.         f += a
  19260.     }
  19261.     f += "</li><li>";
  19262.     a = (e = b.l || (k && k.l), m = {
  19263.         hash: {},
  19264.         data: h
  19265.     }, e ? e.call(k, "Under %sSearch%s section, click %sManage search engines...%s", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Under %sSearch%s section, click %sManage search engines...%s", "<b>", "</b>", "<b>", "</b>", m));
  19266.     if (a || a === 0) {
  19267.         f += a
  19268.     }
  19269.     f += "</li><li>";
  19270.     a = (e = b.l || (k && k.l), m = {
  19271.         hash: {},
  19272.         data: h
  19273.     }, e ? e.call(k, "Find DuckDuckGo in the displayed list and click %sMake Default%s", "<b>", "</b>", m) : j.call(k, "l", "Find DuckDuckGo in the displayed list and click %sMake Default%s", "<b>", "</b>", m));
  19274.     if (a || a === 0) {
  19275.         f += a
  19276.     }
  19277.     f += "</li></ol>";
  19278.     return f
  19279. });
  19280. this["DDG"]["templates"]["use_for_search_chrome_android"] = Handlebars.template(function(c, j, b, h, g) {
  19281.     this.compilerInfo = [4, ">= 1.0.0"];
  19282.     b = this.merge(b, c.helpers);
  19283.     g = g || {};
  19284.     var f = "",
  19285.         a, e, k, i = b.helperMissing;
  19286.     f += "<img style='width:90px;height:90px;display:block;margin:0 auto 40px;box-shadow: 0 0 15px -3px rgba(0,0,0,0.35);' class='circle' src='/assets/android-chrome-menu.svg' />";
  19287.     a = (e = b.l || (j && j.l), k = {
  19288.         hash: {},
  19289.         data: g
  19290.     }, e ? e.call(j, "Press %sMenu > Add to homescreen > Add%s!", "<b>", "</b>", k) : i.call(j, "l", "Press %sMenu > Add to homescreen > Add%s!", "<b>", "</b>", k));
  19291.     if (a || a === 0) {
  19292.         f += a
  19293.     }
  19294.     return f
  19295. });
  19296. this["DDG"]["templates"]["use_for_search_chrome_android_default"] = Handlebars.template(function(c, m, b, j, i) {
  19297.     this.compilerInfo = [4, ">= 1.0.0"];
  19298.     b = this.merge(b, c.helpers);
  19299.     i = i || {};
  19300.     var g = "",
  19301.         a, e, n, f = "function",
  19302.         h = this.escapeExpression,
  19303.         k = b.helperMissing;
  19304.     g += '<div style="height:';
  19305.     if (e = b.height) {
  19306.         a = e.call(m, {
  19307.             hash: {},
  19308.             data: i
  19309.         })
  19310.     } else {
  19311.         e = (m && m.height);
  19312.         a = typeof e === f ? e.call(m, {
  19313.             hash: {},
  19314.             data: i
  19315.         }) : e
  19316.     }
  19317.     g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
  19318.     a = (e = b.l || (m && m.l), n = {
  19319.         hash: {},
  19320.         data: i
  19321.     }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
  19322.     if (a || a === 0) {
  19323.         g += a
  19324.     }
  19325.     g += '</div><div class="atb-overlay__copy">';
  19326.     a = (e = b.lp || (m && m.lp), n = {
  19327.         hash: {},
  19328.         data: i
  19329.     }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
  19330.     if (a || a === 0) {
  19331.         g += a
  19332.     }
  19333.     g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-android-menu.png" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
  19334.     a = (e = b.lp || (m && m.lp), n = {
  19335.         hash: {},
  19336.         data: i
  19337.     }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
  19338.     if (a || a === 0) {
  19339.         g += a
  19340.     }
  19341.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-android-settings.png" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
  19342.     a = (e = b.lp || (m && m.lp), n = {
  19343.         hash: {},
  19344.         data: i
  19345.     }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n));
  19346.     if (a || a === 0) {
  19347.         g += a
  19348.     }
  19349.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-android-select.png" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
  19350.     a = (e = b.l || (m && m.l), n = {
  19351.         hash: {},
  19352.         data: i
  19353.     }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
  19354.     if (a || a === 0) {
  19355.         g += a
  19356.     }
  19357.     g += "</div></div></div></div></div></div>";
  19358.     return g
  19359. });
  19360. this["DDG"]["templates"]["use_for_search_chrome_ios_default"] = Handlebars.template(function(c, m, b, j, i) {
  19361.     this.compilerInfo = [4, ">= 1.0.0"];
  19362.     b = this.merge(b, c.helpers);
  19363.     i = i || {};
  19364.     var g = "",
  19365.         a, e, n, f = "function",
  19366.         h = this.escapeExpression,
  19367.         k = b.helperMissing;
  19368.     g += '<div style="height:';
  19369.     if (e = b.height) {
  19370.         a = e.call(m, {
  19371.             hash: {},
  19372.             data: i
  19373.         })
  19374.     } else {
  19375.         e = (m && m.height);
  19376.         a = typeof e === f ? e.call(m, {
  19377.             hash: {},
  19378.             data: i
  19379.         }) : e
  19380.     }
  19381.     g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
  19382.     a = (e = b.l || (m && m.l), n = {
  19383.         hash: {},
  19384.         data: i
  19385.     }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
  19386.     if (a || a === 0) {
  19387.         g += a
  19388.     }
  19389.     g += '</div><div class="atb-overlay__copy">';
  19390.     a = (e = b.lp || (m && m.lp), n = {
  19391.         hash: {},
  19392.         data: i
  19393.     }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
  19394.     if (a || a === 0) {
  19395.         g += a
  19396.     }
  19397.     g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-ios-menu.svg" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
  19398.     a = (e = b.lp || (m && m.lp), n = {
  19399.         hash: {},
  19400.         data: i
  19401.     }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
  19402.     if (a || a === 0) {
  19403.         g += a
  19404.     }
  19405.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-ios-settings.svg" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
  19406.     a = (e = b.lp || (m && m.lp), n = {
  19407.         hash: {},
  19408.         data: i
  19409.     }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s", "<b>", "</b>", n));
  19410.     if (a || a === 0) {
  19411.         g += a
  19412.     }
  19413.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-ios-loupe.svg" width="50" height="50" class="atb-overlay__step-cell--bg-dark" /></div><div class="atb-overlay__step-copy">';
  19414.     a = (e = b.lp || (m && m.lp), n = {
  19415.         hash: {},
  19416.         data: i
  19417.     }, e ? e.call(m, "mobile homepage banner", "Select %sSearch Engine%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSearch Engine%s", "<b>", "</b>", n));
  19418.     if (a || a === 0) {
  19419.         g += a
  19420.     }
  19421.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">4</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-ios-select.svg" width="50" height="50" /></div><div class="atb-overlay__step-copy">';
  19422.     a = (e = b.l || (m && m.l), n = {
  19423.         hash: {},
  19424.         data: i
  19425.     }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
  19426.     if (a || a === 0) {
  19427.         g += a
  19428.     }
  19429.     g += "</div></div></div></div></div></div>";
  19430.     return g
  19431. });
  19432. this["DDG"]["templates"]["use_for_search_edge"] = Handlebars.template(function(c, k, b, i, h) {
  19433.     this.compilerInfo = [4, ">= 1.0.0"];
  19434.     b = this.merge(b, c.helpers);
  19435.     h = h || {};
  19436.     var f = "",
  19437.         a, e, m, j = b.helperMissing,
  19438.         g = this.escapeExpression;
  19439.     f += '<ol class="add-to-browser__directions"><li>';
  19440.     a = (e = b.l || (k && k.l), m = {
  19441.         hash: {},
  19442.         data: h
  19443.     }, e ? e.call(k, "Click the %s...%s icon at the top right:", "<b>", "</b>", m) : j.call(k, "l", "Click the %s...%s icon at the top right:", "<b>", "</b>", m));
  19444.     if (a || a === 0) {
  19445.         f += a
  19446.     }
  19447.     f += '<img class="add-to-browser__image" style="height:47px;" src="' + g((e = b.imageProxy || (k && k.imageProxy), m = {
  19448.         hash: {},
  19449.         data: h
  19450.     }, e ? e.call(k, "/assets/add-to-browser/edge.jpg", m) : j.call(k, "imageProxy", "/assets/add-to-browser/edge.jpg", m))) + '" /></li><li>';
  19451.     a = (e = b.l || (k && k.l), m = {
  19452.         hash: {},
  19453.         data: h
  19454.     }, e ? e.call(k, "Click %sSettings%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sSettings%s", "<b>", "</b>", m));
  19455.     if (a || a === 0) {
  19456.         f += a
  19457.     }
  19458.     f += "</li><li>";
  19459.     a = (e = b.l || (k && k.l), m = {
  19460.         hash: {},
  19461.         data: h
  19462.     }, e ? e.call(k, "Scroll down and click %sView advanced settings%s", "<b>", "</b>", m) : j.call(k, "l", "Scroll down and click %sView advanced settings%s", "<b>", "</b>", m));
  19463.     if (a || a === 0) {
  19464.         f += a
  19465.     }
  19466.     f += "</li><li>";
  19467.     a = (e = b.l || (k && k.l), m = {
  19468.         hash: {},
  19469.         data: h
  19470.     }, e ? e.call(k, "Under %sSearch in the address bar with%s select %sAdd New%s", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Under %sSearch in the address bar with%s select %sAdd New%s", "<b>", "</b>", "<b>", "</b>", m));
  19471.     if (a || a === 0) {
  19472.         f += a
  19473.     }
  19474.     f += "</li><li>";
  19475.     a = (e = b.l || (k && k.l), m = {
  19476.         hash: {},
  19477.         data: h
  19478.     }, e ? e.call(k, "Select %sDuckDuckGo%s and click %sAdd as default%s!", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Select %sDuckDuckGo%s and click %sAdd as default%s!", "<b>", "</b>", "<b>", "</b>", m));
  19479.     if (a || a === 0) {
  19480.         f += a
  19481.     }
  19482.     f += "</li></ol>";
  19483.     return f
  19484. });
  19485. this["DDG"]["templates"]["use_for_search_edge_android_default"] = Handlebars.template(function(c, m, b, j, i) {
  19486.     this.compilerInfo = [4, ">= 1.0.0"];
  19487.     b = this.merge(b, c.helpers);
  19488.     i = i || {};
  19489.     var g = "",
  19490.         a, e, n, f = "function",
  19491.         h = this.escapeExpression,
  19492.         k = b.helperMissing;
  19493.     g += '<div style="height:';
  19494.     if (e = b.height) {
  19495.         a = e.call(m, {
  19496.             hash: {},
  19497.             data: i
  19498.         })
  19499.     } else {
  19500.         e = (m && m.height);
  19501.         a = typeof e === f ? e.call(m, {
  19502.             hash: {},
  19503.             data: i
  19504.         }) : e
  19505.     }
  19506.     g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
  19507.     a = (e = b.l || (m && m.l), n = {
  19508.         hash: {},
  19509.         data: i
  19510.     }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
  19511.     if (a || a === 0) {
  19512.         g += a
  19513.     }
  19514.     g += '</div><div class="atb-overlay__copy">';
  19515.     a = (e = b.lp || (m && m.lp), n = {
  19516.         hash: {},
  19517.         data: i
  19518.     }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
  19519.     if (a || a === 0) {
  19520.         g += a
  19521.     }
  19522.     g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-copy-only">';
  19523.     a = (e = b.lp || (m && m.lp), n = {
  19524.         hash: {},
  19525.         data: i
  19526.     }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
  19527.     if (a || a === 0) {
  19528.         g += a
  19529.     }
  19530.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-copy-only">';
  19531.     a = (e = b.lp || (m && m.lp), n = {
  19532.         hash: {},
  19533.         data: i
  19534.     }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s, then %sDefault search engine%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s, then %sDefault search engine%s", "<b>", "</b>", "<b>", "</b>", n));
  19535.     if (a || a === 0) {
  19536.         g += a
  19537.     }
  19538.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-copy-only">';
  19539.     a = (e = b.l || (m && m.l), n = {
  19540.         hash: {},
  19541.         data: i
  19542.     }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
  19543.     if (a || a === 0) {
  19544.         g += a
  19545.     }
  19546.     g += "</div></div></div></div></div></div>";
  19547.     return g
  19548. });
  19549. this["DDG"]["templates"]["use_for_search_edge_ios_default"] = Handlebars.template(function(c, m, b, j, i) {
  19550.     this.compilerInfo = [4, ">= 1.0.0"];
  19551.     b = this.merge(b, c.helpers);
  19552.     i = i || {};
  19553.     var g = "",
  19554.         a, e, n, f = "function",
  19555.         h = this.escapeExpression,
  19556.         k = b.helperMissing;
  19557.     g += '<div style="height:';
  19558.     if (e = b.height) {
  19559.         a = e.call(m, {
  19560.             hash: {},
  19561.             data: i
  19562.         })
  19563.     } else {
  19564.         e = (m && m.height);
  19565.         a = typeof e === f ? e.call(m, {
  19566.             hash: {},
  19567.             data: i
  19568.         }) : e
  19569.     }
  19570.     g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
  19571.     a = (e = b.l || (m && m.l), n = {
  19572.         hash: {},
  19573.         data: i
  19574.     }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
  19575.     if (a || a === 0) {
  19576.         g += a
  19577.     }
  19578.     g += '</div><div class="atb-overlay__copy">';
  19579.     a = (e = b.lp || (m && m.lp), n = {
  19580.         hash: {},
  19581.         data: i
  19582.     }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
  19583.     if (a || a === 0) {
  19584.         g += a
  19585.     }
  19586.     g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-copy-only">';
  19587.     a = (e = b.lp || (m && m.lp), n = {
  19588.         hash: {},
  19589.         data: i
  19590.     }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
  19591.     if (a || a === 0) {
  19592.         g += a
  19593.     }
  19594.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-copy-only">';
  19595.     a = (e = b.lp || (m && m.lp), n = {
  19596.         hash: {},
  19597.         data: i
  19598.     }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s, then %sAdvanced settings%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s, then %sAdvanced settings%s", "<b>", "</b>", "<b>", "</b>", n));
  19599.     if (a || a === 0) {
  19600.         g += a
  19601.     }
  19602.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-copy-only">';
  19603.     a = (e = b.lp || (m && m.lp), n = {
  19604.         hash: {},
  19605.         data: i
  19606.     }, e ? e.call(m, "mobile homepage banner", "Select %sSearch engine%s, then %sOthers...%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSearch engine%s, then %sOthers...%s", "<b>", "</b>", "<b>", "</b>", n));
  19607.     if (a || a === 0) {
  19608.         g += a
  19609.     }
  19610.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">4</div></div><div class="atb-overlay__step-copy-only">';
  19611.     a = (e = b.l || (m && m.l), n = {
  19612.         hash: {},
  19613.         data: i
  19614.     }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
  19615.     if (a || a === 0) {
  19616.         g += a
  19617.     }
  19618.     g += "</div></div></div></div></div></div>";
  19619.     return g
  19620. });
  19621. this["DDG"]["templates"]["use_for_search_firefox"] = Handlebars.template(function(c, k, b, i, h) {
  19622.     this.compilerInfo = [4, ">= 1.0.0"];
  19623.     b = this.merge(b, c.helpers);
  19624.     h = h || {};
  19625.     var f = "",
  19626.         a, e, m, j = b.helperMissing,
  19627.         g = this.escapeExpression;
  19628.     f += '<ol class="add-to-browser__directions"><li>';
  19629.     a = (e = b.l || (k && k.l), m = {
  19630.         hash: {},
  19631.         data: h
  19632.     }, e ? e.call(k, "Click the magnifying glass in the search box (at the top of the browser)", m) : j.call(k, "l", "Click the magnifying glass in the search box (at the top of the browser)", m));
  19633.     if (a || a === 0) {
  19634.         f += a
  19635.     }
  19636.     f += "</li><li>";
  19637.     a = (e = b.l || (k && k.l), m = {
  19638.         hash: {},
  19639.         data: h
  19640.     }, e ? e.call(k, "Click %sChange Search Settings%s in the drop down", "<b>", "</b>", m) : j.call(k, "l", "Click %sChange Search Settings%s in the drop down", "<b>", "</b>", m));
  19641.     if (a || a === 0) {
  19642.         f += a
  19643.     }
  19644.     f += '<img class="add-to-browser__image" style="height:202px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
  19645.         hash: {},
  19646.         data: h
  19647.     }, e ? e.call(k, "/assets/add-to-browser/firefox.jpg?v=2", m) : j.call(k, "retinaImage", "/assets/add-to-browser/firefox.jpg?v=2", m))) + '" /></li><li>';
  19648.     a = (e = b.l || (k && k.l), m = {
  19649.         hash: {},
  19650.         data: h
  19651.     }, e ? e.call(k, "Select %sDuckDuckGo%s in the Default Search Engine drop down", "<b>", "</b>", m) : j.call(k, "l", "Select %sDuckDuckGo%s in the Default Search Engine drop down", "<b>", "</b>", m));
  19652.     if (a || a === 0) {
  19653.         f += a
  19654.     }
  19655.     f += "</li></ol>";
  19656.     return f
  19657. });
  19658. this["DDG"]["templates"]["use_for_search_firefox_android"] = Handlebars.template(function(c, m, b, j, i) {
  19659.     this.compilerInfo = [4, ">= 1.0.0"];
  19660.     b = this.merge(b, c.helpers);
  19661.     i = i || {};
  19662.     var g = "",
  19663.         a, e, n, f = "function",
  19664.         h = this.escapeExpression,
  19665.         k = b.helperMissing;
  19666.     g += '<div style="height:';
  19667.     if (e = b.height) {
  19668.         a = e.call(m, {
  19669.             hash: {},
  19670.             data: i
  19671.         })
  19672.     } else {
  19673.         e = (m && m.height);
  19674.         a = typeof e === f ? e.call(m, {
  19675.             hash: {},
  19676.             data: i
  19677.         }) : e
  19678.     }
  19679.     g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
  19680.     a = (e = b.l || (m && m.l), n = {
  19681.         hash: {},
  19682.         data: i
  19683.     }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
  19684.     if (a || a === 0) {
  19685.         g += a
  19686.     }
  19687.     g += '</div><div class="atb-overlay__copy">';
  19688.     a = (e = b.lp || (m && m.lp), n = {
  19689.         hash: {},
  19690.         data: i
  19691.     }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
  19692.     if (a || a === 0) {
  19693.         g += a
  19694.     }
  19695.     g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-android-menu.png" width="50" height="50" class="atb-overlay__step-cell--bg-dark" /></div><div class="atb-overlay__step-copy">';
  19696.     a = (e = b.lp || (m && m.lp), n = {
  19697.         hash: {},
  19698.         data: i
  19699.     }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
  19700.     if (a || a === 0) {
  19701.         g += a
  19702.     }
  19703.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/chrome-android-settings.png" width="50" height="50" class="atb-overlay__step-cell--bg-gray" /></div><div class="atb-overlay__step-copy">';
  19704.     a = (e = b.lp || (m && m.lp), n = {
  19705.         hash: {},
  19706.         data: i
  19707.     }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n));
  19708.     if (a || a === 0) {
  19709.         g += a
  19710.     }
  19711.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/dax.png" width="50" height="50" class="atb-overlay__step-cell--bg-dax" /></div><div class="atb-overlay__step-copy">';
  19712.     a = (e = b.l || (m && m.l), n = {
  19713.         hash: {},
  19714.         data: i
  19715.     }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
  19716.     if (a || a === 0) {
  19717.         g += a
  19718.     }
  19719.     g += "</div></div></div></div></div></div>";
  19720.     return g
  19721. });
  19722. this["DDG"]["templates"]["use_for_search_firefox_ios"] = Handlebars.template(function(c, m, b, j, i) {
  19723.     this.compilerInfo = [4, ">= 1.0.0"];
  19724.     b = this.merge(b, c.helpers);
  19725.     i = i || {};
  19726.     var g = "",
  19727.         a, e, n, f = "function",
  19728.         h = this.escapeExpression,
  19729.         k = b.helperMissing;
  19730.     g += '<div style="height:';
  19731.     if (e = b.height) {
  19732.         a = e.call(m, {
  19733.             hash: {},
  19734.             data: i
  19735.         })
  19736.     } else {
  19737.         e = (m && m.height);
  19738.         a = typeof e === f ? e.call(m, {
  19739.             hash: {},
  19740.             data: i
  19741.         }) : e
  19742.     }
  19743.     g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
  19744.     a = (e = b.l || (m && m.l), n = {
  19745.         hash: {},
  19746.         data: i
  19747.     }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
  19748.     if (a || a === 0) {
  19749.         g += a
  19750.     }
  19751.     g += '</div><div class="atb-overlay__copy">';
  19752.     a = (e = b.lp || (m && m.lp), n = {
  19753.         hash: {},
  19754.         data: i
  19755.     }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
  19756.     if (a || a === 0) {
  19757.         g += a
  19758.     }
  19759.     g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/ff_menu.png" width="50" height="50" class="atb-overlay__step-cell--bg-gray" /></div><div class="atb-overlay__step-copy">';
  19760.     a = (e = b.lp || (m && m.lp), n = {
  19761.         hash: {},
  19762.         data: i
  19763.     }, e ? e.call(m, "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sMenu%s", "<b>", "</b>", n));
  19764.     if (a || a === 0) {
  19765.         g += a
  19766.     }
  19767.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/ff_settings.png" width="50" height="50" class="atb-overlay__step-cell--bg-gray" /></div><div class="atb-overlay__step-copy">';
  19768.     a = (e = b.lp || (m && m.lp), n = {
  19769.         hash: {},
  19770.         data: i
  19771.     }, e ? e.call(m, "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %sSettings%s, then %sSearch Engine%s", "<b>", "</b>", "<b>", "</b>", n));
  19772.     if (a || a === 0) {
  19773.         g += a
  19774.     }
  19775.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/dax.png" width="50" height="50" class="atb-overlay__step-cell--bg-dax" /></div><div class="atb-overlay__step-copy">';
  19776.     a = (e = b.l || (m && m.l), n = {
  19777.         hash: {},
  19778.         data: i
  19779.     }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
  19780.     if (a || a === 0) {
  19781.         g += a
  19782.     }
  19783.     g += "</div></div></div></div></div></div>";
  19784.     return g
  19785. });
  19786. this["DDG"]["templates"]["use_for_search_firefox_old"] = Handlebars.template(function(c, k, b, i, h) {
  19787.     this.compilerInfo = [4, ">= 1.0.0"];
  19788.     b = this.merge(b, c.helpers);
  19789.     h = h || {};
  19790.     var f = "",
  19791.         a, e, m, j = b.helperMissing,
  19792.         g = this.escapeExpression;
  19793.     f += '<ol class="add-to-browser__directions"><li class="has-btn">';
  19794.     a = (e = b.l || (k && k.l), m = {
  19795.         hash: {},
  19796.         data: h
  19797.     }, e ? e.call(k, "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline js-btn-nui">', "</a>", m) : j.call(k, "l", "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline js-btn-nui">', "</a>", m));
  19798.     if (a || a === 0) {
  19799.         f += a
  19800.     }
  19801.     f += "</li><li>";
  19802.     a = (e = b.l || (k && k.l), m = {
  19803.         hash: {},
  19804.         data: h
  19805.     }, e ? e.call(k, "Check %sMake this the current search engine%s", "<b>", "</b>", m) : j.call(k, "l", "Check %sMake this the current search engine%s", "<b>", "</b>", m));
  19806.     if (a || a === 0) {
  19807.         f += a
  19808.     }
  19809.     f += '<img class="add-to-browser__image" style="height:219px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
  19810.         hash: {},
  19811.         data: h
  19812.     }, e ? e.call(k, "/assets/add-to-browser/firefox_old.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/firefox_old.jpg", m))) + '" /></li><li>';
  19813.     a = (e = b.l || (k && k.l), m = {
  19814.         hash: {},
  19815.         data: h
  19816.     }, e ? e.call(k, "Click %sAdd%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sAdd%s", "<b>", "</b>", m));
  19817.     if (a || a === 0) {
  19818.         f += a
  19819.     }
  19820.     f += "</li></ol>";
  19821.     return f
  19822. });
  19823. this["DDG"]["templates"]["use_for_search_ie"] = Handlebars.template(function(c, k, b, i, h) {
  19824.     this.compilerInfo = [4, ">= 1.0.0"];
  19825.     b = this.merge(b, c.helpers);
  19826.     h = h || {};
  19827.     var f = "",
  19828.         a, e, m, j = b.helperMissing,
  19829.         g = this.escapeExpression;
  19830.     f += '<ol class="add-to-browser__directions"><li class="has-btn">';
  19831.     a = (e = b.l || (k && k.l), m = {
  19832.         hash: {},
  19833.         data: h
  19834.     }, e ? e.call(k, "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline js-btn-nui">', "</a>", m) : j.call(k, "l", "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline js-btn-nui">', "</a>", m));
  19835.     if (a || a === 0) {
  19836.         f += a
  19837.     }
  19838.     f += "</li><li>";
  19839.     a = (e = b.l || (k && k.l), m = {
  19840.         hash: {},
  19841.         data: h
  19842.     }, e ? e.call(k, 'Make sure to check %s"Make this my default search provider"%s', "<b>", "</b>", m) : j.call(k, "l", 'Make sure to check %s"Make this my default search provider"%s', "<b>", "</b>", m));
  19843.     if (a || a === 0) {
  19844.         f += a
  19845.     }
  19846.     f += '<img class="add-to-browser__image" style="height:200.5px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
  19847.         hash: {},
  19848.         data: h
  19849.     }, e ? e.call(k, "/assets/add-to-browser/ie.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/ie.jpg", m))) + '" /></li><li>';
  19850.     a = (e = b.l || (k && k.l), m = {
  19851.         hash: {},
  19852.         data: h
  19853.     }, e ? e.call(k, "Click %sAdd%s", "<b>", "</b>", m) : j.call(k, "l", "Click %sAdd%s", "<b>", "</b>", m));
  19854.     if (a || a === 0) {
  19855.         f += a
  19856.     }
  19857.     f += "</li></ol>";
  19858.     return f
  19859. });
  19860. this["DDG"]["templates"]["use_for_search_ios8"] = Handlebars.template(function(c, m, b, j, i) {
  19861.     this.compilerInfo = [4, ">= 1.0.0"];
  19862.     b = this.merge(b, c.helpers);
  19863.     i = i || {};
  19864.     var g = "",
  19865.         a, e, n, f = "function",
  19866.         h = this.escapeExpression,
  19867.         k = b.helperMissing;
  19868.     g += '<div style="height:';
  19869.     if (e = b.height) {
  19870.         a = e.call(m, {
  19871.             hash: {},
  19872.             data: i
  19873.         })
  19874.     } else {
  19875.         e = (m && m.height);
  19876.         a = typeof e === f ? e.call(m, {
  19877.             hash: {},
  19878.             data: i
  19879.         }) : e
  19880.     }
  19881.     g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
  19882.     a = (e = b.l || (m && m.l), n = {
  19883.         hash: {},
  19884.         data: i
  19885.     }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
  19886.     if (a || a === 0) {
  19887.         g += a
  19888.     }
  19889.     g += '</div><div class="atb-overlay__copy">';
  19890.     a = (e = b.lp || (m && m.lp), n = {
  19891.         hash: {},
  19892.         data: i
  19893.     }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
  19894.     if (a || a === 0) {
  19895.         g += a
  19896.     }
  19897.     g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/ios-settings-icon-small.png" width="50" height="50" /></div><div class="atb-overlay__step-copy">';
  19898.     a = (e = b.lp || (m && m.lp), n = {
  19899.         hash: {},
  19900.         data: i
  19901.     }, e ? e.call(m, "mobile homepage banner", "Open %sSettings%s", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Open %sSettings%s", "<b>", "</b>", n));
  19902.     if (a || a === 0) {
  19903.         g += a
  19904.     }
  19905.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/ios-safari-icon.png" width="50" height="50" /></div><div class="atb-overlay__step-copy">';
  19906.     a = (e = b.lp || (m && m.lp), n = {
  19907.         hash: {},
  19908.         data: i
  19909.     }, e ? e.call(m, "mobile homepage banner", "Select %s%s%s, then %sSearch Engine%s", "<b>", (m && m.displayBrowserName), "</b>", "<b>", "</b>", n) : k.call(m, "lp", "mobile homepage banner", "Select %s%s%s, then %sSearch Engine%s", "<b>", (m && m.displayBrowserName), "</b>", "<b>", "</b>", n));
  19910.     if (a || a === 0) {
  19911.         g += a
  19912.     }
  19913.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/ios-safari-checked.png" width="50" height="50" /></div><div class="atb-overlay__step-copy">';
  19914.     a = (e = b.l || (m && m.l), n = {
  19915.         hash: {},
  19916.         data: i
  19917.     }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
  19918.     if (a || a === 0) {
  19919.         g += a
  19920.     }
  19921.     g += "</div></div></div></div></div></div>";
  19922.     return g
  19923. });
  19924. this["DDG"]["templates"]["use_for_search_ios8_cppm"] = Handlebars.template(function(c, k, b, j, i) {
  19925.     this.compilerInfo = [4, ">= 1.0.0"];
  19926.     b = this.merge(b, c.helpers);
  19927.     i = i || {};
  19928.     var g = "",
  19929.         a, e, f = "function",
  19930.         h = this.escapeExpression;
  19931.     g += '<div class="js-use-for-search-ios8-cppm"  style="height:';
  19932.     if (e = b.height) {
  19933.         a = e.call(k, {
  19934.             hash: {},
  19935.             data: i
  19936.         })
  19937.     } else {
  19938.         e = (k && k.height);
  19939.         a = typeof e === f ? e.call(k, {
  19940.             hash: {},
  19941.             data: i
  19942.         }) : e
  19943.     }
  19944.     g += h(a) + 'px;"></div>';
  19945.     return g
  19946. });
  19947. this["DDG"]["templates"]["use_for_search_maxthon"] = Handlebars.template(function(c, j, b, h, g) {
  19948.     this.compilerInfo = [4, ">= 1.0.0"];
  19949.     b = this.merge(b, c.helpers);
  19950.     g = g || {};
  19951.     var f = "",
  19952.         a, e, k, i = b.helperMissing;
  19953.     f += '<ol class="add-to-browser__directions"><li>';
  19954.     a = (e = b.l || (j && j.l), k = {
  19955.         hash: {},
  19956.         data: g
  19957.     }, e ? e.call(j, "Go to Options.", k) : i.call(j, "l", "Go to Options.", k));
  19958.     if (a || a === 0) {
  19959.         f += a
  19960.     }
  19961.     f += "</li><li>";
  19962.     a = (e = b.l || (j && j.l), k = {
  19963.         hash: {},
  19964.         data: g
  19965.     }, e ? e.call(j, "Go to Search Engine.", k) : i.call(j, "l", "Go to Search Engine.", k));
  19966.     if (a || a === 0) {
  19967.         f += a
  19968.     }
  19969.     f += "</li><li>";
  19970.     a = (e = b.l || (j && j.l), k = {
  19971.         hash: {},
  19972.         data: g
  19973.     }, e ? e.call(j, "Click add.", k) : i.call(j, "l", "Click add.", k));
  19974.     if (a || a === 0) {
  19975.         f += a
  19976.     }
  19977.     f += "</li><li>";
  19978.     a = (e = b.l || (j && j.l), k = {
  19979.         hash: {},
  19980.         data: g
  19981.     }, e ? e.call(j, "Enter the following details: %sName%s: DuckDuckGo%s URL%s: %s Alias%s: d%s", "<ol><li><b>", "</b>", "</li><li><b>", "</b>", "https://duckduckgo.com/?q=%s</li><li><b>", "</b>", "</li></ol>", k) : i.call(j, "l", "Enter the following details: %sName%s: DuckDuckGo%s URL%s: %s Alias%s: d%s", "<ol><li><b>", "</b>", "</li><li><b>", "</b>", "https://duckduckgo.com/?q=%s</li><li><b>", "</b>", "</li></ol>", k));
  19982.     if (a || a === 0) {
  19983.         f += a
  19984.     }
  19985.     f += "</li><li>";
  19986.     a = (e = b.l || (j && j.l), k = {
  19987.         hash: {},
  19988.         data: g
  19989.     }, e ? e.call(j, "Click OK.", k) : i.call(j, "l", "Click OK.", k));
  19990.     if (a || a === 0) {
  19991.         f += a
  19992.     }
  19993.     f += "</li></ol>";
  19994.     return f
  19995. });
  19996. this["DDG"]["templates"]["use_for_search_opera"] = Handlebars.template(function(c, k, b, i, h) {
  19997.     this.compilerInfo = [4, ">= 1.0.0"];
  19998.     b = this.merge(b, c.helpers);
  19999.     h = h || {};
  20000.     var f = "",
  20001.         a, e, m, j = b.helperMissing,
  20002.         g = this.escapeExpression;
  20003.     f += '<ol class="add-to-browser__directions"><li>';
  20004.     a = (e = b.l || (k && k.l), m = {
  20005.         hash: {},
  20006.         data: h
  20007.     }, e ? e.call(k, "Select %sOpera > Preferences%s (on Mac) or %sMenu > Settings%s (on Windows)", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Select %sOpera > Preferences%s (on Mac) or %sMenu > Settings%s (on Windows)", "<b>", "</b>", "<b>", "</b>", m));
  20008.     if (a || a === 0) {
  20009.         f += a
  20010.     }
  20011.     f += "</li><li>";
  20012.     a = (e = b.l || (k && k.l), m = {
  20013.         hash: {},
  20014.         data: h
  20015.     }, e ? e.call(k, "Click on %sBrowser%s in the sidebar", "<b>", "</b>", m) : j.call(k, "l", "Click on %sBrowser%s in the sidebar", "<b>", "</b>", m));
  20016.     if (a || a === 0) {
  20017.         f += a
  20018.     }
  20019.     f += "</li><li>";
  20020.     a = (e = b.l || (k && k.l), m = {
  20021.         hash: {},
  20022.         data: h
  20023.     }, e ? e.call(k, "Under Search click the drop down and select %sDuckDuckGo%s", "<b>", "</b>", m) : j.call(k, "l", "Under Search click the drop down and select %sDuckDuckGo%s", "<b>", "</b>", m));
  20024.     if (a || a === 0) {
  20025.         f += a
  20026.     }
  20027.     f += '</li></ol><img class="add-to-browser__image" style="height:118px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
  20028.         hash: {},
  20029.         data: h
  20030.     }, e ? e.call(k, "/assets/add-to-browser/opera.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/opera.jpg", m))) + '" />';
  20031.     return f
  20032. });
  20033. this["DDG"]["templates"]["use_for_search_palemoon"] = Handlebars.template(function(c, k, b, i, h) {
  20034.     this.compilerInfo = [4, ">= 1.0.0"];
  20035.     b = this.merge(b, c.helpers);
  20036.     h = h || {};
  20037.     var f = "",
  20038.         a, e, m, j = b.helperMissing,
  20039.         g = this.escapeExpression;
  20040.     f += '<ol class="add-to-browser__directions"><li class="has-btn">';
  20041.     a = (e = b.l || (k && k.l), m = {
  20042.         hash: {},
  20043.         data: h
  20044.     }, e ? e.call(k, "Click the drop down in the search box", m) : j.call(k, "l", "Click the drop down in the search box", m));
  20045.     if (a || a === 0) {
  20046.         f += a
  20047.     }
  20048.     f += '<img class="add-to-browser__image" style="height:137px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
  20049.         hash: {},
  20050.         data: h
  20051.     }, e ? e.call(k, "/assets/add-to-browser/palemoon.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/palemoon.jpg", m))) + '" /></li><li>';
  20052.     a = (e = b.l || (k && k.l), m = {
  20053.         hash: {},
  20054.         data: h
  20055.     }, e ? e.call(k, "Selected %sDuckDuckGo%s", "<b>", "</b>", m) : j.call(k, "l", "Selected %sDuckDuckGo%s", "<b>", "</b>", m));
  20056.     if (a || a === 0) {
  20057.         f += a
  20058.     }
  20059.     f += "</li></ol>";
  20060.     return f
  20061. });
  20062. this["DDG"]["templates"]["use_for_search_safari"] = Handlebars.template(function(c, k, b, i, h) {
  20063.     this.compilerInfo = [4, ">= 1.0.0"];
  20064.     b = this.merge(b, c.helpers);
  20065.     h = h || {};
  20066.     var f = "",
  20067.         a, e, m, j = b.helperMissing,
  20068.         g = this.escapeExpression;
  20069.     f += '<ol class="add-to-browser__directions"><li>';
  20070.     a = (e = b.l || (k && k.l), m = {
  20071.         hash: {},
  20072.         data: h
  20073.     }, e ? e.call(k, "Open a new tab or window", m) : j.call(k, "l", "Open a new tab or window", m));
  20074.     if (a || a === 0) {
  20075.         f += a
  20076.     }
  20077.     f += "</li><li>";
  20078.     a = (e = b.l || (k && k.l), m = {
  20079.         hash: {},
  20080.         data: h
  20081.     }, e ? e.call(k, "Click the magnifying glass in the search bar", m) : j.call(k, "l", "Click the magnifying glass in the search bar", m));
  20082.     if (a || a === 0) {
  20083.         f += a
  20084.     }
  20085.     f += "</li><li>";
  20086.     a = (e = b.l || (k && k.l), m = {
  20087.         hash: {},
  20088.         data: h
  20089.     }, e ? e.call(k, "Select DuckDuckGo!", m) : j.call(k, "l", "Select DuckDuckGo!", m));
  20090.     if (a || a === 0) {
  20091.         f += a
  20092.     }
  20093.     f += '</li></ol><img class="add-to-browser__image" style="height:118px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
  20094.         hash: {},
  20095.         data: h
  20096.     }, e ? e.call(k, "/assets/add-to-browser/safari.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/safari.jpg", m))) + '" />';
  20097.     return f
  20098. });
  20099. this["DDG"]["templates"]["use_for_search_safari_old"] = Handlebars.template(function(c, j, b, h, g) {
  20100.     this.compilerInfo = [4, ">= 1.0.0"];
  20101.     b = this.merge(b, c.helpers);
  20102.     g = g || {};
  20103.     var f = "",
  20104.         a, e, k, i = b.helperMissing;
  20105.     f += '<ol class="add-to-browser__directions"><li class="has-btn">';
  20106.     a = (e = b.l || (j && j.l), k = {
  20107.         hash: {},
  20108.         data: g
  20109.     }, e ? e.call(j, "Click %sHere%s to download the DuckDuckGo extension", '<a class="btn btn--primary btn--inline" href="https://duckduckgo.com/extensions/duckduckgo.safariextz">', "</a>", k) : i.call(j, "l", "Click %sHere%s to download the DuckDuckGo extension", '<a class="btn btn--primary btn--inline" href="https://duckduckgo.com/extensions/duckduckgo.safariextz">', "</a>", k));
  20110.     if (a || a === 0) {
  20111.         f += a
  20112.     }
  20113.     f += "</li><li>";
  20114.     a = (e = b.l || (j && j.l), k = {
  20115.         hash: {},
  20116.         data: g
  20117.     }, e ? e.call(j, "After it downloads, locate the extension file and double-click it to install", k) : i.call(j, "l", "After it downloads, locate the extension file and double-click it to install", k));
  20118.     if (a || a === 0) {
  20119.         f += a
  20120.     }
  20121.     f += "</li></ol>";
  20122.     return f
  20123. });
  20124. this["DDG"]["templates"]["use_for_search_safari_windows"] = Handlebars.template(function(c, j, b, h, g) {
  20125.     this.compilerInfo = [4, ">= 1.0.0"];
  20126.     b = this.merge(b, c.helpers);
  20127.     g = g || {};
  20128.     var f = "",
  20129.         a, e, k, i = b.helperMissing;
  20130.     f += '<ol class="add-to-browser__directions"><li class="has-btn">';
  20131.     a = (e = b.l || (j && j.l), k = {
  20132.         hash: {},
  20133.         data: g
  20134.     }, e ? e.call(j, "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline" href="https://duckduckgo.com/extensions/duckduckgo.safariextz" target="com.duckduckgo.safari-HKE973VLUW">', "</a>", k) : i.call(j, "l", "Click %sHere%s to add us as a search engine", '<a class="btn btn--primary btn--inline" href="https://duckduckgo.com/extensions/duckduckgo.safariextz" target="com.duckduckgo.safari-HKE973VLUW">', "</a>", k));
  20135.     if (a || a === 0) {
  20136.         f += a
  20137.     }
  20138.     f += "</li><li>";
  20139.     a = (e = b.l || (j && j.l), k = {
  20140.         hash: {},
  20141.         data: g
  20142.     }, e ? e.call(j, "Click %sOpen%s to download and open the DuckDuckGo Safari extension", "<b>", "</b>", k) : i.call(j, "l", "Click %sOpen%s to download and open the DuckDuckGo Safari extension", "<b>", "</b>", k));
  20143.     if (a || a === 0) {
  20144.         f += a
  20145.     }
  20146.     f += "</li><li>";
  20147.     a = (e = b.l || (j && j.l), k = {
  20148.         hash: {},
  20149.         data: g
  20150.     }, e ? e.call(j, "After it downloads and opens, click %sInstall%s", "<b>", "</b>", k) : i.call(j, "l", "After it downloads and opens, click %sInstall%s", "<b>", "</b>", k));
  20151.     if (a || a === 0) {
  20152.         f += a
  20153.     }
  20154.     f += "</li><li>";
  20155.     a = (e = b.l || (j && j.l), k = {
  20156.         hash: {},
  20157.         data: g
  20158.     }, e ? e.call(j, "Click the Duck icon at the top of your browser to search!", k) : i.call(j, "l", "Click the Duck icon at the top of your browser to search!", k));
  20159.     if (a || a === 0) {
  20160.         f += a
  20161.     }
  20162.     f += "</li></ol>";
  20163.     return f
  20164. });
  20165. this["DDG"]["templates"]["use_for_search_seamonkey"] = Handlebars.template(function(c, k, b, i, h) {
  20166.     this.compilerInfo = [4, ">= 1.0.0"];
  20167.     b = this.merge(b, c.helpers);
  20168.     h = h || {};
  20169.     var f = "",
  20170.         a, e, m, j = b.helperMissing,
  20171.         g = this.escapeExpression;
  20172.     f += '<ol class="add-to-browser__directions"><li>';
  20173.     a = (e = b.l || (k && k.l), m = {
  20174.         hash: {},
  20175.         data: h
  20176.     }, e ? e.call(k, "Click %sEdit > Preferences%s (on Windows) %sSeaMonkey > Preferences%s (on Mac)", "<b>", "</b>", "<b>", "</b>", m) : j.call(k, "l", "Click %sEdit > Preferences%s (on Windows) %sSeaMonkey > Preferences%s (on Mac)", "<b>", "</b>", "<b>", "</b>", m));
  20177.     if (a || a === 0) {
  20178.         f += a
  20179.     }
  20180.     f += "</li><li>";
  20181.     a = (e = b.l || (k && k.l), m = {
  20182.         hash: {},
  20183.         data: h
  20184.     }, e ? e.call(k, "In the side menu select %sInternet Search%s", "<b>", "</b>", m) : j.call(k, "l", "In the side menu select %sInternet Search%s", "<b>", "</b>", m));
  20185.     if (a || a === 0) {
  20186.         f += a
  20187.     }
  20188.     f += "</li><li>";
  20189.     a = (e = b.l || (k && k.l), m = {
  20190.         hash: {},
  20191.         data: h
  20192.     }, e ? e.call(k, "In the drop down select %sDuckDuckGo%s!", "<b>", "</b>", m) : j.call(k, "l", "In the drop down select %sDuckDuckGo%s!", "<b>", "</b>", m));
  20193.     if (a || a === 0) {
  20194.         f += a
  20195.     }
  20196.     f += '</li></ol><img class="add-to-browser__image" style="height:118px;" src="' + g((e = b.retinaImage || (k && k.retinaImage), m = {
  20197.         hash: {},
  20198.         data: h
  20199.     }, e ? e.call(k, "/assets/add-to-browser/seamonkey.jpg", m) : j.call(k, "retinaImage", "/assets/add-to-browser/seamonkey.jpg", m))) + '" />';
  20200.     return f
  20201. });
  20202. this["DDG"]["templates"]["use_for_search_uc_browser_mobile"] = Handlebars.template(function(c, m, b, j, i) {
  20203.     this.compilerInfo = [4, ">= 1.0.0"];
  20204.     b = this.merge(b, c.helpers);
  20205.     i = i || {};
  20206.     var g = "",
  20207.         a, e, n, f = "function",
  20208.         h = this.escapeExpression,
  20209.         k = b.helperMissing;
  20210.     g += '<div style="height:';
  20211.     if (e = b.height) {
  20212.         a = e.call(m, {
  20213.             hash: {},
  20214.             data: i
  20215.         })
  20216.     } else {
  20217.         e = (m && m.height);
  20218.         a = typeof e === f ? e.call(m, {
  20219.             hash: {},
  20220.             data: i
  20221.         }) : e
  20222.     }
  20223.     g += h(a) + 'px;"><div class="ddgsi badge-link__close atb-overlay__close">×</div><div class="atb-overlay"><div class="atb-overlay__panel"><img class="atb-overlay__image" src="assets/onboarding/[email protected]" height="120"><div class="atb-overlay__title">';
  20224.     a = (e = b.l || (m && m.l), n = {
  20225.         hash: {},
  20226.         data: i
  20227.     }, e ? e.call(m, "Take Back Your Privacy!", n) : k.call(m, "l", "Take Back Your Privacy!", n));
  20228.     if (a || a === 0) {
  20229.         g += a
  20230.     }
  20231.     g += '</div><div class="atb-overlay__copy">';
  20232.     a = (e = b.lp || (m && m.lp), n = {
  20233.         hash: {},
  20234.         data: i
  20235.     }, e ? e.call(m, "homepage onboarding", "We don't store your personal info or track you. Ever.", n) : k.call(m, "lp", "homepage onboarding", "We don't store your personal info or track you. Ever.", n));
  20236.     if (a || a === 0) {
  20237.         g += a
  20238.     }
  20239.     g += '</div><div class="atb-overlay__steps"><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">1</div></div><div class="atb-overlay__step-cell"><img src="/assets/add-to-browser/google.png" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
  20240.     a = (e = b.l || (m && m.l), n = {
  20241.         hash: {},
  20242.         data: i
  20243.     }, e ? e.call(m, "Click the Search Engine Icon in the Address Bar.", n) : k.call(m, "l", "Click the Search Engine Icon in the Address Bar.", n));
  20244.     if (a || a === 0) {
  20245.         g += a
  20246.     }
  20247.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">2</div></div><div class="atb-overlay__step-cell"><img src="/assets/add-to-browser/google-arrow.png" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
  20248.     a = (e = b.l || (m && m.l), n = {
  20249.         hash: {},
  20250.         data: i
  20251.     }, e ? e.call(m, "Click the Expand Icon.", n) : k.call(m, "l", "Click the Expand Icon.", n));
  20252.     if (a || a === 0) {
  20253.         g += a
  20254.     }
  20255.     g += '</div></div><div class="atb-overlay__step"><div class="atb-overlay__step-cell"><div class="atb-overlay__step-number">3</div></div><div class="atb-overlay__step-cell"><img src="/assets/add-to-browser/ddg-logo.svg" width="50" height="50" class="atb-overlay__step-cell--bg" /></div><div class="atb-overlay__step-copy">';
  20256.     a = (e = b.l || (m && m.l), n = {
  20257.         hash: {},
  20258.         data: i
  20259.     }, e ? e.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", n) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", n));
  20260.     if (a || a === 0) {
  20261.         g += a
  20262.     }
  20263.     g += "</div></div></div></div></div></div>";
  20264.     return g
  20265. });
  20266. this["DDG"]["templates"]["use_for_search_vivaldi"] = Handlebars.template(function(e, m, c, j, i) {
  20267.     this.compilerInfo = [4, ">= 1.0.0"];
  20268.     c = this.merge(c, e.helpers);
  20269.     i = i || {};
  20270.     var g = "",
  20271.         a, f, o, k = c.helperMissing,
  20272.         n = this,
  20273.         h = this.escapeExpression;
  20274.  
  20275.     function b(q, p) {
  20276.         return '<li><a href="https://chrome.google.com/webstore/detail/duckduckgo-privacy-essent/bkdgflcldnnnapblkhphbgpggdiikppg" target="_blank">Install DuckDuckGo Privacy Essentials</a></li>'
  20277.     }
  20278.     g += '<ol class="add-to-browser__directions"><li>';
  20279.     a = (f = c.l || (m && m.l), o = {
  20280.         hash: {},
  20281.         data: i
  20282.     }, f ? f.call(m, "Click on the magnifying glass in the search box at the top right", o) : k.call(m, "l", "Click on the magnifying glass in the search box at the top right", o));
  20283.     if (a || a === 0) {
  20284.         g += a
  20285.     }
  20286.     g += "</li><li>";
  20287.     a = (f = c.l || (m && m.l), o = {
  20288.         hash: {},
  20289.         data: i
  20290.     }, f ? f.call(m, "Select %sDuckDuckGo%s!", "<b>", "</b>", o) : k.call(m, "l", "Select %sDuckDuckGo%s!", "<b>", "</b>", o));
  20291.     if (a || a === 0) {
  20292.         g += a
  20293.     }
  20294.     g += "</li>";
  20295.     a = c["if"].call(m, (m && m.showExtensionLink), {
  20296.         hash: {},
  20297.         inverse: n.noop,
  20298.         fn: n.program(1, b, i),
  20299.         data: i
  20300.     });
  20301.     if (a || a === 0) {
  20302.         g += a
  20303.     }
  20304.     g += '</ol><img class="add-to-browser__image" style="height:145px;" src="' + h((f = c.retinaImage || (m && m.retinaImage), o = {
  20305.         hash: {},
  20306.         data: i
  20307.     }, f ? f.call(m, "/assets/add-to-browser/vivaldi.jpg", o) : k.call(m, "retinaImage", "/assets/add-to-browser/vivaldi.jpg", o))) + '" />';
  20308.     return g
  20309. });
  20310. this["DDG"] = this["DDG"] || {};
  20311. this["DDG"]["templates"] = this["DDG"]["templates"] || {};
  20312. this["DDG"]["templates"]["theme_autocomplete"] = Handlebars.template(function(c, k, b, j, i) {
  20313.     this.compilerInfo = [4, ">= 1.0.0"];
  20314.     b = this.merge(b, c.helpers);
  20315.     i = i || {};
  20316.     var g = "",
  20317.         a, e, f = "function",
  20318.         h = this.escapeExpression;
  20319.     g += ".search__autocomplete {border-color: ";
  20320.     if (e = b.bg) {
  20321.         a = e.call(k, {
  20322.             hash: {},
  20323.             data: i
  20324.         })
  20325.     } else {
  20326.         e = (k && k.bg);
  20327.         a = typeof e === f ? e.call(k, {
  20328.             hash: {},
  20329.             data: i
  20330.         }) : e
  20331.     }
  20332.     g += h(a) + ";background: ";
  20333.     if (e = b.bg) {
  20334.         a = e.call(k, {
  20335.             hash: {},
  20336.             data: i
  20337.         })
  20338.     } else {
  20339.         e = (k && k.bg);
  20340.         a = typeof e === f ? e.call(k, {
  20341.             hash: {},
  20342.             data: i
  20343.         }) : e
  20344.     }
  20345.     g += h(a) + ";border-top: 1px solid ";
  20346.     if (e = b.border) {
  20347.         a = e.call(k, {
  20348.             hash: {},
  20349.             data: i
  20350.         })
  20351.     } else {
  20352.         e = (k && k.border);
  20353.         a = typeof e === f ? e.call(k, {
  20354.             hash: {},
  20355.             data: i
  20356.         }) : e
  20357.     }
  20358.     g += h(a) + ";}.acp-footer {border: 1px solid ";
  20359.     if (e = b.bg) {
  20360.         a = e.call(k, {
  20361.             hash: {},
  20362.             data: i
  20363.         })
  20364.     } else {
  20365.         e = (k && k.bg);
  20366.         a = typeof e === f ? e.call(k, {
  20367.             hash: {},
  20368.             data: i
  20369.         }) : e
  20370.     }
  20371.     g += h(a) + ";}.acp-wrap, .acp-footer {background-color: ";
  20372.     if (e = b.bg) {
  20373.         a = e.call(k, {
  20374.             hash: {},
  20375.             data: i
  20376.         })
  20377.     } else {
  20378.         e = (k && k.bg);
  20379.         a = typeof e === f ? e.call(k, {
  20380.             hash: {},
  20381.             data: i
  20382.         }) : e
  20383.     }
  20384.     g += h(a) + ";border-color: ";
  20385.     if (e = b.bg) {
  20386.         a = e.call(k, {
  20387.             hash: {},
  20388.             data: i
  20389.         })
  20390.     } else {
  20391.         e = (k && k.bg);
  20392.         a = typeof e === f ? e.call(k, {
  20393.             hash: {},
  20394.             data: i
  20395.         }) : e
  20396.     }
  20397.     g += h(a) + ";}.acp-wrap__column.acp-wrap__column--left {border-color: ";
  20398.     if (e = b.border) {
  20399.         a = e.call(k, {
  20400.             hash: {},
  20401.             data: i
  20402.         })
  20403.     } else {
  20404.         e = (k && k.border);
  20405.         a = typeof e === f ? e.call(k, {
  20406.             hash: {},
  20407.             data: i
  20408.         }) : e
  20409.     }
  20410.     g += h(a) + ";}.acp,.acp--bang,.acp__detail,.acp-footer .acp-footer__instructions {color: ";
  20411.     if (e = b.darkText) {
  20412.         a = e.call(k, {
  20413.             hash: {},
  20414.             data: i
  20415.         })
  20416.     } else {
  20417.         e = (k && k.darkText);
  20418.         a = typeof e === f ? e.call(k, {
  20419.             hash: {},
  20420.             data: i
  20421.         }) : e
  20422.     }
  20423.     g += h(a) + ";}.acp,.acp--bang,.acp strong,.acp--bang .acp--bang__phrase,.acp--highlight.acp--bang .acp--bang__phrase,.acp--highlight.acp--bang .acp--bang__snippet {color: ";
  20424.     if (e = b.lightText) {
  20425.         a = e.call(k, {
  20426.             hash: {},
  20427.             data: i
  20428.         })
  20429.     } else {
  20430.         e = (k && k.lightText);
  20431.         a = typeof e === f ? e.call(k, {
  20432.             hash: {},
  20433.             data: i
  20434.         }) : e
  20435.     }
  20436.     g += h(a) + ";}.acp--highlight {background-color: ";
  20437.     if (e = b.selectedBg) {
  20438.         a = e.call(k, {
  20439.             hash: {},
  20440.             data: i
  20441.         })
  20442.     } else {
  20443.         e = (k && k.selectedBg);
  20444.         a = typeof e === f ? e.call(k, {
  20445.             hash: {},
  20446.             data: i
  20447.         }) : e
  20448.     }
  20449.     g += h(a) + ";}.is-mobile.is-mobile-header-exp .acp-wrap {border: none;}";
  20450.     return g
  20451. });
  20452. this["DDG"]["templates"]["theme_background"] = Handlebars.template(function(f, n, e, m, k) {
  20453.     this.compilerInfo = [4, ">= 1.0.0"];
  20454.     e = this.merge(e, f.helpers);
  20455.     k = k || {};
  20456.     var i = "",
  20457.         b, g, h = "function",
  20458.         j = this.escapeExpression,
  20459.         p = this;
  20460.  
  20461.     function c(u, t) {
  20462.         var q = "",
  20463.             r, s;
  20464.         q += ".is-mobile .results_links_deep, .is-mobile .results_links,.is-mobile .result--news {background: ";
  20465.         if (s = e.bgTint2) {
  20466.             r = s.call(u, {
  20467.                 hash: {},
  20468.                 data: t
  20469.             })
  20470.         } else {
  20471.             s = (u && u.bgTint2);
  20472.             r = typeof s === h ? s.call(u, {
  20473.                 hash: {},
  20474.                 data: t
  20475.             }) : s
  20476.         }
  20477.         q += j(r) + ";border-color: transparent;border-bottom-color: transparent;box-shadow: 0 1px 3px rgba(0,0,0,0.5);}";
  20478.         return q
  20479.     }
  20480.  
  20481.     function a(r, q) {
  20482.         return ".modal--popover.is-showing,.modal--popover--gray.is-showing {background: rgba(0,0,0,0.6); }"
  20483.     }
  20484.  
  20485.     function o(u, t) {
  20486.         var q = "",
  20487.             r, s;
  20488.         q += ".modal--popover.is-showing,.modal--popover--gray.is-showing {background: rgba(0,0,0,0.6); }.results--powered,.mapboxgl-ctrl.mapboxgl-ctrl-scale,.mapboxgl-ctrl.mapboxgl-ctrl-attrib,.mapkit-static__attribution {background-color: rgba(";
  20489.         if (s = e.rgbBg) {
  20490.             r = s.call(u, {
  20491.                 hash: {},
  20492.                 data: t
  20493.             })
  20494.         } else {
  20495.             s = (u && u.rgbBg);
  20496.             r = typeof s === h ? s.call(u, {
  20497.                 hash: {},
  20498.                 data: t
  20499.             }) : s
  20500.         }
  20501.         q += j(r) + ",0.85);}";
  20502.         return q
  20503.     }
  20504.     i += "html,body,.body--home,.site-wrapper,.region__body,.badge-link,.module--carousel__image-wrapper,.result__image,.vertical--map__sidebar,.vertical--map__sidebar__header,.page-chrome_newtab,.zci--images:not(.is-fallback).is-expanded,.zci--videos.is-expanded,.zci--images:not(.is-fallback) .metabar:not(.is-stuck),.zci--videos.is-expanded .metabar:not(.is-stuck) {background-color: ";
  20505.     if (g = e.bg) {
  20506.         b = g.call(n, {
  20507.             hash: {},
  20508.             data: k
  20509.         })
  20510.     } else {
  20511.         g = (n && n.bg);
  20512.         b = typeof g === h ? g.call(n, {
  20513.             hash: {},
  20514.             data: k
  20515.         }) : g
  20516.     }
  20517.     i += j(b) + ";}.results,.results--powered,.results--ads--rrail,.result__extras__url,.msg,.dropdown .dropdown__button,.dropdown--region.has-inactive-region .dropdown__button,.dir-btn .btn.dir-btn__link:hover,.dropdown--region.has-inactive-region .dropdown__button:after,.dropdown:hover .dropdown__button,.dropdown.is-active:hover .dropdown__button,.dropdown.dropdown--location .dropdown__button,.nav-menu__feedback__icon:hover,.nav-menu__feedback__icon:focus,.feedback-btn__icon:hover,.feedback-btn__send:hover,.feedback-btn__icon:focus,.feedback-btn__send:focus,.address-detail__name,.address-detail__name:hover,.address-detail__name:active,.address-detail__name:focus,.address-detail__name:visited,.address-detail .btn.btn--primary:hover,.vertical--map__sidebar,.set-main .frm__desc,.tag-home,.about-info-box__info-label,.about-info-box__info-value,.modal__box,.place-detail,.review__rating-date,.place-list-item__info__item,.module--carousel-products .module--carousel__footer,.forecast-wrapper .module--forecast .module__weather-warning:visited:not(.module__weather-warning--red) {color: ";
  20518.     if (g = e.textTint) {
  20519.         b = g.call(n, {
  20520.             hash: {},
  20521.             data: k
  20522.         })
  20523.     } else {
  20524.         g = (n && n.textTint);
  20525.         b = typeof g === h ? g.call(n, {
  20526.             hash: {},
  20527.             data: k
  20528.         }) : g
  20529.     }
  20530.     i += j(b) + ";}.switch:not(.is-on) .switch__knob,.modal--dropdown--settings .settings-dropdown--section .frm__field:not(.is-checked) .frm__switch .frm__switch__label.btn:after {background: ";
  20531.     if (g = e.textTint) {
  20532.         b = g.call(n, {
  20533.             hash: {},
  20534.             data: k
  20535.         })
  20536.     } else {
  20537.         g = (n && n.textTint);
  20538.         b = typeof g === h ? g.call(n, {
  20539.             hash: {},
  20540.             data: k
  20541.         }) : g
  20542.     }
  20543.     i += j(b) + ";}.tag-home__link--newline .add-to-browser-badge--lite,.tag-home__link--newline .add-to-browser-badge--lite:hover,.tag-home__link--newline .add-to-browser-badge--lite:visited,.tag-home__link--newline .add-to-browser-badge--lite:active {color: ";
  20544.     if (g = e.textTint) {
  20545.         b = g.call(n, {
  20546.             hash: {},
  20547.             data: k
  20548.         })
  20549.     } else {
  20550.         g = (n && n.textTint);
  20551.         b = typeof g === h ? g.call(n, {
  20552.             hash: {},
  20553.             data: k
  20554.         }) : g
  20555.     }
  20556.     i += j(b) + ";border-width: 0px;background: none;}.result__check {color: ";
  20557.     if (g = e.bg) {
  20558.         b = g.call(n, {
  20559.             hash: {},
  20560.             data: k
  20561.         })
  20562.     } else {
  20563.         g = (n && n.bg);
  20564.         b = typeof g === h ? g.call(n, {
  20565.             hash: {},
  20566.             data: k
  20567.         }) : g
  20568.     }
  20569.     i += j(b) + ";}.result__check:visited,.feedback-btn,.feedback-btn:hover,.result__pagenum {color: ";
  20570.     if (g = e.bgTint) {
  20571.         b = g.call(n, {
  20572.             hash: {},
  20573.             data: k
  20574.         })
  20575.     } else {
  20576.         g = (n && n.bgTint);
  20577.         b = typeof g === h ? g.call(n, {
  20578.             hash: {},
  20579.             data: k
  20580.         }) : g
  20581.     }
  20582.     i += j(b) + ";}a,a:hover,.no-visited,.result__a,.result__a:hover,.result__a:active,.result__a:focus,.badge--ad,.badge--ad:hover,.badge--ad:focus,.highlight .result__a,.highlight .result__a:hover,.result__a:visited,.tag-home__link,.tag-home__link:hover,.tag-home__link:visited,.tag-home__link:active,.tag-home__nav__close:hover,.page-settings,.frm__label,.badge-link__text,.badge-link__cookie-msg,.no-results__link,.no-results__link:visited,.no-results__link:active,.no-results__link:hover,.vertical--map__sidebar__results__inner .no-results__link,.vertical--map__sidebar__results__inner .no-results__link:hover,.modal__header__title,.modal__header__clear:hover,.modal__list__link,.modal__list__link:hover,.modal__list__link:visited,.modal__list__link:focus,.modal__list__link.is-highlighted,.modal--dropdown .modal__list__link.is-selected,.modal--dropdown .modal__list__link.is-selected:hover,.module--carousel__body__title,.module--carousel__body__title:hover,.module--carousel__body__title:active,.module--carousel__body__title:visited,.module--carousel__left,.module--carousel__right,.is-mobile .module--images .module__toggle,.modal select,.dropdown.is-open .dropdown__button,.dropdown .dropdown__button:hover,.dropdown.dropdown--location .dropdown__button:hover,.feedback-prompt__link:hover,.feedback-btn__icon,.feedback-btn__send,.feedback-modal__heading__prompt.has-category,.feedback-modal__heading__prompt,.feedback-modal .frm__label,.forecast-wrapper .module__more-at .zci__more-at:hover,.forecast-wrapper .module--forecast .module__weather-warning:not(.module__weather-warning--red),.forecast-wrapper .module--forecast .module__weather-warning:hover:not(.module__weather-warning--red),.forecast-wrapper .module--forecast .module__weather-warning:active:not(.module__weather-warning--red),.module__title__link,.module__title__link:hover,.module__title__link:visited,.module__title__link:active,.about-info-box__heading,.about-info-box__link-row__link,.about-info-box__link-row__link:hover,.dropdown--region.has-inactive-region .dropdown__button:hover,.dropdown.is-active:not(.has-inactive-region) .dropdown__button,.module__more-at,.module__more-at:hover,.module__more-at:active,.module__more-at:focus,.module__more-at-bottom,.module__more-at-bottom:hover,.module__official-url,.module__official-url:hover,.module__link,.module__link:hover,.module__link:focus,.module__link:active,.module__link a,.module__link a:hover,.module__link a:focus,.module__link a:active,.address-detail__name,.address-detail .btn.btn--primary,.dir-btn .btn.dir-btn__link,.mapboxgl-ctrl,.mapboxgl-ctrl a,.mapkit-static__attribution,.mapkit-static__cta,.module__header.module__header--link,.module__footer,.module__footer:visited,.module__footer:active,.module__footer:hover,.module__toggle__text,.user-loc-cta__title,.user-loc-filter-modal__title,.user-loc-cta__survey,.user-loc-error__fix__step,.user-loc-title,.user-loc-survey,.user-loc-cta__more,.user-loc-error__text,.user-loc-error .user-loc-error__header,.user-loc-cta,.user-loc-subtitle,.place-list-item__title,.result__sitelinks .sponsored__sitelink,.result__sitelinks .sponsored__sitelink b,.result__sitelinks .sponsored__sitelink:active,.result__sitelinks .sponsored__sitelink:focus,.result__sitelinks .sponsored__sitelink:hover,.vertical--map__search-examples__button,.cloudsave__new-suggestion,.cloudsave__new-suggestion:hover,.footer__text,.set-main .frm__section-label,.frm__select select,.modal--dropdown .modal__list__link.is-selected,.modal--dropdown .modal__list__link.is-selected:visited,.modal--dropdown .modal__list__link.is-selected:hover,.place-detail__status,.place-detail__cta-text {color: ";
  20583.     if (g = e.text) {
  20584.         b = g.call(n, {
  20585.             hash: {},
  20586.             data: k
  20587.         })
  20588.     } else {
  20589.         g = (n && n.text);
  20590.         b = typeof g === h ? g.call(n, {
  20591.             hash: {},
  20592.             data: k
  20593.         }) : g
  20594.     }
  20595.     i += j(b) + ";}.badge--ad,.badge--ad:hover,.badge--ad:focus {border-color: ";
  20596.     if (g = e.text) {
  20597.         b = g.call(n, {
  20598.             hash: {},
  20599.             data: k
  20600.         })
  20601.     } else {
  20602.         g = (n && n.text);
  20603.         b = typeof g === h ? g.call(n, {
  20604.             hash: {},
  20605.             data: k
  20606.         }) : g
  20607.     }
  20608.     i += j(b) + ";}.badge-link__title,.badge-link__bullets {color: ";
  20609.     if (g = e.text) {
  20610.         b = g.call(n, {
  20611.             hash: {},
  20612.             data: k
  20613.         })
  20614.     } else {
  20615.         g = (n && n.text);
  20616.         b = typeof g === h ? g.call(n, {
  20617.             hash: {},
  20618.             data: k
  20619.         }) : g
  20620.     }
  20621.     i += j(b) + ";}.faq__title,.faq__question,.faq__answer,.is-atb-fullbleed .badge-link__title,.is-atb-fullbleed .badge-link__subtitle,.is-atb-fullbleed .badge-link__bullet,.is-atb-fullbleed .badge-link__rating,.is-atb-fullbleed .content-info__title,.is-atb-fullbleed .content-info__item,.is-atb-fullbleed .badge-link__rating__star--third::before ,.is-atb-fullbleed .badge-link__rating__star--half::before {color: ";
  20622.     if (g = e.text) {
  20623.         b = g.call(n, {
  20624.             hash: {},
  20625.             data: k
  20626.         })
  20627.     } else {
  20628.         g = (n && n.text);
  20629.         b = typeof g === h ? g.call(n, {
  20630.             hash: {},
  20631.             data: k
  20632.         }) : g
  20633.     }
  20634.     i += j(b) + " !important;}.is-atb-fullbleed.dark-bg .badge-link__rating__star--empty {color: ";
  20635.     if (g = e.bgDark) {
  20636.         b = g.call(n, {
  20637.             hash: {},
  20638.             data: k
  20639.         })
  20640.     } else {
  20641.         g = (n && n.bgDark);
  20642.         b = typeof g === h ? g.call(n, {
  20643.             hash: {},
  20644.             data: k
  20645.         }) : g
  20646.     }
  20647.     i += j(b) + ";}.is-atb-fullbleed.is-bb-exp.dark-bg .badge-link__rating__star--empty {color: #444 !important;}.is-atb-fullbleed .content-info__item__link {color: #678FFF;}.settings-page-wrapper .set-side a,.settings-page-wrapper .set-side a:hover,.settings-page-wrapper .set-side a:active {color: ";
  20648.     if (g = e.text) {
  20649.         b = g.call(n, {
  20650.             hash: {},
  20651.             data: k
  20652.         })
  20653.     } else {
  20654.         g = (n && n.text);
  20655.         b = typeof g === h ? g.call(n, {
  20656.             hash: {},
  20657.             data: k
  20658.         }) : g
  20659.     }
  20660.     i += j(b) + ";text-decoration: underline;}.result--sep--hr:before,.result--more.is-loading,.feedback--button.btn--wire,.place-list-item:hover,.footer--mobile .feedback-btn,.module__section.place-list-item:hover {color: ";
  20661.     if (g = e.textTint) {
  20662.         b = g.call(n, {
  20663.             hash: {},
  20664.             data: k
  20665.         })
  20666.     } else {
  20667.         g = (n && n.textTint);
  20668.         b = typeof g === h ? g.call(n, {
  20669.             hash: {},
  20670.             data: k
  20671.         }) : g
  20672.     }
  20673.     i += j(b) + ";border-color: ";
  20674.     if (g = e.bgTint) {
  20675.         b = g.call(n, {
  20676.             hash: {},
  20677.             data: k
  20678.         })
  20679.     } else {
  20680.         g = (n && n.bgTint);
  20681.         b = typeof g === h ? g.call(n, {
  20682.             hash: {},
  20683.             data: k
  20684.         }) : g
  20685.     }
  20686.     i += j(b) + ";background-color: ";
  20687.     if (g = e.bgTint) {
  20688.         b = g.call(n, {
  20689.             hash: {},
  20690.             data: k
  20691.         })
  20692.     } else {
  20693.         g = (n && n.bgTint);
  20694.         b = typeof g === h ? g.call(n, {
  20695.             hash: {},
  20696.             data: k
  20697.         }) : g
  20698.     }
  20699.     i += j(b) + ";}.place-hours,.most-visited__separator {border-color: ";
  20700.     if (g = e.bgTint) {
  20701.         b = g.call(n, {
  20702.             hash: {},
  20703.             data: k
  20704.         })
  20705.     } else {
  20706.         g = (n && n.bgTint);
  20707.         b = typeof g === h ? g.call(n, {
  20708.             hash: {},
  20709.             data: k
  20710.         }) : g
  20711.     }
  20712.     i += j(b) + ";}.feedback--button.btn--wire:hover,.onboarding-ed__arrow-teaser .onboarding-ed__arrow-teaser__arrow-wrapper,.most-visited__site-icon {color: ";
  20713.     if (g = e.text) {
  20714.         b = g.call(n, {
  20715.             hash: {},
  20716.             data: k
  20717.         })
  20718.     } else {
  20719.         g = (n && n.text);
  20720.         b = typeof g === h ? g.call(n, {
  20721.             hash: {},
  20722.             data: k
  20723.         }) : g
  20724.     }
  20725.     i += j(b) + ";background-color: ";
  20726.     if (g = e.bgTint) {
  20727.         b = g.call(n, {
  20728.             hash: {},
  20729.             data: k
  20730.         })
  20731.     } else {
  20732.         g = (n && n.bgTint);
  20733.         b = typeof g === h ? g.call(n, {
  20734.             hash: {},
  20735.             data: k
  20736.         }) : g
  20737.     }
  20738.     i += j(b) + ";}.most-visited__site-link-delete {color: ";
  20739.     if (g = e.text) {
  20740.         b = g.call(n, {
  20741.             hash: {},
  20742.             data: k
  20743.         })
  20744.     } else {
  20745.         g = (n && n.text);
  20746.         b = typeof g === h ? g.call(n, {
  20747.             hash: {},
  20748.             data: k
  20749.         }) : g
  20750.     }
  20751.     i += j(b) + ";background-color: ";
  20752.     if (g = e.bgTint2) {
  20753.         b = g.call(n, {
  20754.             hash: {},
  20755.             data: k
  20756.         })
  20757.     } else {
  20758.         g = (n && n.bgTint2);
  20759.         b = typeof g === h ? g.call(n, {
  20760.             hash: {},
  20761.             data: k
  20762.         }) : g
  20763.     }
  20764.     i += j(b) + ";}.mapboxgl-ctrl-scale {border-color: ";
  20765.     if (g = e.text) {
  20766.         b = g.call(n, {
  20767.             hash: {},
  20768.             data: k
  20769.         })
  20770.     } else {
  20771.         g = (n && n.text);
  20772.         b = typeof g === h ? g.call(n, {
  20773.             hash: {},
  20774.             data: k
  20775.         }) : g
  20776.     }
  20777.     i += j(b) + ";}.set-head,.set-thumbnail__img,.set-main-footer,.region__header__section--current,.badge-link,.frm__color__swatch {border-color: ";
  20778.     if (g = e.bgTint) {
  20779.         b = g.call(n, {
  20780.             hash: {},
  20781.             data: k
  20782.         })
  20783.     } else {
  20784.         g = (n && n.bgTint);
  20785.         b = typeof g === h ? g.call(n, {
  20786.             hash: {},
  20787.             data: k
  20788.         }) : g
  20789.     }
  20790.     i += j(b) + ";}.modal__list__link:hover,.modal__list__link.is-active,.modal__list__link.is-highlighted,.modal--dropdown--region .modal__list__link.is-highlighted,.highlight .result__image,.switch,.modal--dropdown--settings .settings-dropdown--section .frm__field .frm__switch .frm__switch__label.btn {background-color: ";
  20791.     if (g = e.bgTint) {
  20792.         b = g.call(n, {
  20793.             hash: {},
  20794.             data: k
  20795.         })
  20796.     } else {
  20797.         g = (n && n.bgTint);
  20798.         b = typeof g === h ? g.call(n, {
  20799.             hash: {},
  20800.             data: k
  20801.         }) : g
  20802.     }
  20803.     i += j(b) + ";}.cloudsave,.set-bookmarklet__detail,.set-reset__detail {background: ";
  20804.     if (g = e.bgTint2) {
  20805.         b = g.call(n, {
  20806.             hash: {},
  20807.             data: k
  20808.         })
  20809.     } else {
  20810.         g = (n && n.bgTint2);
  20811.         b = typeof g === h ? g.call(n, {
  20812.             hash: {},
  20813.             data: k
  20814.         }) : g
  20815.     }
  20816.     i += j(b) + ";}code,.set-bookmarklet__input,.set-bookmarklet__data,.btn,.btn:visited,.btn:active,.btn.btn--primary,.btn.btn--secondary,.btn--primary:hover,.btn.is-disabled,.btn.is-disabled:hover,input,textarea,.frm__input,.frm__text,.detail--xd .c-detail__btn,.set-bookmarklet,.set-reset,.frm__select,.frm__select select,.zci--json_validator textarea,.colorpicker,.feedback-modal__submit.is-disabled,.feedback-modal__submit.is-disabled:hover,.feedback-modal__submit.is-disabled:active,.feedback-modal__submit.is-disabled:focus,.most-visited__toggle,.btn.btn--skeleton:hover {background-color: ";
  20817.     if (g = e.bgTint) {
  20818.         b = g.call(n, {
  20819.             hash: {},
  20820.             data: k
  20821.         })
  20822.     } else {
  20823.         g = (n && n.bgTint);
  20824.         b = typeof g === h ? g.call(n, {
  20825.             hash: {},
  20826.             data: k
  20827.         }) : g
  20828.     }
  20829.     i += j(b) + ";border-color: transparent;color: ";
  20830.     if (g = e.text) {
  20831.         b = g.call(n, {
  20832.             hash: {},
  20833.             data: k
  20834.         })
  20835.     } else {
  20836.         g = (n && n.text);
  20837.         b = typeof g === h ? g.call(n, {
  20838.             hash: {},
  20839.             data: k
  20840.         }) : g
  20841.     }
  20842.     i += j(b) + ";text-shadow: none;}.multi-step-mobile-onboarding .btn--cppm-skip {color: ";
  20843.     if (g = e.text) {
  20844.         b = g.call(n, {
  20845.             hash: {},
  20846.             data: k
  20847.         })
  20848.     } else {
  20849.         g = (n && n.text);
  20850.         b = typeof g === h ? g.call(n, {
  20851.             hash: {},
  20852.             data: k
  20853.         }) : g
  20854.     }
  20855.     i += j(b) + ";}.colorpicker .colorpicker__nub {background-color: ";
  20856.     if (g = e.bgTint) {
  20857.         b = g.call(n, {
  20858.             hash: {},
  20859.             data: k
  20860.         })
  20861.     } else {
  20862.         g = (n && n.bgTint);
  20863.         b = typeof g === h ? g.call(n, {
  20864.             hash: {},
  20865.             data: k
  20866.         }) : g
  20867.     }
  20868.     i += j(b) + ";border-color: ";
  20869.     if (g = e.bgTint) {
  20870.         b = g.call(n, {
  20871.             hash: {},
  20872.             data: k
  20873.         })
  20874.     } else {
  20875.         g = (n && n.bgTint);
  20876.         b = typeof g === h ? g.call(n, {
  20877.             hash: {},
  20878.             data: k
  20879.         }) : g
  20880.     }
  20881.     i += j(b) + ";}.frm__select:hover select,.btn.is-active,.btn:hover,.frm__select:hover,.btn.most-visited__toggle:hover,.btn.most-visited__toggle:active,.btn.most-visited__toggle:focus,.no-touch .tile-nav--sm.can-scroll:hover,.no-touch .tile-nav--sm.can-scroll:active,.no-touch .tile-nav--sm.can-scroll:hover:active,.modal .btn:hover:not(.is-disabled),.modal .btn:hover:not(.is-disabled) {background-color: ";
  20882.     if (g = e.btnHoverBg) {
  20883.         b = g.call(n, {
  20884.             hash: {},
  20885.             data: k
  20886.         })
  20887.     } else {
  20888.         g = (n && n.btnHoverBg);
  20889.         b = typeof g === h ? g.call(n, {
  20890.             hash: {},
  20891.             data: k
  20892.         }) : g
  20893.     }
  20894.     i += j(b) + ";color: ";
  20895.     if (g = e.text) {
  20896.         b = g.call(n, {
  20897.             hash: {},
  20898.             data: k
  20899.         })
  20900.     } else {
  20901.         g = (n && n.text);
  20902.         b = typeof g === h ? g.call(n, {
  20903.             hash: {},
  20904.             data: k
  20905.         }) : g
  20906.     }
  20907.     i += j(b) + ";border-color: ";
  20908.     if (g = e.btnHoverBorder) {
  20909.         b = g.call(n, {
  20910.             hash: {},
  20911.             data: k
  20912.         })
  20913.     } else {
  20914.         g = (n && n.btnHoverBorder);
  20915.         b = typeof g === h ? g.call(n, {
  20916.             hash: {},
  20917.             data: k
  20918.         }) : g
  20919.     }
  20920.     i += j(b) + ";}.multi-step-mobile-onboarding .btn.btn--cppm-done[disabled] {background-color: ";
  20921.     if (g = e.btnHoverBg) {
  20922.         b = g.call(n, {
  20923.             hash: {},
  20924.             data: k
  20925.         })
  20926.     } else {
  20927.         g = (n && n.btnHoverBg);
  20928.         b = typeof g === h ? g.call(n, {
  20929.             hash: {},
  20930.             data: k
  20931.         }) : g
  20932.     }
  20933.     i += j(b) + ";color: ";
  20934.     if (g = e.text) {
  20935.         b = g.call(n, {
  20936.             hash: {},
  20937.             data: k
  20938.         })
  20939.     } else {
  20940.         g = (n && n.text);
  20941.         b = typeof g === h ? g.call(n, {
  20942.             hash: {},
  20943.             data: k
  20944.         }) : g
  20945.     }
  20946.     i += j(b) + ";border-color: ";
  20947.     if (g = e.btnHoverBorder) {
  20948.         b = g.call(n, {
  20949.             hash: {},
  20950.             data: k
  20951.         })
  20952.     } else {
  20953.         g = (n && n.btnHoverBorder);
  20954.         b = typeof g === h ? g.call(n, {
  20955.             hash: {},
  20956.             data: k
  20957.         }) : g
  20958.     }
  20959.     i += j(b) + ";}.btn.feedback-btn,.btn.feedback-btn a,.feedback-modal__submit.is-disabled,.feedback-modal__submit.is-disabled:hover,.feedback-modal__submit.is-disabled:active,.feedback-modal__submit.is-disabled:focus,.feedback-prompt,.feedback-prompt__link,.feedback-prompt__link:visited,.module--carousel-products.has-grid .module--carousel__main-source a,.module--carousel-products.has-grid .module--carousel__main-source a:visited,.module__more-at-and-feedback .module__more-at a,.btn.btn--skeleton,.btn.btn--skeleton:hover,.btn.is-disabled,.btn.is-disabled:hover {color: ";
  20960.     if (g = e.textTint2) {
  20961.         b = g.call(n, {
  20962.             hash: {},
  20963.             data: k
  20964.         })
  20965.     } else {
  20966.         g = (n && n.textTint2);
  20967.         b = typeof g === h ? g.call(n, {
  20968.             hash: {},
  20969.             data: k
  20970.         }) : g
  20971.     }
  20972.     i += j(b) + ";}.btn.feedback-btn,.btn.feedback-btn a,.btn.feedback-btn a:hover {border-radius: 4px;background: ";
  20973.     if (g = e.bgTint2) {
  20974.         b = g.call(n, {
  20975.             hash: {},
  20976.             data: k
  20977.         })
  20978.     } else {
  20979.         g = (n && n.bgTint2);
  20980.         b = typeof g === h ? g.call(n, {
  20981.             hash: {},
  20982.             data: k
  20983.         }) : g
  20984.     }
  20985.     i += j(b) + ";}.btn.feedback-btn:hover,.btn.feedback-btn a:hover {color: ";
  20986.     if (g = e.textTint) {
  20987.         b = g.call(n, {
  20988.             hash: {},
  20989.             data: k
  20990.         })
  20991.     } else {
  20992.         g = (n && n.textTint);
  20993.         b = typeof g === h ? g.call(n, {
  20994.             hash: {},
  20995.             data: k
  20996.         }) : g
  20997.     }
  20998.     i += j(b) + ";}.module__more-at-and-feedback .module__more-at a img {opacity: 0.5;}.module__more-at-and-feedback .module__more-at a:hover img {opacity: 1;}background: ";
  20999.     if (g = e.bgTint) {
  21000.         b = g.call(n, {
  21001.             hash: {},
  21002.             data: k
  21003.         })
  21004.     } else {
  21005.         g = (n && n.bgTint);
  21006.         b = typeof g === h ? g.call(n, {
  21007.             hash: {},
  21008.             data: k
  21009.         }) : g
  21010.     }
  21011.     i += j(b) + ";}";
  21012.     b = e["if"].call(n, (n && n.isDark), {
  21013.         hash: {},
  21014.         inverse: p.noop,
  21015.         fn: p.program(1, c, k),
  21016.         data: k
  21017.     });
  21018.     if (b || b === 0) {
  21019.         i += b
  21020.     }
  21021.     i += ".modal--dropdown--region .modal__header .frm__input {background-color: ";
  21022.     if (g = e.bgTint2) {
  21023.         b = g.call(n, {
  21024.             hash: {},
  21025.             data: k
  21026.         })
  21027.     } else {
  21028.         g = (n && n.bgTint2);
  21029.         b = typeof g === h ? g.call(n, {
  21030.             hash: {},
  21031.             data: k
  21032.         }) : g
  21033.     }
  21034.     i += j(b) + ";}.module--carousel__placeholder,.result__image__plc {color: ";
  21035.     if (g = e.textTint) {
  21036.         b = g.call(n, {
  21037.             hash: {},
  21038.             data: k
  21039.         })
  21040.     } else {
  21041.         g = (n && n.textTint);
  21042.         b = typeof g === h ? g.call(n, {
  21043.             hash: {},
  21044.             data: k
  21045.         }) : g
  21046.     }
  21047.     i += j(b) + ";background-color: ";
  21048.     if (g = e.bgTint2) {
  21049.         b = g.call(n, {
  21050.             hash: {},
  21051.             data: k
  21052.         })
  21053.     } else {
  21054.         g = (n && n.bgTint2);
  21055.         b = typeof g === h ? g.call(n, {
  21056.             hash: {},
  21057.             data: k
  21058.         }) : g
  21059.     }
  21060.     i += j(b) + ";}.frm__hr {border-color: ";
  21061.     if (g = e.bgTint) {
  21062.         b = g.call(n, {
  21063.             hash: {},
  21064.             data: k
  21065.         })
  21066.     } else {
  21067.         g = (n && n.bgTint);
  21068.         b = typeof g === h ? g.call(n, {
  21069.             hash: {},
  21070.             data: k
  21071.         }) : g
  21072.     }
  21073.     i += j(b) + ";}.header-atb,.mapkit-static__cta {background-color: ";
  21074.     if (g = e.bgDark) {
  21075.         b = g.call(n, {
  21076.             hash: {},
  21077.             data: k
  21078.         })
  21079.     } else {
  21080.         g = (n && n.bgDark);
  21081.         b = typeof g === h ? g.call(n, {
  21082.             hash: {},
  21083.             data: k
  21084.         }) : g
  21085.     }
  21086.     i += j(b) + ";}.header-atb,.header-atb:active,.header-atb:hover,.header-atb:visited {color: ";
  21087.     if (g = e.textTint) {
  21088.         b = g.call(n, {
  21089.             hash: {},
  21090.             data: k
  21091.         })
  21092.     } else {
  21093.         g = (n && n.textTint);
  21094.         b = typeof g === h ? g.call(n, {
  21095.             hash: {},
  21096.             data: k
  21097.         }) : g
  21098.     }
  21099.     i += j(b) + ";}";
  21100.     b = e["if"].call(n, (n && n.isDark), {
  21101.         hash: {},
  21102.         inverse: p.noop,
  21103.         fn: p.program(3, a, k),
  21104.         data: k
  21105.     });
  21106.     if (b || b === 0) {
  21107.         i += b
  21108.     }
  21109.     i += ".modal__box {border: 1px solid ";
  21110.     if (g = e.bgDark) {
  21111.         b = g.call(n, {
  21112.             hash: {},
  21113.             data: k
  21114.         })
  21115.     } else {
  21116.         g = (n && n.bgDark);
  21117.         b = typeof g === h ? g.call(n, {
  21118.             hash: {},
  21119.             data: k
  21120.         }) : g
  21121.     }
  21122.     i += j(b) + ";}.modal__header {background-color: ";
  21123.     if (g = e.bgDark) {
  21124.         b = g.call(n, {
  21125.             hash: {},
  21126.             data: k
  21127.         })
  21128.     } else {
  21129.         g = (n && n.bgDark);
  21130.         b = typeof g === h ? g.call(n, {
  21131.             hash: {},
  21132.             data: k
  21133.         }) : g
  21134.     }
  21135.     i += j(b) + ";border-bottom-color: ";
  21136.     if (g = e.bgDark) {
  21137.         b = g.call(n, {
  21138.             hash: {},
  21139.             data: k
  21140.         })
  21141.     } else {
  21142.         g = (n && n.bgDark);
  21143.         b = typeof g === h ? g.call(n, {
  21144.             hash: {},
  21145.             data: k
  21146.         }) : g
  21147.     }
  21148.     i += j(b) + ";}.modal--popout--bottom.has-header .modal__box:before,.modal--popout--bottom-right.has-header .modal__box:before,.modal--popout--bottom-left.has-header .modal__box:before,.modal--popout--bottom.has-header .modal__box:after,.modal--popout--bottom-right.has-header .modal__box:after,.modal--popout--bottom-left.has-header .modal__box:after,.modal--popout .modal__box:before {color: ";
  21149.     if (g = e.bgDark) {
  21150.         b = g.call(n, {
  21151.             hash: {},
  21152.             data: k
  21153.         })
  21154.     } else {
  21155.         g = (n && n.bgDark);
  21156.         b = typeof g === h ? g.call(n, {
  21157.             hash: {},
  21158.             data: k
  21159.         }) : g
  21160.     }
  21161.     i += j(b) + ";}.modal--popout .modal__box:after {color: ";
  21162.     if (g = e.bg) {
  21163.         b = g.call(n, {
  21164.             hash: {},
  21165.             data: k
  21166.         })
  21167.     } else {
  21168.         g = (n && n.bg);
  21169.         b = typeof g === h ? g.call(n, {
  21170.             hash: {},
  21171.             data: k
  21172.         }) : g
  21173.     }
  21174.     i += j(b) + ";}";
  21175.     b = e["if"].call(n, (n && n.isDark), {
  21176.         hash: {},
  21177.         inverse: p.noop,
  21178.         fn: p.program(5, o, k),
  21179.         data: k
  21180.     });
  21181.     if (b || b === 0) {
  21182.         i += b
  21183.     }
  21184.     i += ".region-flag__wrap--small.has-region:before {border-color: transparent;}.modal__box {border: 1px solid ";
  21185.     if (g = e.bgDark) {
  21186.         b = g.call(n, {
  21187.             hash: {},
  21188.             data: k
  21189.         })
  21190.     } else {
  21191.         g = (n && n.bgDark);
  21192.         b = typeof g === h ? g.call(n, {
  21193.             hash: {},
  21194.             data: k
  21195.         }) : g
  21196.     }
  21197.     i += j(b) + ";}.modal__header {background-color: ";
  21198.     if (g = e.bgDark) {
  21199.         b = g.call(n, {
  21200.             hash: {},
  21201.             data: k
  21202.         })
  21203.     } else {
  21204.         g = (n && n.bgDark);
  21205.         b = typeof g === h ? g.call(n, {
  21206.             hash: {},
  21207.             data: k
  21208.         }) : g
  21209.     }
  21210.     i += j(b) + ";border-bottom-color: ";
  21211.     if (g = e.bgDark) {
  21212.         b = g.call(n, {
  21213.             hash: {},
  21214.             data: k
  21215.         })
  21216.     } else {
  21217.         g = (n && n.bgDark);
  21218.         b = typeof g === h ? g.call(n, {
  21219.             hash: {},
  21220.             data: k
  21221.         }) : g
  21222.     }
  21223.     i += j(b) + ";}.modal--popout--bottom.has-header .modal__box:before,.modal--popout--bottom-right.has-header .modal__box:before,.modal--popout--bottom-left.has-header .modal__box:before,.modal--popout--bottom.has-header .modal__box:after,.modal--popout--bottom-right.has-header .modal__box:after,.modal--popout--bottom-left.has-header .modal__box:after,.modal--popout .modal__box:before {color: ";
  21224.     if (g = e.bgDark) {
  21225.         b = g.call(n, {
  21226.             hash: {},
  21227.             data: k
  21228.         })
  21229.     } else {
  21230.         g = (n && n.bgDark);
  21231.         b = typeof g === h ? g.call(n, {
  21232.             hash: {},
  21233.             data: k
  21234.         }) : g
  21235.     }
  21236.     i += j(b) + ";}.modal--popout .modal__box:after {color: ";
  21237.     if (g = e.bg) {
  21238.         b = g.call(n, {
  21239.             hash: {},
  21240.             data: k
  21241.         })
  21242.     } else {
  21243.         g = (n && n.bg);
  21244.         b = typeof g === h ? g.call(n, {
  21245.             hash: {},
  21246.             data: k
  21247.         }) : g
  21248.     }
  21249.     i += j(b) + ";}.search-filters-wrap:before {background-image: linear-gradient(90deg, ";
  21250.     if (g = e.bg) {
  21251.         b = g.call(n, {
  21252.             hash: {},
  21253.             data: k
  21254.         })
  21255.     } else {
  21256.         g = (n && n.bg);
  21257.         b = typeof g === h ? g.call(n, {
  21258.             hash: {},
  21259.             data: k
  21260.         }) : g
  21261.     }
  21262.     i += j(b) + ", rgba(";
  21263.     if (g = e.rgbBg) {
  21264.         b = g.call(n, {
  21265.             hash: {},
  21266.             data: k
  21267.         })
  21268.     } else {
  21269.         g = (n && n.rgbBg);
  21270.         b = typeof g === h ? g.call(n, {
  21271.             hash: {},
  21272.             data: k
  21273.         }) : g
  21274.     }
  21275.     i += j(b) + ", 0));}.search-filters-wrap:after {background-image: linear-gradient(90deg, rgba(";
  21276.     if (g = e.rgbBg) {
  21277.         b = g.call(n, {
  21278.             hash: {},
  21279.             data: k
  21280.         })
  21281.     } else {
  21282.         g = (n && n.rgbBg);
  21283.         b = typeof g === h ? g.call(n, {
  21284.             hash: {},
  21285.             data: k
  21286.         }) : g
  21287.     }
  21288.     i += j(b) + ", 0), ";
  21289.     if (g = e.bg) {
  21290.         b = g.call(n, {
  21291.             hash: {},
  21292.             data: k
  21293.         })
  21294.     } else {
  21295.         g = (n && n.bg);
  21296.         b = typeof g === h ? g.call(n, {
  21297.             hash: {},
  21298.             data: k
  21299.         }) : g
  21300.     }
  21301.     i += j(b) + ");}.user-loc-cta {border-bottom-color: ";
  21302.     if (g = e.bg) {
  21303.         b = g.call(n, {
  21304.             hash: {},
  21305.             data: k
  21306.         })
  21307.     } else {
  21308.         g = (n && n.bg);
  21309.         b = typeof g === h ? g.call(n, {
  21310.             hash: {},
  21311.             data: k
  21312.         }) : g
  21313.     }
  21314.     i += j(b) + ";}.add-to-browser--blurred-cppm {background-color: ";
  21315.     if (g = e.bg) {
  21316.         b = g.call(n, {
  21317.             hash: {},
  21318.             data: k
  21319.         })
  21320.     } else {
  21321.         g = (n && n.bg);
  21322.         b = typeof g === h ? g.call(n, {
  21323.             hash: {},
  21324.             data: k
  21325.         }) : g
  21326.     }
  21327.     i += j(b) + ";}";
  21328.     return i
  21329. });
  21330. this["DDG"]["templates"]["theme_custom_font"] = Handlebars.template(function(e, m, c, k, j) {
  21331.     this.compilerInfo = [4, ">= 1.0.0"];
  21332.     c = this.merge(c, e.helpers);
  21333.     j = j || {};
  21334.     var h = "",
  21335.         a, f, g = "function",
  21336.         i = this.escapeExpression,
  21337.         n = this;
  21338.  
  21339.     function b(p, o) {
  21340.         return ".zci b,.zcm b,.zcm__link,.tile--s h1,.tile--s h2,.tile--s h3,.tile--s h4,.tile--s h5,.tile--s h6,.badge--ad {font-weight: 500;}"
  21341.     }
  21342.     h += "body,input,textarea,.search__input--adv {font-family: ";
  21343.     if (f = c.fontStack) {
  21344.         a = f.call(m, {
  21345.             hash: {},
  21346.             data: j
  21347.         })
  21348.     } else {
  21349.         f = (m && m.fontStack);
  21350.         a = typeof f === g ? f.call(m, {
  21351.             hash: {},
  21352.             data: j
  21353.         }) : f
  21354.     }
  21355.     h += i(a) + ";}";
  21356.     a = c["if"].call(m, (m && m.lightenWeight), {
  21357.         hash: {},
  21358.         inverse: n.noop,
  21359.         fn: n.program(1, b, j),
  21360.         data: j
  21361.     });
  21362.     if (a || a === 0) {
  21363.         h += a
  21364.     }
  21365.     return h
  21366. });
  21367. this["DDG"]["templates"]["theme_font"] = Handlebars.template(function(c, k, b, j, i) {
  21368.     this.compilerInfo = [4, ">= 1.0.0"];
  21369.     b = this.merge(b, c.helpers);
  21370.     i = i || {};
  21371.     var g = "",
  21372.         a, e, f = "function",
  21373.         h = this.escapeExpression;
  21374.     g += "@font-face {font-family: 'DDG_ProximaNova";
  21375.     if (e = b.name) {
  21376.         a = e.call(k, {
  21377.             hash: {},
  21378.             data: i
  21379.         })
  21380.     } else {
  21381.         e = (k && k.name);
  21382.         a = typeof e === f ? e.call(k, {
  21383.             hash: {},
  21384.             data: i
  21385.         }) : e
  21386.     }
  21387.     g += h(a) + "';src: url('/font/";
  21388.     if (e = b.lang) {
  21389.         a = e.call(k, {
  21390.             hash: {},
  21391.             data: i
  21392.         })
  21393.     } else {
  21394.         e = (k && k.lang);
  21395.         a = typeof e === f ? e.call(k, {
  21396.             hash: {},
  21397.             data: i
  21398.         }) : e
  21399.     }
  21400.     g += h(a) + "/ProximaNova-Sbold-webfont.eot');src: url('/font/";
  21401.     if (e = b.lang) {
  21402.         a = e.call(k, {
  21403.             hash: {},
  21404.             data: i
  21405.         })
  21406.     } else {
  21407.         e = (k && k.lang);
  21408.         a = typeof e === f ? e.call(k, {
  21409.             hash: {},
  21410.             data: i
  21411.         }) : e
  21412.     }
  21413.     g += h(a) + "/ProximaNova-Sbold-webfont.eot?#iefix') format('embedded-opentype'),url('/font/";
  21414.     if (e = b.lang) {
  21415.         a = e.call(k, {
  21416.             hash: {},
  21417.             data: i
  21418.         })
  21419.     } else {
  21420.         e = (k && k.lang);
  21421.         a = typeof e === f ? e.call(k, {
  21422.             hash: {},
  21423.             data: i
  21424.         }) : e
  21425.     }
  21426.     g += h(a) + "/ProximaNova-Sbold-webfont.woff2') format('woff2'),url('/font/";
  21427.     if (e = b.lang) {
  21428.         a = e.call(k, {
  21429.             hash: {},
  21430.             data: i
  21431.         })
  21432.     } else {
  21433.         e = (k && k.lang);
  21434.         a = typeof e === f ? e.call(k, {
  21435.             hash: {},
  21436.             data: i
  21437.         }) : e
  21438.     }
  21439.     g += h(a) + "/ProximaNova-Sbold-webfont.woff') format('woff'),url('/font/";
  21440.     if (e = b.lang) {
  21441.         a = e.call(k, {
  21442.             hash: {},
  21443.             data: i
  21444.         })
  21445.     } else {
  21446.         e = (k && k.lang);
  21447.         a = typeof e === f ? e.call(k, {
  21448.             hash: {},
  21449.             data: i
  21450.         }) : e
  21451.     }
  21452.     g += h(a) + "/ProximaNova-Sbold-webfont.ttf') format('truetype'),url('/font/";
  21453.     if (e = b.lang) {
  21454.         a = e.call(k, {
  21455.             hash: {},
  21456.             data: i
  21457.         })
  21458.     } else {
  21459.         e = (k && k.lang);
  21460.         a = typeof e === f ? e.call(k, {
  21461.             hash: {},
  21462.             data: i
  21463.         }) : e
  21464.     }
  21465.     g += h(a) + "/ProximaNova-Sbold-webfont.svg#proxima_nova_ltsemibold') format('svg');font-weight: 600;font-style: normal;}@font-face {font-family: 'DDG_ProximaNova";
  21466.     if (e = b.name) {
  21467.         a = e.call(k, {
  21468.             hash: {},
  21469.             data: i
  21470.         })
  21471.     } else {
  21472.         e = (k && k.name);
  21473.         a = typeof e === f ? e.call(k, {
  21474.             hash: {},
  21475.             data: i
  21476.         }) : e
  21477.     }
  21478.     g += h(a) + "';src: url('/font/";
  21479.     if (e = b.lang) {
  21480.         a = e.call(k, {
  21481.             hash: {},
  21482.             data: i
  21483.         })
  21484.     } else {
  21485.         e = (k && k.lang);
  21486.         a = typeof e === f ? e.call(k, {
  21487.             hash: {},
  21488.             data: i
  21489.         }) : e
  21490.     }
  21491.     g += h(a) + "/ProximaNova-Reg-webfont.eot');src: url('/font/";
  21492.     if (e = b.lang) {
  21493.         a = e.call(k, {
  21494.             hash: {},
  21495.             data: i
  21496.         })
  21497.     } else {
  21498.         e = (k && k.lang);
  21499.         a = typeof e === f ? e.call(k, {
  21500.             hash: {},
  21501.             data: i
  21502.         }) : e
  21503.     }
  21504.     g += h(a) + "/ProximaNova-Reg-webfont.eot?#iefix') format('embedded-opentype'),url('/font/";
  21505.     if (e = b.lang) {
  21506.         a = e.call(k, {
  21507.             hash: {},
  21508.             data: i
  21509.         })
  21510.     } else {
  21511.         e = (k && k.lang);
  21512.         a = typeof e === f ? e.call(k, {
  21513.             hash: {},
  21514.             data: i
  21515.         }) : e
  21516.     }
  21517.     g += h(a) + "/ProximaNova-Reg-webfont.woff2') format('woff2'),url('/font/";
  21518.     if (e = b.lang) {
  21519.         a = e.call(k, {
  21520.             hash: {},
  21521.             data: i
  21522.         })
  21523.     } else {
  21524.         e = (k && k.lang);
  21525.         a = typeof e === f ? e.call(k, {
  21526.             hash: {},
  21527.             data: i
  21528.         }) : e
  21529.     }
  21530.     g += h(a) + "/ProximaNova-Reg-webfont.woff') format('woff'),url('/font/";
  21531.     if (e = b.lang) {
  21532.         a = e.call(k, {
  21533.             hash: {},
  21534.             data: i
  21535.         })
  21536.     } else {
  21537.         e = (k && k.lang);
  21538.         a = typeof e === f ? e.call(k, {
  21539.             hash: {},
  21540.             data: i
  21541.         }) : e
  21542.     }
  21543.     g += h(a) + "/ProximaNova-Reg-webfont.ttf') format('truetype'),url('/font/";
  21544.     if (e = b.lang) {
  21545.         a = e.call(k, {
  21546.             hash: {},
  21547.             data: i
  21548.         })
  21549.     } else {
  21550.         e = (k && k.lang);
  21551.         a = typeof e === f ? e.call(k, {
  21552.             hash: {},
  21553.             data: i
  21554.         }) : e
  21555.     }
  21556.     g += h(a) + "/ProximaNova-Reg-webfont.svg#proxima_nova_rgregular') format('svg');font-weight: normal;font-style: normal;}";
  21557.     return g
  21558. });
  21559. this["DDG"]["templates"]["theme_header"] = Handlebars.template(function(c, k, b, j, i) {
  21560.     this.compilerInfo = [4, ">= 1.0.0"];
  21561.     b = this.merge(b, c.helpers);
  21562.     i = i || {};
  21563.     var g = "",
  21564.         a, e, f = "function",
  21565.         h = this.escapeExpression;
  21566.     g += ".header-wrap,.vertical--map--sidebar-left .has-requery .vertical--map__sidebar__header,.map-requery-mobile,.footer,.footer--mobile {border-color: transparent;background-color: ";
  21567.     if (e = b.color) {
  21568.         a = e.call(k, {
  21569.             hash: {},
  21570.             data: i
  21571.         })
  21572.     } else {
  21573.         e = (k && k.color);
  21574.         a = typeof e === f ? e.call(k, {
  21575.             hash: {},
  21576.             data: i
  21577.         }) : e
  21578.     }
  21579.     g += h(a) + ";box-shadow:0 1px 0 ";
  21580.     if (e = b.bottomBorder) {
  21581.         a = e.call(k, {
  21582.             hash: {},
  21583.             data: i
  21584.         })
  21585.     } else {
  21586.         e = (k && k.bottomBorder);
  21587.         a = typeof e === f ? e.call(k, {
  21588.             hash: {},
  21589.             data: i
  21590.         }) : e
  21591.     }
  21592.     g += h(a) + ";}.vertical--map--sidebar-left .has-requery .vertical--map__sidebar__header {box-shadow: 0 1px 0 ";
  21593.     if (e = b.primary) {
  21594.         a = e.call(k, {
  21595.             hash: {},
  21596.             data: i
  21597.         })
  21598.     } else {
  21599.         e = (k && k.primary);
  21600.         a = typeof e === f ? e.call(k, {
  21601.             hash: {},
  21602.             data: i
  21603.         }) : e
  21604.     }
  21605.     g += h(a) + ";}.footer,.footer--mobile {border-top: 1px solid ";
  21606.     if (e = b.bottomBorder) {
  21607.         a = e.call(k, {
  21608.             hash: {},
  21609.             data: i
  21610.         })
  21611.     } else {
  21612.         e = (k && k.bottomBorder);
  21613.         a = typeof e === f ? e.call(k, {
  21614.             hash: {},
  21615.             data: i
  21616.         }) : e
  21617.     }
  21618.     g += h(a) + ";}.no-touch .header-wrap .zcm__link.is-active {background-color: transparent;}.header-wrap.header-wrap--home {background: none;}.no-touch .site-wrapper .zcm__link, .zcm__link, .zcm__link:visited {color: ";
  21619.     if (e = b.link) {
  21620.         a = e.call(k, {
  21621.             hash: {},
  21622.             data: i
  21623.         })
  21624.     } else {
  21625.         e = (k && k.link);
  21626.         a = typeof e === f ? e.call(k, {
  21627.             hash: {},
  21628.             data: i
  21629.         }) : e
  21630.     }
  21631.     g += h(a) + ";}.no-touch .zcm__link:hover, .no-touch .zcm__link:hover:active, .no-touch .zcm__link:focus:active, .no-touch .zcm__item.is-open .zcm__link {color: ";
  21632.     if (e = b.activeLink) {
  21633.         a = e.call(k, {
  21634.             hash: {},
  21635.             data: i
  21636.         })
  21637.     } else {
  21638.         e = (k && k.activeLink);
  21639.         a = typeof e === f ? e.call(k, {
  21640.             hash: {},
  21641.             data: i
  21642.         }) : e
  21643.     }
  21644.     g += h(a) + ";}.no-touch .zcm__link.is-active:hover, .no-touch .zcm__link.is-active:hover:active, .no-touch .zcm__link.is-active:focus:active {color: ";
  21645.     if (e = b.activeLink) {
  21646.         a = e.call(k, {
  21647.             hash: {},
  21648.             data: i
  21649.         })
  21650.     } else {
  21651.         e = (k && k.activeLink);
  21652.         a = typeof e === f ? e.call(k, {
  21653.             hash: {},
  21654.             data: i
  21655.         }) : e
  21656.     }
  21657.     g += h(a) + ";}.zcm__link:hover,.zcm__link:active,.zcm__link.is-active {background-color: ";
  21658.     if (e = b.color) {
  21659.         a = e.call(k, {
  21660.             hash: {},
  21661.             data: i
  21662.         })
  21663.     } else {
  21664.         e = (k && k.color);
  21665.         a = typeof e === f ? e.call(k, {
  21666.             hash: {},
  21667.             data: i
  21668.         }) : e
  21669.     }
  21670.     g += h(a) + ";color: ";
  21671.     if (e = b.activeLink) {
  21672.         a = e.call(k, {
  21673.             hash: {},
  21674.             data: i
  21675.         })
  21676.     } else {
  21677.         e = (k && k.activeLink);
  21678.         a = typeof e === f ? e.call(k, {
  21679.             hash: {},
  21680.             data: i
  21681.         }) : e
  21682.     }
  21683.     g += h(a) + ";border-bottom-color: ";
  21684.     if (e = b.activeLink) {
  21685.         a = e.call(k, {
  21686.             hash: {},
  21687.             data: i
  21688.         })
  21689.     } else {
  21690.         e = (k && k.activeLink);
  21691.         a = typeof e === f ? e.call(k, {
  21692.             hash: {},
  21693.             data: i
  21694.         }) : e
  21695.     }
  21696.     g += h(a) + ";}.no-touch .header-wrap .zcm__link.is-active {color: ";
  21697.     if (e = b.activeLink) {
  21698.         a = e.call(k, {
  21699.             hash: {},
  21700.             data: i
  21701.         })
  21702.     } else {
  21703.         e = (k && k.activeLink);
  21704.         a = typeof e === f ? e.call(k, {
  21705.             hash: {},
  21706.             data: i
  21707.         }) : e
  21708.     }
  21709.     g += h(a) + ";}.lt-ie9 .header-wrap {border-bottom-color: ";
  21710.     if (e = b.bottomBorder) {
  21711.         a = e.call(k, {
  21712.             hash: {},
  21713.             data: i
  21714.         })
  21715.     } else {
  21716.         e = (k && k.bottomBorder);
  21717.         a = typeof e === f ? e.call(k, {
  21718.             hash: {},
  21719.             data: i
  21720.         }) : e
  21721.     }
  21722.     g += h(a) + ";}.set-header--menu.has-zcm.is-mobile .header--aside {background: -moz-linear-gradient(left, rgba(";
  21723.     if (e = b.rgb) {
  21724.         a = e.call(k, {
  21725.             hash: {},
  21726.             data: i
  21727.         })
  21728.     } else {
  21729.         e = (k && k.rgb);
  21730.         a = typeof e === f ? e.call(k, {
  21731.             hash: {},
  21732.             data: i
  21733.         }) : e
  21734.     }
  21735.     g += h(a) + ",0) 0%, rgba(";
  21736.     if (e = b.rgb) {
  21737.         a = e.call(k, {
  21738.             hash: {},
  21739.             data: i
  21740.         })
  21741.     } else {
  21742.         e = (k && k.rgb);
  21743.         a = typeof e === f ? e.call(k, {
  21744.             hash: {},
  21745.             data: i
  21746.         }) : e
  21747.     }
  21748.     g += h(a) + ",1) 40%, rgba(";
  21749.     if (e = b.rgb) {
  21750.         a = e.call(k, {
  21751.             hash: {},
  21752.             data: i
  21753.         })
  21754.     } else {
  21755.         e = (k && k.rgb);
  21756.         a = typeof e === f ? e.call(k, {
  21757.             hash: {},
  21758.             data: i
  21759.         }) : e
  21760.     }
  21761.     g += h(a) + ",1) 100%);background: -webkit-linear-gradient(left, rgba(";
  21762.     if (e = b.rgb) {
  21763.         a = e.call(k, {
  21764.             hash: {},
  21765.             data: i
  21766.         })
  21767.     } else {
  21768.         e = (k && k.rgb);
  21769.         a = typeof e === f ? e.call(k, {
  21770.             hash: {},
  21771.             data: i
  21772.         }) : e
  21773.     }
  21774.     g += h(a) + ",0) 0%, rgba(";
  21775.     if (e = b.rgb) {
  21776.         a = e.call(k, {
  21777.             hash: {},
  21778.             data: i
  21779.         })
  21780.     } else {
  21781.         e = (k && k.rgb);
  21782.         a = typeof e === f ? e.call(k, {
  21783.             hash: {},
  21784.             data: i
  21785.         }) : e
  21786.     }
  21787.     g += h(a) + ",1) 40%, rgba(";
  21788.     if (e = b.rgb) {
  21789.         a = e.call(k, {
  21790.             hash: {},
  21791.             data: i
  21792.         })
  21793.     } else {
  21794.         e = (k && k.rgb);
  21795.         a = typeof e === f ? e.call(k, {
  21796.             hash: {},
  21797.             data: i
  21798.         }) : e
  21799.     }
  21800.     g += h(a) + "),1) 100%);background: -o-linear-gradient(left, rgba(";
  21801.     if (e = b.rgb) {
  21802.         a = e.call(k, {
  21803.             hash: {},
  21804.             data: i
  21805.         })
  21806.     } else {
  21807.         e = (k && k.rgb);
  21808.         a = typeof e === f ? e.call(k, {
  21809.             hash: {},
  21810.             data: i
  21811.         }) : e
  21812.     }
  21813.     g += h(a) + ",0) 0%,rgba(";
  21814.     if (e = b.rgb) {
  21815.         a = e.call(k, {
  21816.             hash: {},
  21817.             data: i
  21818.         })
  21819.     } else {
  21820.         e = (k && k.rgb);
  21821.         a = typeof e === f ? e.call(k, {
  21822.             hash: {},
  21823.             data: i
  21824.         }) : e
  21825.     }
  21826.     g += h(a) + ",1) 40%,rgba(";
  21827.     if (e = b.rgb) {
  21828.         a = e.call(k, {
  21829.             hash: {},
  21830.             data: i
  21831.         })
  21832.     } else {
  21833.         e = (k && k.rgb);
  21834.         a = typeof e === f ? e.call(k, {
  21835.             hash: {},
  21836.             data: i
  21837.         }) : e
  21838.     }
  21839.     g += h(a) + ",1) 100%);background: -ms-linear-gradient(left, rgba(";
  21840.     if (e = b.rgb) {
  21841.         a = e.call(k, {
  21842.             hash: {},
  21843.             data: i
  21844.         })
  21845.     } else {
  21846.         e = (k && k.rgb);
  21847.         a = typeof e === f ? e.call(k, {
  21848.             hash: {},
  21849.             data: i
  21850.         }) : e
  21851.     }
  21852.     g += h(a) + ",0) 0%, rgba(";
  21853.     if (e = b.rgb) {
  21854.         a = e.call(k, {
  21855.             hash: {},
  21856.             data: i
  21857.         })
  21858.     } else {
  21859.         e = (k && k.rgb);
  21860.         a = typeof e === f ? e.call(k, {
  21861.             hash: {},
  21862.             data: i
  21863.         }) : e
  21864.     }
  21865.     g += h(a) + ",1) 40%, rgba(";
  21866.     if (e = b.rgb) {
  21867.         a = e.call(k, {
  21868.             hash: {},
  21869.             data: i
  21870.         })
  21871.     } else {
  21872.         e = (k && k.rgb);
  21873.         a = typeof e === f ? e.call(k, {
  21874.             hash: {},
  21875.             data: i
  21876.         }) : e
  21877.     }
  21878.     g += h(a) + ",1) 100%);background: linear-gradient(to right, rgba(";
  21879.     if (e = b.rgb) {
  21880.         a = e.call(k, {
  21881.             hash: {},
  21882.             data: i
  21883.         })
  21884.     } else {
  21885.         e = (k && k.rgb);
  21886.         a = typeof e === f ? e.call(k, {
  21887.             hash: {},
  21888.             data: i
  21889.         }) : e
  21890.     }
  21891.     g += h(a) + ",0) 0%, rgba(";
  21892.     if (e = b.rgb) {
  21893.         a = e.call(k, {
  21894.             hash: {},
  21895.             data: i
  21896.         })
  21897.     } else {
  21898.         e = (k && k.rgb);
  21899.         a = typeof e === f ? e.call(k, {
  21900.             hash: {},
  21901.             data: i
  21902.         }) : e
  21903.     }
  21904.     g += h(a) + ",1) 40%, rgba(";
  21905.     if (e = b.rgb) {
  21906.         a = e.call(k, {
  21907.             hash: {},
  21908.             data: i
  21909.         })
  21910.     } else {
  21911.         e = (k && k.rgb);
  21912.         a = typeof e === f ? e.call(k, {
  21913.             hash: {},
  21914.             data: i
  21915.         }) : e
  21916.     }
  21917.     g += h(a) + ",1) 100%);}.vertical--map__mobile-toggle {background-color: ";
  21918.     if (e = b.color) {
  21919.         a = e.call(k, {
  21920.             hash: {},
  21921.             data: i
  21922.         })
  21923.     } else {
  21924.         e = (k && k.color);
  21925.         a = typeof e === f ? e.call(k, {
  21926.             hash: {},
  21927.             data: i
  21928.         }) : e
  21929.     }
  21930.     g += h(a) + ";}.vertical--map__mobile-toggle-icon--map {background-image: url('assets/maps/map-icon-light.svg');}.is-mobile.is-mobile-header-exp.is-showing-autocomplete .body--home,.is-mobile.is-mobile-header-exp.is-showing-autocomplete .body--home .site-wrapper--home,.is-mobile.is-mobile-header-exp.is-showing-autocomplete .header-wrap {background-color: ";
  21931.     if (e = b.color) {
  21932.         a = e.call(k, {
  21933.             hash: {},
  21934.             data: i
  21935.         })
  21936.     } else {
  21937.         e = (k && k.color);
  21938.         a = typeof e === f ? e.call(k, {
  21939.             hash: {},
  21940.             data: i
  21941.         }) : e
  21942.     }
  21943.     g += h(a) + ";}";
  21944.     return g
  21945. });
  21946. this["DDG"]["templates"]["theme_header_menu_button"] = Handlebars.template(function(c, k, b, j, i) {
  21947.     this.compilerInfo = [4, ">= 1.0.0"];
  21948.     b = this.merge(b, c.helpers);
  21949.     i = i || {};
  21950.     var g = "",
  21951.         a, e, f = "function",
  21952.         h = this.escapeExpression;
  21953.     g += ".btn--icon,.header__link,.header__link:visited,.header__label,.showcase .social__link__text,.header__button--menu,.is-mobile-header-exp .header__button--menu,.no-touch .btn--icon,.no-touch .header__button,.no-touch .header__button--menu {color: ";
  21954.     if (e = b.icon) {
  21955.         a = e.call(k, {
  21956.             hash: {},
  21957.             data: i
  21958.         })
  21959.     } else {
  21960.         e = (k && k.icon);
  21961.         a = typeof e === f ? e.call(k, {
  21962.             hash: {},
  21963.             data: i
  21964.         }) : e
  21965.     }
  21966.     g += h(a) + ";}.showcase .showcase__heading,.showcase .social__link__text:hover,.header__link:hover,.header__label:hover,.header__clickable:hover {color: ";
  21967.     if (e = b.hoverText) {
  21968.         a = e.call(k, {
  21969.             hash: {},
  21970.             data: i
  21971.         })
  21972.     } else {
  21973.         e = (k && k.hoverText);
  21974.         a = typeof e === f ? e.call(k, {
  21975.             hash: {},
  21976.             data: i
  21977.         }) : e
  21978.     }
  21979.     g += h(a) + ";}.no-touch .btn--icon:hover,.no-touch .header__button:hover,.no-touch .header__button--menu:hover,.no-touch .header__button:focus,.no-touch .header__button--menu:focus {color: ";
  21980.     if (e = b.hoverColor) {
  21981.         a = e.call(k, {
  21982.             hash: {},
  21983.             data: i
  21984.         })
  21985.     } else {
  21986.         e = (k && k.hoverColor);
  21987.         a = typeof e === f ? e.call(k, {
  21988.             hash: {},
  21989.             data: i
  21990.         }) : e
  21991.     }
  21992.     g += h(a) + ";background-color: ";
  21993.     if (e = b.hoverBg) {
  21994.         a = e.call(k, {
  21995.             hash: {},
  21996.             data: i
  21997.         })
  21998.     } else {
  21999.         e = (k && k.hoverBg);
  22000.         a = typeof e === f ? e.call(k, {
  22001.             hash: {},
  22002.             data: i
  22003.         }) : e
  22004.     }
  22005.     g += h(a) + ";}.metabar__mode, .metabar__grid-btn {color: ";
  22006.     if (e = b.hoverText) {
  22007.         a = e.call(k, {
  22008.             hash: {},
  22009.             data: i
  22010.         })
  22011.     } else {
  22012.         e = (k && k.hoverText);
  22013.         a = typeof e === f ? e.call(k, {
  22014.             hash: {},
  22015.             data: i
  22016.         }) : e
  22017.     }
  22018.     g += h(a) + ";background-color: ";
  22019.     if (e = b.hoverBg) {
  22020.         a = e.call(k, {
  22021.             hash: {},
  22022.             data: i
  22023.         })
  22024.     } else {
  22025.         e = (k && k.hoverBg);
  22026.         a = typeof e === f ? e.call(k, {
  22027.             hash: {},
  22028.             data: i
  22029.         }) : e
  22030.     }
  22031.     g += h(a) + ";border-color: ";
  22032.     if (e = b.hoverBg) {
  22033.         a = e.call(k, {
  22034.             hash: {},
  22035.             data: i
  22036.         })
  22037.     } else {
  22038.         e = (k && k.hoverBg);
  22039.         a = typeof e === f ? e.call(k, {
  22040.             hash: {},
  22041.             data: i
  22042.         }) : e
  22043.     }
  22044.     g += h(a) + ";}.metabar__mode:hover, .metabar__grid-btn:hover {color: ";
  22045.     if (e = b.icon) {
  22046.         a = e.call(k, {
  22047.             hash: {},
  22048.             data: i
  22049.         })
  22050.     } else {
  22051.         e = (k && k.icon);
  22052.         a = typeof e === f ? e.call(k, {
  22053.             hash: {},
  22054.             data: i
  22055.         }) : e
  22056.     }
  22057.     g += h(a) + ";background-color: ";
  22058.     if (e = b.hoverBg) {
  22059.         a = e.call(k, {
  22060.             hash: {},
  22061.             data: i
  22062.         })
  22063.     } else {
  22064.         e = (k && k.hoverBg);
  22065.         a = typeof e === f ? e.call(k, {
  22066.             hash: {},
  22067.             data: i
  22068.         }) : e
  22069.     }
  22070.     g += h(a) + ";border-color: ";
  22071.     if (e = b.hoverBg) {
  22072.         a = e.call(k, {
  22073.             hash: {},
  22074.             data: i
  22075.         })
  22076.     } else {
  22077.         e = (k && k.hoverBg);
  22078.         a = typeof e === f ? e.call(k, {
  22079.             hash: {},
  22080.             data: i
  22081.         }) : e
  22082.     }
  22083.     g += h(a) + ";}.showcase .showcase__dropdown-top .showcase__subheading {color: ";
  22084.     if (e = b.link) {
  22085.         a = e.call(k, {
  22086.             hash: {},
  22087.             data: i
  22088.         })
  22089.     } else {
  22090.         e = (k && k.link);
  22091.         a = typeof e === f ? e.call(k, {
  22092.             hash: {},
  22093.             data: i
  22094.         }) : e
  22095.     }
  22096.     g += h(a) + ";}.showcase .showcase__dropdown-bottom {background: ";
  22097.     if (e = b.background) {
  22098.         a = e.call(k, {
  22099.             hash: {},
  22100.             data: i
  22101.         })
  22102.     } else {
  22103.         e = (k && k.background);
  22104.         a = typeof e === f ? e.call(k, {
  22105.             hash: {},
  22106.             data: i
  22107.         }) : e
  22108.     }
  22109.     g += h(a) + ";border-color: ";
  22110.     if (e = b.hoverBg) {
  22111.         a = e.call(k, {
  22112.             hash: {},
  22113.             data: i
  22114.         })
  22115.     } else {
  22116.         e = (k && k.hoverBg);
  22117.         a = typeof e === f ? e.call(k, {
  22118.             hash: {},
  22119.             data: i
  22120.         }) : e
  22121.     }
  22122.     g += h(a) + ";}";
  22123.     return g
  22124. });
  22125. this["DDG"]["templates"]["theme_module"] = Handlebars.template(function(f, n, e, m, k) {
  22126.     this.compilerInfo = [4, ">= 1.0.0"];
  22127.     e = this.merge(e, f.helpers);
  22128.     k = k || {};
  22129.     var i = "",
  22130.         b, g, h = "function",
  22131.         j = this.escapeExpression,
  22132.         p = this;
  22133.  
  22134.     function c(r, q) {
  22135.         return "box-shadow: 0 1px 3px rgba(0,0,0,0.5);"
  22136.     }
  22137.  
  22138.     function a(r, q) {
  22139.         return "box-shadow: 0 1px 3px 0 rgba(0,0,0,0.5);"
  22140.     }
  22141.  
  22142.     function o(u, t) {
  22143.         var q = "",
  22144.             r, s;
  22145.         q += ".set-themes .set-theme.is-checked {border-color: ";
  22146.         if (s = e.border) {
  22147.             r = s.call(u, {
  22148.                 hash: {},
  22149.                 data: t
  22150.             })
  22151.         } else {
  22152.             s = (u && u.border);
  22153.             r = typeof s === h ? s.call(u, {
  22154.                 hash: {},
  22155.                 data: t
  22156.             }) : s
  22157.         }
  22158.         q += j(r) + ";}.set-themes .set-theme[for=setting_kae_-1] {border-color: transparent;}";
  22159.         return q
  22160.     }
  22161.     i += ".module:not(.module--carousel):not(.module--placeholder):not(.module--images),.modal--popout .modal__box,.modal__box,.sidebar-modules .module,.results--main .result:not(.result--ad).highlight,.module .module--carousel__item,.user-loc-cta,.address-detail,.modal--dropdown.modal--popout .modal__box,.tile--info,.place-detail,.badge-link,.is-atb-fullbleed .content-info__item,.atb-banner__bottom,.multi-step-mobile-onboarding__step__content,.is-mobile .results_links_deep,.is-mobile .results_links,.is-mobile .result--news,.is-mobile .related-searches,.most-visited__info-tt {border: 1px solid ";
  22162.     if (g = e.border) {
  22163.         b = g.call(n, {
  22164.             hash: {},
  22165.             data: k
  22166.         })
  22167.     } else {
  22168.         g = (n && n.border);
  22169.         b = typeof g === h ? g.call(n, {
  22170.             hash: {},
  22171.             data: k
  22172.         }) : g
  22173.     }
  22174.     i += j(b) + ";background: ";
  22175.     if (g = e.moduleBg) {
  22176.         b = g.call(n, {
  22177.             hash: {},
  22178.             data: k
  22179.         })
  22180.     } else {
  22181.         g = (n && n.moduleBg);
  22182.         b = typeof g === h ? g.call(n, {
  22183.             hash: {},
  22184.             data: k
  22185.         }) : g
  22186.     }
  22187.     i += j(b) + ";";
  22188.     b = e["if"].call(n, (n && n.shadows), {
  22189.         hash: {},
  22190.         inverse: p.noop,
  22191.         fn: p.program(1, c, k),
  22192.         data: k
  22193.     });
  22194.     if (b || b === 0) {
  22195.         i += b
  22196.     }
  22197.     i += "color: ";
  22198.     if (g = e.secondaryText) {
  22199.         b = g.call(n, {
  22200.             hash: {},
  22201.             data: k
  22202.         })
  22203.     } else {
  22204.         g = (n && n.secondaryText);
  22205.         b = typeof g === h ? g.call(n, {
  22206.             hash: {},
  22207.             data: k
  22208.         }) : g
  22209.     }
  22210.     i += j(b) + ";}.multi-step-mobile-onboarding__step__content {border-width: 0;}.multi-step-mobile-onboarding__progress__fallback-bar {background-color: ";
  22211.     if (g = e.moduleBg) {
  22212.         b = g.call(n, {
  22213.             hash: {},
  22214.             data: k
  22215.         })
  22216.     } else {
  22217.         g = (n && n.moduleBg);
  22218.         b = typeof g === h ? g.call(n, {
  22219.             hash: {},
  22220.             data: k
  22221.         }) : g
  22222.     }
  22223.     i += j(b) + " !important;}.vertical--map__sidebar__results__inner {border: 1px solid ";
  22224.     if (g = e.border) {
  22225.         b = g.call(n, {
  22226.             hash: {},
  22227.             data: k
  22228.         })
  22229.     } else {
  22230.         g = (n && n.border);
  22231.         b = typeof g === h ? g.call(n, {
  22232.             hash: {},
  22233.             data: k
  22234.         }) : g
  22235.     }
  22236.     i += j(b) + ";background: ";
  22237.     if (g = e.moduleBg) {
  22238.         b = g.call(n, {
  22239.             hash: {},
  22240.             data: k
  22241.         })
  22242.     } else {
  22243.         g = (n && n.moduleBg);
  22244.         b = typeof g === h ? g.call(n, {
  22245.             hash: {},
  22246.             data: k
  22247.         }) : g
  22248.     }
  22249.     i += j(b) + ";color: ";
  22250.     if (g = e.secondaryText) {
  22251.         b = g.call(n, {
  22252.             hash: {},
  22253.             data: k
  22254.         })
  22255.     } else {
  22256.         g = (n && n.secondaryText);
  22257.         b = typeof g === h ? g.call(n, {
  22258.             hash: {},
  22259.             data: k
  22260.         }) : g
  22261.     }
  22262.     i += j(b) + ";}.place-detail {border: none;}.most-visited__info-tt--above:before,.most-visited__info-tt:before,.most-visited__info-tt--above:after,.most-visited__info-tt:after {border-top-color: ";
  22263.     if (g = e.moduleBg) {
  22264.         b = g.call(n, {
  22265.             hash: {},
  22266.             data: k
  22267.         })
  22268.     } else {
  22269.         g = (n && n.moduleBg);
  22270.         b = typeof g === h ? g.call(n, {
  22271.             hash: {},
  22272.             data: k
  22273.         }) : g
  22274.     }
  22275.     i += j(b) + ";border-bottom-color: ";
  22276.     if (g = e.moduleBg) {
  22277.         b = g.call(n, {
  22278.             hash: {},
  22279.             data: k
  22280.         })
  22281.     } else {
  22282.         g = (n && n.moduleBg);
  22283.         b = typeof g === h ? g.call(n, {
  22284.             hash: {},
  22285.             data: k
  22286.         }) : g
  22287.     }
  22288.     i += j(b) + ";}.address-detail {box-shadow: none;border-color: transparent;}.vertical--map__search-examples,.vertical--map__search-web,.about-info-box__info-row,.is-mobile .related-searches__item,.module--places .module__places-more {border-color: ";
  22289.     if (g = e.separator) {
  22290.         b = g.call(n, {
  22291.             hash: {},
  22292.             data: k
  22293.         })
  22294.     } else {
  22295.         g = (n && n.separator);
  22296.         b = typeof g === h ? g.call(n, {
  22297.             hash: {},
  22298.             data: k
  22299.         }) : g
  22300.     }
  22301.     i += j(b) + ";}.module--carousel__left,.module--carousel__right {background-color: ";
  22302.     if (g = e.primary) {
  22303.         b = g.call(n, {
  22304.             hash: {},
  22305.             data: k
  22306.         })
  22307.     } else {
  22308.         g = (n && n.primary);
  22309.         b = typeof g === h ? g.call(n, {
  22310.             hash: {},
  22311.             data: k
  22312.         }) : g
  22313.     }
  22314.     i += j(b) + ";";
  22315.     b = e["if"].call(n, (n && n.shadows), {
  22316.         hash: {},
  22317.         inverse: p.noop,
  22318.         fn: p.program(3, a, k),
  22319.         data: k
  22320.     });
  22321.     if (b || b === 0) {
  22322.         i += b
  22323.     }
  22324.     i += "color: ";
  22325.     if (g = e.primaryText) {
  22326.         b = g.call(n, {
  22327.             hash: {},
  22328.             data: k
  22329.         })
  22330.     } else {
  22331.         g = (n && n.primaryText);
  22332.         b = typeof g === h ? g.call(n, {
  22333.             hash: {},
  22334.             data: k
  22335.         }) : g
  22336.     }
  22337.     i += j(b) + ";border-color: ";
  22338.     if (g = e.separator) {
  22339.         b = g.call(n, {
  22340.             hash: {},
  22341.             data: k
  22342.         })
  22343.     } else {
  22344.         g = (n && n.separator);
  22345.         b = typeof g === h ? g.call(n, {
  22346.             hash: {},
  22347.             data: k
  22348.         }) : g
  22349.     }
  22350.     i += j(b) + ";}.module--carousel__left:hover,.module--carousel__right:hover,.tile__expand:hover {background-color: ";
  22351.     if (g = e.btnHoverBg) {
  22352.         b = g.call(n, {
  22353.             hash: {},
  22354.             data: k
  22355.         })
  22356.     } else {
  22357.         g = (n && n.btnHoverBg);
  22358.         b = typeof g === h ? g.call(n, {
  22359.             hash: {},
  22360.             data: k
  22361.         }) : g
  22362.     }
  22363.     i += j(b) + ";";
  22364.     b = e["if"].call(n, (n && n.shadows), {
  22365.         hash: {},
  22366.         inverse: p.noop,
  22367.         fn: p.program(3, a, k),
  22368.         data: k
  22369.     });
  22370.     if (b || b === 0) {
  22371.         i += b
  22372.     }
  22373.     i += "border-color: ";
  22374.     if (g = e.btnHoverBorder) {
  22375.         b = g.call(n, {
  22376.             hash: {},
  22377.             data: k
  22378.         })
  22379.     } else {
  22380.         g = (n && n.btnHoverBorder);
  22381.         b = typeof g === h ? g.call(n, {
  22382.             hash: {},
  22383.             data: k
  22384.         }) : g
  22385.     }
  22386.     i += j(b) + ";color: ";
  22387.     if (g = e.primaryText) {
  22388.         b = g.call(n, {
  22389.             hash: {},
  22390.             data: k
  22391.         })
  22392.     } else {
  22393.         g = (n && n.primaryText);
  22394.         b = typeof g === h ? g.call(n, {
  22395.             hash: {},
  22396.             data: k
  22397.         }) : g
  22398.     }
  22399.     i += j(b) + ";}.module__toggle,.tile__expand {background-color: ";
  22400.     if (g = e.primary) {
  22401.         b = g.call(n, {
  22402.             hash: {},
  22403.             data: k
  22404.         })
  22405.     } else {
  22406.         g = (n && n.primary);
  22407.         b = typeof g === h ? g.call(n, {
  22408.             hash: {},
  22409.             data: k
  22410.         }) : g
  22411.     }
  22412.     i += j(b) + ";color: ";
  22413.     if (g = e.primaryText) {
  22414.         b = g.call(n, {
  22415.             hash: {},
  22416.             data: k
  22417.         })
  22418.     } else {
  22419.         g = (n && n.primaryText);
  22420.         b = typeof g === h ? g.call(n, {
  22421.             hash: {},
  22422.             data: k
  22423.         }) : g
  22424.     }
  22425.     i += j(b) + ";border-color: ";
  22426.     if (g = e.border) {
  22427.         b = g.call(n, {
  22428.             hash: {},
  22429.             data: k
  22430.         })
  22431.     } else {
  22432.         g = (n && n.border);
  22433.         b = typeof g === h ? g.call(n, {
  22434.             hash: {},
  22435.             data: k
  22436.         }) : g
  22437.     }
  22438.     i += j(b) + ";box-shadow: none;}.is-not-mobile-device .module__toggle:hover,.place-detail__cta-item:hover .place-detail__cta-icon {background-color: ";
  22439.     if (g = e.btnHoverBg) {
  22440.         b = g.call(n, {
  22441.             hash: {},
  22442.             data: k
  22443.         })
  22444.     } else {
  22445.         g = (n && n.btnHoverBg);
  22446.         b = typeof g === h ? g.call(n, {
  22447.             hash: {},
  22448.             data: k
  22449.         }) : g
  22450.     }
  22451.     i += j(b) + ";color: ";
  22452.     if (g = e.secondaryText) {
  22453.         b = g.call(n, {
  22454.             hash: {},
  22455.             data: k
  22456.         })
  22457.     } else {
  22458.         g = (n && n.secondaryText);
  22459.         b = typeof g === h ? g.call(n, {
  22460.             hash: {},
  22461.             data: k
  22462.         }) : g
  22463.     }
  22464.     i += j(b) + ";}.module__toggle--more::after {background: linear-gradient(rgba(";
  22465.     if (g = e.moduleBgRgb) {
  22466.         b = g.call(n, {
  22467.             hash: {},
  22468.             data: k
  22469.         })
  22470.     } else {
  22471.         g = (n && n.moduleBgRgb);
  22472.         b = typeof g === h ? g.call(n, {
  22473.             hash: {},
  22474.             data: k
  22475.         }) : g
  22476.     }
  22477.     i += j(b) + ", 0), rgba(";
  22478.     if (g = e.moduleBgRgb) {
  22479.         b = g.call(n, {
  22480.             hash: {},
  22481.             data: k
  22482.         })
  22483.     } else {
  22484.         g = (n && n.moduleBgRgb);
  22485.         b = typeof g === h ? g.call(n, {
  22486.             hash: {},
  22487.             data: k
  22488.         }) : g
  22489.     }
  22490.     i += j(b) + ", 1));}.is-mobile .module {border-color: transparent;}.module__text,.module--carousel__footer,.user-loc-cta__dismiss,.module__title__sub {color: ";
  22491.     if (g = e.secondaryText) {
  22492.         b = g.call(n, {
  22493.             hash: {},
  22494.             data: k
  22495.         })
  22496.     } else {
  22497.         g = (n && n.secondaryText);
  22498.         b = typeof g === h ? g.call(n, {
  22499.             hash: {},
  22500.             data: k
  22501.         }) : g
  22502.     }
  22503.     i += j(b) + ";}.module__link, .module__link:visited, .module__link:hover, .module__link:focus, .module__link:active,.module__link a, .module__link a:visited, .module__link a:hover, .module__link a:focus, .module__link a:active,.modal--dropdown--settings .settings-dropdown--section .settings-dropdown--header .settings-dropdown--header--label,.user-loc-link,.user-loc-link:visited,.user-loc-link:hover,.module__link:visited,.module__link a:visited,.multi-step-mobile-onboarding__step__content h2,.multi-step-mobile-onboarding__step__content__body,.multi-step-mobile-onboarding__progress label,.atb-banner__bottom .atb-banner__title,.atb-banner__bottom .atb-banner__link {color: ";
  22504.     if (g = e.primaryText) {
  22505.         b = g.call(n, {
  22506.             hash: {},
  22507.             data: k
  22508.         })
  22509.     } else {
  22510.         g = (n && n.primaryText);
  22511.         b = typeof g === h ? g.call(n, {
  22512.             hash: {},
  22513.             data: k
  22514.         }) : g
  22515.     }
  22516.     i += j(b) + " !important;}.multi-step-mobile-onboarding__close svg path {fill: ";
  22517.     if (g = e.primaryText) {
  22518.         b = g.call(n, {
  22519.             hash: {},
  22520.             data: k
  22521.         })
  22522.     } else {
  22523.         g = (n && n.primaryText);
  22524.         b = typeof g === h ? g.call(n, {
  22525.             hash: {},
  22526.             data: k
  22527.         }) : g
  22528.     }
  22529.     i += j(b) + " !important;}.multi-step-mobile-onboarding__step__content header p,.multi-step-mobile-onboarding__step__content__body__remaining-items li a {color: ";
  22530.     if (g = e.secondaryText) {
  22531.         b = g.call(n, {
  22532.             hash: {},
  22533.             data: k
  22534.         })
  22535.     } else {
  22536.         g = (n && n.secondaryText);
  22537.         b = typeof g === h ? g.call(n, {
  22538.             hash: {},
  22539.             data: k
  22540.         }) : g
  22541.     }
  22542.     i += j(b) + " !important;}.multi-step-mobile-onboarding__step__content__body__remaining-items li a i {background-color: ";
  22543.     if (g = e.separator) {
  22544.         b = g.call(n, {
  22545.             hash: {},
  22546.             data: k
  22547.         })
  22548.     } else {
  22549.         g = (n && n.separator);
  22550.         b = typeof g === h ? g.call(n, {
  22551.             hash: {},
  22552.             data: k
  22553.         }) : g
  22554.     }
  22555.     i += j(b) + " !important;}.module__nav__item.is-active {border-bottom-color: ";
  22556.     if (g = e.secondaryText) {
  22557.         b = g.call(n, {
  22558.             hash: {},
  22559.             data: k
  22560.         })
  22561.     } else {
  22562.         g = (n && n.secondaryText);
  22563.         b = typeof g === h ? g.call(n, {
  22564.             hash: {},
  22565.             data: k
  22566.         }) : g
  22567.     }
  22568.     i += j(b) + ';}.tile {content:"";';
  22569.     b = e["if"].call(n, (n && n.shadows), {
  22570.         hash: {},
  22571.         inverse: p.noop,
  22572.         fn: p.program(3, a, k),
  22573.         data: k
  22574.     });
  22575.     if (b || b === 0) {
  22576.         i += b
  22577.     }
  22578.     i += "border-color: ";
  22579.     if (g = e.border) {
  22580.         b = g.call(n, {
  22581.             hash: {},
  22582.             data: k
  22583.         })
  22584.     } else {
  22585.         g = (n && n.border);
  22586.         b = typeof g === h ? g.call(n, {
  22587.             hash: {},
  22588.             data: k
  22589.         }) : g
  22590.     }
  22591.     i += j(b) + ";background: ";
  22592.     if (g = e.moduleBg) {
  22593.         b = g.call(n, {
  22594.             hash: {},
  22595.             data: k
  22596.         })
  22597.     } else {
  22598.         g = (n && n.moduleBg);
  22599.         b = typeof g === h ? g.call(n, {
  22600.             hash: {},
  22601.             data: k
  22602.         }) : g
  22603.     }
  22604.     i += j(b) + ";}.tile .tile__body {border-color: ";
  22605.     if (g = e.border) {
  22606.         b = g.call(n, {
  22607.             hash: {},
  22608.             data: k
  22609.         })
  22610.     } else {
  22611.         g = (n && n.border);
  22612.         b = typeof g === h ? g.call(n, {
  22613.             hash: {},
  22614.             data: k
  22615.         }) : g
  22616.     }
  22617.     i += j(b) + ";background: ";
  22618.     if (g = e.moduleBg) {
  22619.         b = g.call(n, {
  22620.             hash: {},
  22621.             data: k
  22622.         })
  22623.     } else {
  22624.         g = (n && n.moduleBg);
  22625.         b = typeof g === h ? g.call(n, {
  22626.             hash: {},
  22627.             data: k
  22628.         }) : g
  22629.     }
  22630.     i += j(b) + ";}.tile .tile__title {color: ";
  22631.     if (g = e.primaryText) {
  22632.         b = g.call(n, {
  22633.             hash: {},
  22634.             data: k
  22635.         })
  22636.     } else {
  22637.         g = (n && n.primaryText);
  22638.         b = typeof g === h ? g.call(n, {
  22639.             hash: {},
  22640.             data: k
  22641.         }) : g
  22642.     }
  22643.     i += j(b) + ";}.modal .frm__select {border-color: transparent;}.modal .frm__select,.modal .frm__select select,.modal .frm__text,.modal .frm__input,.modal--dropdown--region .modal__list__divider {resize: none;border-color: transparent;background: ";
  22644.     if (g = e.primary) {
  22645.         b = g.call(n, {
  22646.             hash: {},
  22647.             data: k
  22648.         })
  22649.     } else {
  22650.         g = (n && n.primary);
  22651.         b = typeof g === h ? g.call(n, {
  22652.             hash: {},
  22653.             data: k
  22654.         }) : g
  22655.     }
  22656.     i += j(b) + ";color: ";
  22657.     if (g = e.primaryText) {
  22658.         b = g.call(n, {
  22659.             hash: {},
  22660.             data: k
  22661.         })
  22662.     } else {
  22663.         g = (n && n.primaryText);
  22664.         b = typeof g === h ? g.call(n, {
  22665.             hash: {},
  22666.             data: k
  22667.         }) : g
  22668.     }
  22669.     i += j(b) + ";}.module--carousel__image-wrapper {background: ";
  22670.     if (g = e.primary) {
  22671.         b = g.call(n, {
  22672.             hash: {},
  22673.             data: k
  22674.         })
  22675.     } else {
  22676.         g = (n && n.primary);
  22677.         b = typeof g === h ? g.call(n, {
  22678.             hash: {},
  22679.             data: k
  22680.         }) : g
  22681.     }
  22682.     i += j(b) + ";}.modal__header {background: ";
  22683.     if (g = e.primary) {
  22684.         b = g.call(n, {
  22685.             hash: {},
  22686.             data: k
  22687.         })
  22688.     } else {
  22689.         g = (n && n.primary);
  22690.         b = typeof g === h ? g.call(n, {
  22691.             hash: {},
  22692.             data: k
  22693.         }) : g
  22694.     }
  22695.     i += j(b) + ";}.modal__header,.module__section,.module__section:first-child.place-detail__section--tab,.module__clickable-header {border-color: ";
  22696.     if (g = e.primary) {
  22697.         b = g.call(n, {
  22698.             hash: {},
  22699.             data: k
  22700.         })
  22701.     } else {
  22702.         g = (n && n.primary);
  22703.         b = typeof g === h ? g.call(n, {
  22704.             hash: {},
  22705.             data: k
  22706.         }) : g
  22707.     }
  22708.     i += j(b) + ";}.modal .frm__select:after {color: ";
  22709.     if (g = e.primaryText) {
  22710.         b = g.call(n, {
  22711.             hash: {},
  22712.             data: k
  22713.         })
  22714.     } else {
  22715.         g = (n && n.primaryText);
  22716.         b = typeof g === h ? g.call(n, {
  22717.             hash: {},
  22718.             data: k
  22719.         }) : g
  22720.     }
  22721.     i += j(b) + ";}.faq__section,.faq__section:last-child,.modal--dropdown--settings .settings-dropdown--section {border-color: ";
  22722.     if (g = e.separator) {
  22723.         b = g.call(n, {
  22724.             hash: {},
  22725.             data: k
  22726.         })
  22727.     } else {
  22728.         g = (n && n.separator);
  22729.         b = typeof g === h ? g.call(n, {
  22730.             hash: {},
  22731.             data: k
  22732.         }) : g
  22733.     }
  22734.     i += j(b) + ";}.modal--dropdown--settings .settings-dropdown--section .frm__field .frm__select select {background: ";
  22735.     if (g = e.moduleBg) {
  22736.         b = g.call(n, {
  22737.             hash: {},
  22738.             data: k
  22739.         })
  22740.     } else {
  22741.         g = (n && n.moduleBg);
  22742.         b = typeof g === h ? g.call(n, {
  22743.             hash: {},
  22744.             data: k
  22745.         }) : g
  22746.     }
  22747.     i += j(b) + ";}.modal--dropdown--settings .settings-dropdown--section .frm__field .frm__select:before {background-image: linear-gradient(to right, rgba(";
  22748.     if (g = e.moduleBgRgb) {
  22749.         b = g.call(n, {
  22750.             hash: {},
  22751.             data: k
  22752.         })
  22753.     } else {
  22754.         g = (n && n.moduleBgRgb);
  22755.         b = typeof g === h ? g.call(n, {
  22756.             hash: {},
  22757.             data: k
  22758.         }) : g
  22759.     }
  22760.     i += j(b) + ", 0) 0%, rgba(";
  22761.     if (g = e.moduleBgRgb) {
  22762.         b = g.call(n, {
  22763.             hash: {},
  22764.             data: k
  22765.         })
  22766.     } else {
  22767.         g = (n && n.moduleBgRgb);
  22768.         b = typeof g === h ? g.call(n, {
  22769.             hash: {},
  22770.             data: k
  22771.         }) : g
  22772.     }
  22773.     i += j(b) + ", 1) 65%);}.modal--dropdown--settings .settings-dropdown--section .settings-dropdown--header .settings-dropdown--header--link {color: ";
  22774.     if (g = e.primaryText) {
  22775.         b = g.call(n, {
  22776.             hash: {},
  22777.             data: k
  22778.         })
  22779.     } else {
  22780.         g = (n && n.primaryText);
  22781.         b = typeof g === h ? g.call(n, {
  22782.             hash: {},
  22783.             data: k
  22784.         }) : g
  22785.     }
  22786.     i += j(b) + ";}.vertical--map__sidebar__wrapper,.is-mobile-device .vertical--map__sidebar--normal .vertical--map__sidebar-mask {background: ";
  22787.     if (g = e.moduleBg) {
  22788.         b = g.call(n, {
  22789.             hash: {},
  22790.             data: k
  22791.         })
  22792.     } else {
  22793.         g = (n && n.moduleBg);
  22794.         b = typeof g === h ? g.call(n, {
  22795.             hash: {},
  22796.             data: k
  22797.         }) : g
  22798.     }
  22799.     i += j(b) + ";}.badge--ad__tooltip {color: ";
  22800.     if (g = e.primaryText) {
  22801.         b = g.call(n, {
  22802.             hash: {},
  22803.             data: k
  22804.         })
  22805.     } else {
  22806.         g = (n && n.primaryText);
  22807.         b = typeof g === h ? g.call(n, {
  22808.             hash: {},
  22809.             data: k
  22810.         }) : g
  22811.     }
  22812.     i += j(b) + ";border-color: ";
  22813.     if (g = e.separator) {
  22814.         b = g.call(n, {
  22815.             hash: {},
  22816.             data: k
  22817.         })
  22818.     } else {
  22819.         g = (n && n.separator);
  22820.         b = typeof g === h ? g.call(n, {
  22821.             hash: {},
  22822.             data: k
  22823.         }) : g
  22824.     }
  22825.     i += j(b) + ";background: ";
  22826.     if (g = e.moduleBg) {
  22827.         b = g.call(n, {
  22828.             hash: {},
  22829.             data: k
  22830.         })
  22831.     } else {
  22832.         g = (n && n.moduleBg);
  22833.         b = typeof g === h ? g.call(n, {
  22834.             hash: {},
  22835.             data: k
  22836.         }) : g
  22837.     }
  22838.     i += j(b) + ";}.badge--ad__tooltip--mobile .badge--ad__tooltip__triangle-outer,.badge--ad__tooltip--below .badge--ad__tooltip__triangle-outer {border-bottom-color: ";
  22839.     if (g = e.separator) {
  22840.         b = g.call(n, {
  22841.             hash: {},
  22842.             data: k
  22843.         })
  22844.     } else {
  22845.         g = (n && n.separator);
  22846.         b = typeof g === h ? g.call(n, {
  22847.             hash: {},
  22848.             data: k
  22849.         }) : g
  22850.     }
  22851.     i += j(b) + ";}.badge--ad__tooltip--mobile .badge--ad__tooltip__triangle-inner,.badge--ad__tooltip--below .badge--ad__tooltip__triangle-inner {border-bottom-color: ";
  22852.     if (g = e.moduleBg) {
  22853.         b = g.call(n, {
  22854.             hash: {},
  22855.             data: k
  22856.         })
  22857.     } else {
  22858.         g = (n && n.moduleBg);
  22859.         b = typeof g === h ? g.call(n, {
  22860.             hash: {},
  22861.             data: k
  22862.         }) : g
  22863.     }
  22864.     i += j(b) + ";}.badge--ad__tooltip--right .badge--ad__tooltip__triangle-outer {border-right-color: ";
  22865.     if (g = e.separator) {
  22866.         b = g.call(n, {
  22867.             hash: {},
  22868.             data: k
  22869.         })
  22870.     } else {
  22871.         g = (n && n.separator);
  22872.         b = typeof g === h ? g.call(n, {
  22873.             hash: {},
  22874.             data: k
  22875.         }) : g
  22876.     }
  22877.     i += j(b) + ";}.badge--ad__tooltip--right .badge--ad__tooltip__triangle-inner {border-right-color: ";
  22878.     if (g = e.moduleBg) {
  22879.         b = g.call(n, {
  22880.             hash: {},
  22881.             data: k
  22882.         })
  22883.     } else {
  22884.         g = (n && n.moduleBg);
  22885.         b = typeof g === h ? g.call(n, {
  22886.             hash: {},
  22887.             data: k
  22888.         }) : g
  22889.     }
  22890.     i += j(b) + ";}";
  22891.     b = e["if"].call(n, (n && n.isDark), {
  22892.         hash: {},
  22893.         inverse: p.noop,
  22894.         fn: p.program(5, o, k),
  22895.         data: k
  22896.     });
  22897.     if (b || b === 0) {
  22898.         i += b
  22899.     }
  22900.     return i
  22901. });
  22902. this["DDG"]["templates"]["theme_result_highlight"] = Handlebars.template(function(c, k, b, j, i) {
  22903.     this.compilerInfo = [4, ">= 1.0.0"];
  22904.     b = this.merge(b, c.helpers);
  22905.     i = i || {};
  22906.     var g = "",
  22907.         a, e, f = "function",
  22908.         h = this.escapeExpression;
  22909.     g += ".msg--result.highlight,.msg--box,.about-info-box__toggle--hover .about-info-box__toggle__chevron,.about-info-box__toggle--hover .about-info-box__toggle__chevron--collapse {background: ";
  22910.     if (e = b.color) {
  22911.         a = e.call(k, {
  22912.             hash: {},
  22913.             data: i
  22914.         })
  22915.     } else {
  22916.         e = (k && k.color);
  22917.         a = typeof e === f ? e.call(k, {
  22918.             hash: {},
  22919.             data: i
  22920.         }) : e
  22921.     }
  22922.     g += h(a) + ";}.results--main .result.result--ad.highlight {border: none;}.result.result--ad.highlight {background: none;}.sitelinks_td.highlight {border-left-color: ";
  22923.     if (e = b.color) {
  22924.         a = e.call(k, {
  22925.             hash: {},
  22926.             data: i
  22927.         })
  22928.     } else {
  22929.         e = (k && k.color);
  22930.         a = typeof e === f ? e.call(k, {
  22931.             hash: {},
  22932.             data: i
  22933.         }) : e
  22934.     }
  22935.     g += h(a) + ";}";
  22936.     return g
  22937. });
  22938. this["DDG"]["templates"]["theme_result_message"] = Handlebars.template(function(c, k, b, j, i) {
  22939.     this.compilerInfo = [4, ">= 1.0.0"];
  22940.     b = this.merge(b, c.helpers);
  22941.     i = i || {};
  22942.     var g = "",
  22943.         a, e, f = "function",
  22944.         h = this.escapeExpression;
  22945.     g += ".msg--bang__bang-name {color: ";
  22946.     if (e = b.textColor) {
  22947.         a = e.call(k, {
  22948.             hash: {},
  22949.             data: i
  22950.         })
  22951.     } else {
  22952.         e = (k && k.textColor);
  22953.         a = typeof e === f ? e.call(k, {
  22954.             hash: {},
  22955.             data: i
  22956.         }) : e
  22957.     }
  22958.     g += h(a) + ";background-color: ";
  22959.     if (e = b.bgColor) {
  22960.         a = e.call(k, {
  22961.             hash: {},
  22962.             data: i
  22963.         })
  22964.     } else {
  22965.         e = (k && k.bgColor);
  22966.         a = typeof e === f ? e.call(k, {
  22967.             hash: {},
  22968.             data: i
  22969.         }) : e
  22970.     }
  22971.     g += h(a) + ";border-color: ";
  22972.     if (e = b.borderColor) {
  22973.         a = e.call(k, {
  22974.             hash: {},
  22975.             data: i
  22976.         })
  22977.     } else {
  22978.         e = (k && k.borderColor);
  22979.         a = typeof e === f ? e.call(k, {
  22980.             hash: {},
  22981.             data: i
  22982.         }) : e
  22983.     }
  22984.     g += h(a) + ";}.msg--bang__bangs-link,.msg--bang__bangs-link:hover,.msg--bang__bangs-link:visited,.msg--bang__bangs-link:active,.msg--spelling a,.msg--spelling a:visited,.msg--spelling a:hover,.msg--spelling a:active,.msg--site a,.msg--site a:visited,.msg--site a:hover,.msg--site a:active {color: ";
  22985.     if (e = b.linkColor) {
  22986.         a = e.call(k, {
  22987.             hash: {},
  22988.             data: i
  22989.         })
  22990.     } else {
  22991.         e = (k && k.linkColor);
  22992.         a = typeof e === f ? e.call(k, {
  22993.             hash: {},
  22994.             data: i
  22995.         }) : e
  22996.     }
  22997.     g += h(a) + ";}.msg__site,.msg__clear-filter,.msg__clear-filter:hover {color: ";
  22998.     if (e = b.textColor) {
  22999.         a = e.call(k, {
  23000.             hash: {},
  23001.             data: i
  23002.         })
  23003.     } else {
  23004.         e = (k && k.textColor);
  23005.         a = typeof e === f ? e.call(k, {
  23006.             hash: {},
  23007.             data: i
  23008.         }) : e
  23009.     }
  23010.     g += h(a) + ";}";
  23011.     return g
  23012. });
  23013. this["DDG"]["templates"]["theme_result_snippet"] = Handlebars.template(function(c, k, b, j, i) {
  23014.     this.compilerInfo = [4, ">= 1.0.0"];
  23015.     b = this.merge(b, c.helpers);
  23016.     i = i || {};
  23017.     var g = "",
  23018.         a, e, f = "function",
  23019.         h = this.escapeExpression;
  23020.     g += ".result__snippet,.result__snippet b,.result__snippet .sponsored__sitelink__comma {color: ";
  23021.     if (e = b.color) {
  23022.         a = e.call(k, {
  23023.             hash: {},
  23024.             data: i
  23025.         })
  23026.     } else {
  23027.         e = (k && k.color);
  23028.         a = typeof e === f ? e.call(k, {
  23029.             hash: {},
  23030.             data: i
  23031.         }) : e
  23032.     }
  23033.     g += h(a) + " !important;}.report-ad__start {border-color: ";
  23034.     if (e = b.primary) {
  23035.         a = e.call(k, {
  23036.             hash: {},
  23037.             data: i
  23038.         })
  23039.     } else {
  23040.         e = (k && k.primary);
  23041.         a = typeof e === f ? e.call(k, {
  23042.             hash: {},
  23043.             data: i
  23044.         }) : e
  23045.     }
  23046.     g += h(a) + ";}.report-ad,.report-ad__link,.report-ad__link:hover,.report-ad__link:visited,.report-ad__link:visited:hover {color: ";
  23047.     if (e = b.tertiaryColor) {
  23048.         a = e.call(k, {
  23049.             hash: {},
  23050.             data: i
  23051.         })
  23052.     } else {
  23053.         e = (k && k.tertiaryColor);
  23054.         a = typeof e === f ? e.call(k, {
  23055.             hash: {},
  23056.             data: i
  23057.         }) : e
  23058.     }
  23059.     g += h(a) + " !important;}.result__date {color: ";
  23060.     if (e = b.dateColor) {
  23061.         a = e.call(k, {
  23062.             hash: {},
  23063.             data: i
  23064.         })
  23065.     } else {
  23066.         e = (k && k.dateColor);
  23067.         a = typeof e === f ? e.call(k, {
  23068.             hash: {},
  23069.             data: i
  23070.         }) : e
  23071.     }
  23072.     g += h(a) + " !important;}";
  23073.     return g
  23074. });
  23075. this["DDG"]["templates"]["theme_result_title"] = Handlebars.template(function(c, k, b, j, i) {
  23076.     this.compilerInfo = [4, ">= 1.0.0"];
  23077.     b = this.merge(b, c.helpers);
  23078.     i = i || {};
  23079.     var g = "",
  23080.         a, e, f = "function",
  23081.         h = this.escapeExpression;
  23082.     g += ".result a.result__a,.result a.result__a:hover,.result a.result__a:active,.result a.badge--ad,.result a.badge--ad:hover,.result a.badge--ad:focus,.sitelinks__title a.result__a,.sitelinks__title a.result__a:hover,.sitelinks__title a.result__a:active,.msg__all,.msg__all:visited,.msg__all:hover,.msg__clear,.msg__clear:active,.msg__clear:hover,.msg__clear:visited,.msg--spelling :link,.msg--spelling a:visited,.msg--spelling a:hover,.module__link,.module__link:hover,.module__link:focus,.module__link:active,.module__link a,.module__link a:hover,.module__link a:focus,.module__link a:active,.module--carousel__body__title,.module--carousel__body__title:active,.module--carousel__body__title:hover,.module--carousel__more,.module--carousel__more:active,.module--carousel__more:hover,.no-results__link,.no-results__link:visited,.no-results__link:active,.no-results__link:hover,.about-info-box__link-row__link:hover,.about-info-box__link-row__link:active {color: ";
  23083.     if (e = b.color) {
  23084.         a = e.call(k, {
  23085.             hash: {},
  23086.             data: i
  23087.         })
  23088.     } else {
  23089.         e = (k && k.color);
  23090.         a = typeof e === f ? e.call(k, {
  23091.             hash: {},
  23092.             data: i
  23093.         }) : e
  23094.     }
  23095.     g += h(a) + ";}.result a.badge--ad,.result a.badge--ad:hover,.result a.badge--ad:focus {border-color: ";
  23096.     if (e = b.color) {
  23097.         a = e.call(k, {
  23098.             hash: {},
  23099.             data: i
  23100.         })
  23101.     } else {
  23102.         e = (k && k.color);
  23103.         a = typeof e === f ? e.call(k, {
  23104.             hash: {},
  23105.             data: i
  23106.         }) : e
  23107.     }
  23108.     g += h(a) + ";}.result__sitelinks .sponsored__sitelink b,.result__sitelinks .sponsored__sitelink,.result__sitelinks .sponsored__sitelink:active,.result__sitelinks .sponsored__sitelink:hover {color: ";
  23109.     if (e = b.color) {
  23110.         a = e.call(k, {
  23111.             hash: {},
  23112.             data: i
  23113.         })
  23114.     } else {
  23115.         e = (k && k.color);
  23116.         a = typeof e === f ? e.call(k, {
  23117.             hash: {},
  23118.             data: i
  23119.         }) : e
  23120.     }
  23121.     g += h(a) + " !important;}";
  23122.     return g
  23123. });
  23124. this["DDG"]["templates"]["theme_result_web_links"] = Handlebars.template(function(c, k, b, j, i) {
  23125.     this.compilerInfo = [4, ">= 1.0.0"];
  23126.     b = this.merge(b, c.helpers);
  23127.     i = i || {};
  23128.     var g = "",
  23129.         a, e, f = "function",
  23130.         h = this.escapeExpression;
  23131.     g += ".result__url,.result__url:visited,.result__url:active,.result__url:hover,.result__url:focus,.result__url:visited:focus,.result--ad .result__url,.result--ad .result__url:hover,.result--ad .result__url:active,.result--ad .result__url:visited {color: ";
  23132.     if (e = b.color) {
  23133.         a = e.call(k, {
  23134.             hash: {},
  23135.             data: i
  23136.         })
  23137.     } else {
  23138.         e = (k && k.color);
  23139.         a = typeof e === f ? e.call(k, {
  23140.             hash: {},
  23141.             data: i
  23142.         }) : e
  23143.     }
  23144.     g += h(a) + ";}.badge--ad--inline,.badge--ad--inline:hover,.badge--ad--inline:focus {color: ";
  23145.     if (e = b.color) {
  23146.         a = e.call(k, {
  23147.             hash: {},
  23148.             data: i
  23149.         })
  23150.     } else {
  23151.         e = (k && k.color);
  23152.         a = typeof e === f ? e.call(k, {
  23153.             hash: {},
  23154.             data: i
  23155.         }) : e
  23156.     }
  23157.     g += h(a) + ";border-color: ";
  23158.     if (e = b.color) {
  23159.         a = e.call(k, {
  23160.             hash: {},
  23161.             data: i
  23162.         })
  23163.     } else {
  23164.         e = (k && k.color);
  23165.         a = typeof e === f ? e.call(k, {
  23166.             hash: {},
  23167.             data: i
  23168.         }) : e
  23169.     }
  23170.     g += h(a) + ";}";
  23171.     return g
  23172. });
  23173. this["DDG"]["templates"]["theme_search_bar"] = Handlebars.template(function(e, m, c, k, j) {
  23174.     this.compilerInfo = [4, ">= 1.0.0"];
  23175.     c = this.merge(c, e.helpers);
  23176.     j = j || {};
  23177.     var h = "",
  23178.         a, f, g = "function",
  23179.         i = this.escapeExpression,
  23180.         n = this;
  23181.  
  23182.     function b(s, r) {
  23183.         var o = "",
  23184.             p, q;
  23185.         o += ".search__input--adv {color: ";
  23186.         if (q = c.inputText) {
  23187.             p = q.call(s, {
  23188.                 hash: {},
  23189.                 data: r
  23190.             })
  23191.         } else {
  23192.             q = (s && s.inputText);
  23193.             p = typeof q === g ? q.call(s, {
  23194.                 hash: {},
  23195.                 data: r
  23196.             }) : q
  23197.         }
  23198.         o += i(p) + ";}";
  23199.         return o
  23200.     }
  23201.     h += ".search--home,.search--header {background-color: ";
  23202.     if (f = c.bg) {
  23203.         a = f.call(m, {
  23204.             hash: {},
  23205.             data: j
  23206.         })
  23207.     } else {
  23208.         f = (m && m.bg);
  23209.         a = typeof f === g ? f.call(m, {
  23210.             hash: {},
  23211.             data: j
  23212.         }) : f
  23213.     }
  23214.     h += i(a) + ";border-color: ";
  23215.     if (f = c.bg) {
  23216.         a = f.call(m, {
  23217.             hash: {},
  23218.             data: j
  23219.         })
  23220.     } else {
  23221.         f = (m && m.bg);
  23222.         a = typeof f === g ? f.call(m, {
  23223.             hash: {},
  23224.             data: j
  23225.         }) : f
  23226.     }
  23227.     h += i(a) + ";box-shadow: 0 1px 3px rgba(0,0,0,0.5);}.search__clear,.search--home.has-text .search__clear {color: ";
  23228.     if (f = c.iconText) {
  23229.         a = f.call(m, {
  23230.             hash: {},
  23231.             data: j
  23232.         })
  23233.     } else {
  23234.         f = (m && m.iconText);
  23235.         a = typeof f === g ? f.call(m, {
  23236.             hash: {},
  23237.             data: j
  23238.         }) : f
  23239.     }
  23240.     h += i(a) + ";}.search__clear:focus,.search__clear:hover,.search__clear:active,.search__clear:active:focus,.search__clear:active:hover {color: ";
  23241.     if (f = c.iconHover) {
  23242.         a = f.call(m, {
  23243.             hash: {},
  23244.             data: j
  23245.         })
  23246.     } else {
  23247.         f = (m && m.iconHover);
  23248.         a = typeof f === g ? f.call(m, {
  23249.             hash: {},
  23250.             data: j
  23251.         }) : f
  23252.     }
  23253.     h += i(a) + ";}";
  23254.     a = c["if"].call(m, (m && m.inputText), {
  23255.         hash: {},
  23256.         inverse: n.noop,
  23257.         fn: n.program(1, b, j),
  23258.         data: j
  23259.     });
  23260.     if (a || a === 0) {
  23261.         h += a
  23262.     }
  23263.     h += ".search__button:hover,.search__button:focus,.search--hover .search__button,.search--hover .search__button:focus,.search--header.has-text.search--hover .search__button,.search--header.has-text.search--focus .search__button,.search--header.has-text.search--hover .search__button:hover,.search--header.has-text.search--focus .search__button:hover,.search--home.has-text .search__button,.search--home.has-text .search__button:focus,.search--home.has-text .search__button:hover {background-color: ";
  23264.     if (f = c.buttonBg) {
  23265.         a = f.call(m, {
  23266.             hash: {},
  23267.             data: j
  23268.         })
  23269.     } else {
  23270.         f = (m && m.buttonBg);
  23271.         a = typeof f === g ? f.call(m, {
  23272.             hash: {},
  23273.             data: j
  23274.         }) : f
  23275.     }
  23276.     h += i(a) + ";color: ";
  23277.     if (f = c.iconText) {
  23278.         a = f.call(m, {
  23279.             hash: {},
  23280.             data: j
  23281.         })
  23282.     } else {
  23283.         f = (m && m.iconText);
  23284.         a = typeof f === g ? f.call(m, {
  23285.             hash: {},
  23286.             data: j
  23287.         }) : f
  23288.     }
  23289.     h += i(a) + ";}.search__button:hover,.search--header.has-text.search--hover .search__button:hover,.search--header.has-text.search--focus .search__button:hover,.search--home.has-text .search__button:focus,.search--home.has-text .search__button:hover {color: ";
  23290.     if (f = c.iconHover) {
  23291.         a = f.call(m, {
  23292.             hash: {},
  23293.             data: j
  23294.         })
  23295.     } else {
  23296.         f = (m && m.iconHover);
  23297.         a = typeof f === g ? f.call(m, {
  23298.             hash: {},
  23299.             data: j
  23300.         }) : f
  23301.     }
  23302.     h += i(a) + ";}.is-mobile.is-mobile-header-exp .search--mobile-exp {border-color: ";
  23303.     if (f = c.bg) {
  23304.         a = f.call(m, {
  23305.             hash: {},
  23306.             data: j
  23307.         })
  23308.     } else {
  23309.         f = (m && m.bg);
  23310.         a = typeof f === g ? f.call(m, {
  23311.             hash: {},
  23312.             data: j
  23313.         }) : f
  23314.     }
  23315.     h += i(a) + ";}.is-mobile.is-mobile-header-exp .search--mobile-exp.has-text:after {background-color: ";
  23316.     if (f = c.sepColor) {
  23317.         a = f.call(m, {
  23318.             hash: {},
  23319.             data: j
  23320.         })
  23321.     } else {
  23322.         f = (m && m.sepColor);
  23323.         a = typeof f === g ? f.call(m, {
  23324.             hash: {},
  23325.             data: j
  23326.         }) : f
  23327.     }
  23328.     h += i(a) + ";}.is-mobile .search--adv.search--mobile-exp.has-text .search__button {background-color: transparent;}.is-mobile .search--adv.search--mobile-exp.has-text .search__button:focus,.is-mobile .search--adv.search--mobile-exp.has-text .search__button:hover,.is-mobile .search--adv.search--mobile-exp .search__button:focus,.is-mobile .search--adv.search--mobile-exp .search__button:hover {background-color: transparent;color: ";
  23329.     if (f = c.iconHover) {
  23330.         a = f.call(m, {
  23331.             hash: {},
  23332.             data: j
  23333.         })
  23334.     } else {
  23335.         f = (m && m.iconHover);
  23336.         a = typeof f === g ? f.call(m, {
  23337.             hash: {},
  23338.             data: j
  23339.         }) : f
  23340.     }
  23341.     h += i(a) + ";}.is-mobile .search--adv.search--mobile-exp.has-text .search__button,.is-mobile .search--adv.search--mobile-exp .search__back {color: ";
  23342.     if (f = c.iconText) {
  23343.         a = f.call(m, {
  23344.             hash: {},
  23345.             data: j
  23346.         })
  23347.     } else {
  23348.         f = (m && m.iconText);
  23349.         a = typeof f === g ? f.call(m, {
  23350.             hash: {},
  23351.             data: j
  23352.         }) : f
  23353.     }
  23354.     h += i(a) + ";}.is-mobile .search--adv.search--mobile-exp .search__back:focus,.is-mobile .search--adv.search--mobile-exp .search__back:hover,.is-mobile .search--adv.search--mobile-exp .acp__search-fill:hover,.is-mobile .search--adv.search--mobile-exp .acp__search-fill:focus {color: ";
  23355.     if (f = c.iconHover) {
  23356.         a = f.call(m, {
  23357.             hash: {},
  23358.             data: j
  23359.         })
  23360.     } else {
  23361.         f = (m && m.iconHover);
  23362.         a = typeof f === g ? f.call(m, {
  23363.             hash: {},
  23364.             data: j
  23365.         }) : f
  23366.     }
  23367.     h += i(a) + ";}";
  23368.     return h
  23369. });
  23370. this["DDG"]["templates"]["theme_sidemenu"] = Handlebars.template(function(c, k, b, j, i) {
  23371.     this.compilerInfo = [4, ">= 1.0.0"];
  23372.     b = this.merge(b, c.helpers);
  23373.     i = i || {};
  23374.     var g = "",
  23375.         a, e, f = "function",
  23376.         h = this.escapeExpression;
  23377.     g += ".nav-menu,.nav-menu--slideout {background-color: ";
  23378.     if (e = b.bg) {
  23379.         a = e.call(k, {
  23380.             hash: {},
  23381.             data: i
  23382.         })
  23383.     } else {
  23384.         e = (k && k.bg);
  23385.         a = typeof e === f ? e.call(k, {
  23386.             hash: {},
  23387.             data: i
  23388.         }) : e
  23389.     }
  23390.     g += h(a) + ";}.nav-menu--slideout {border-left-color: ";
  23391.     if (e = b.border) {
  23392.         a = e.call(k, {
  23393.             hash: {},
  23394.             data: i
  23395.         })
  23396.     } else {
  23397.         e = (k && k.border);
  23398.         a = typeof e === f ? e.call(k, {
  23399.             hash: {},
  23400.             data: i
  23401.         }) : e
  23402.     }
  23403.     g += h(a) + ";-webkit-box-shadow: none;-moz-box-shadow: none;box-shadow: none;}.nav-menu__icon,.nav-menu__close,.nav-menu__item,.nav-menu__item--secondary,.nav-menu__item > a,.nav-menu__item--secondary > a,.nav-menu__item > a:visited,.nav-menu__item--secondary > a:visited {color: ";
  23404.     if (e = b.link) {
  23405.         a = e.call(k, {
  23406.             hash: {},
  23407.             data: i
  23408.         })
  23409.     } else {
  23410.         e = (k && k.link);
  23411.         a = typeof e === f ? e.call(k, {
  23412.             hash: {},
  23413.             data: i
  23414.         }) : e
  23415.     }
  23416.     g += h(a) + ";}.nav-menu__item > a:hover {color: ";
  23417.     if (e = b.activeLink) {
  23418.         a = e.call(k, {
  23419.             hash: {},
  23420.             data: i
  23421.         })
  23422.     } else {
  23423.         e = (k && k.activeLink);
  23424.         a = typeof e === f ? e.call(k, {
  23425.             hash: {},
  23426.             data: i
  23427.         }) : e
  23428.     }
  23429.     g += h(a) + ";}.nav-menu__heading,.nav-menu__heading--primary {color: ";
  23430.     if (e = b.text) {
  23431.         a = e.call(k, {
  23432.             hash: {},
  23433.             data: i
  23434.         })
  23435.     } else {
  23436.         e = (k && k.text);
  23437.         a = typeof e === f ? e.call(k, {
  23438.             hash: {},
  23439.             data: i
  23440.         }) : e
  23441.     }
  23442.     g += h(a) + ";}.nav-menu__theme.theme-is-selected {border-color: ";
  23443.     if (e = b.text) {
  23444.         a = e.call(k, {
  23445.             hash: {},
  23446.             data: i
  23447.         })
  23448.     } else {
  23449.         e = (k && k.text);
  23450.         a = typeof e === f ? e.call(k, {
  23451.             hash: {},
  23452.             data: i
  23453.         }) : e
  23454.     }
  23455.     g += h(a) + ";}";
  23456.     return g
  23457. });
  23458. this["DDG"]["templates"]["theme_zci"] = Handlebars.template(function(f, n, e, m, k) {
  23459.     this.compilerInfo = [4, ">= 1.0.0"];
  23460.     e = this.merge(e, f.helpers);
  23461.     k = k || {};
  23462.     var i = "",
  23463.         b, g, h = "function",
  23464.         j = this.escapeExpression,
  23465.         p = this;
  23466.  
  23467.     function c(u, t) {
  23468.         var q = "",
  23469.             r, s;
  23470.         q += ".metabar__dropdowns-wrap:before {background-image: linear-gradient(90deg, ";
  23471.         if (s = e.fullPageBg) {
  23472.             r = s.call(u, {
  23473.                 hash: {},
  23474.                 data: t
  23475.             })
  23476.         } else {
  23477.             s = (u && u.fullPageBg);
  23478.             r = typeof s === h ? s.call(u, {
  23479.                 hash: {},
  23480.                 data: t
  23481.             }) : s
  23482.         }
  23483.         q += j(r) + ",rgba(41,41,41,0));}.metabar__dropdowns-wrap:after {background-image: linear-gradient(90deg, rgba(41,41,41,0),";
  23484.         if (s = e.fullPageBg) {
  23485.             r = s.call(u, {
  23486.                 hash: {},
  23487.                 data: t
  23488.             })
  23489.         } else {
  23490.             s = (u && u.fullPageBg);
  23491.             r = typeof s === h ? s.call(u, {
  23492.                 hash: {},
  23493.                 data: t
  23494.             }) : s
  23495.         }
  23496.         q += j(r) + ");}";
  23497.         return q
  23498.     }
  23499.  
  23500.     function a(u, t) {
  23501.         var q = "",
  23502.             r, s;
  23503.         q += ".metabar__dropdowns-wrap:before {background-image: linear-gradient(90deg, ";
  23504.         if (s = e.bg) {
  23505.             r = s.call(u, {
  23506.                 hash: {},
  23507.                 data: t
  23508.             })
  23509.         } else {
  23510.             s = (u && u.bg);
  23511.             r = typeof s === h ? s.call(u, {
  23512.                 hash: {},
  23513.                 data: t
  23514.             }) : s
  23515.         }
  23516.         q += j(r) + ",rgba(242,242,242,0));}.metabar__dropdowns-wrap:after {background-image: linear-gradient(90deg, rgba(242,242,242,0),";
  23517.         if (s = e.bg) {
  23518.             r = s.call(u, {
  23519.                 hash: {},
  23520.                 data: t
  23521.             })
  23522.         } else {
  23523.             s = (u && u.bg);
  23524.             r = typeof s === h ? s.call(u, {
  23525.                 hash: {},
  23526.                 data: t
  23527.             }) : s
  23528.         }
  23529.         q += j(r) + ");}";
  23530.         return q
  23531.     }
  23532.  
  23533.     function o(u, t) {
  23534.         var q = "",
  23535.             r, s;
  23536.         q += ".tile__rating a:hover,color: ";
  23537.         if (s = e.link) {
  23538.             r = s.call(u, {
  23539.                 hash: {},
  23540.                 data: t
  23541.             })
  23542.         } else {
  23543.             s = (u && u.link);
  23544.             r = typeof s === h ? s.call(u, {
  23545.                 hash: {},
  23546.                 data: t
  23547.             }) : s
  23548.         }
  23549.         q += j(r) + ";}";
  23550.         return q
  23551.     }
  23552.     i += ".zci, .zci:before,.tileview .metabar--fixed,.tileview--grid .metabar--fixed,.tileview--grid .metabar--fixed.is-stuck {background-color: ";
  23553.     if (g = e.bg) {
  23554.         b = g.call(n, {
  23555.             hash: {},
  23556.             data: k
  23557.         })
  23558.     } else {
  23559.         g = (n && n.bg);
  23560.         b = typeof g === h ? g.call(n, {
  23561.             hash: {},
  23562.             data: k
  23563.         }) : g
  23564.     }
  23565.     i += j(b) + ";border-bottom-color: ";
  23566.     if (g = e.border) {
  23567.         b = g.call(n, {
  23568.             hash: {},
  23569.             data: k
  23570.         })
  23571.     } else {
  23572.         g = (n && n.border);
  23573.         b = typeof g === h ? g.call(n, {
  23574.             hash: {},
  23575.             data: k
  23576.         }) : g
  23577.     }
  23578.     i += j(b) + ";}.zci-wrap {background-color: ";
  23579.     if (g = e.bg) {
  23580.         b = g.call(n, {
  23581.             hash: {},
  23582.             data: k
  23583.         })
  23584.     } else {
  23585.         g = (n && n.bg);
  23586.         b = typeof g === h ? g.call(n, {
  23587.             hash: {},
  23588.             data: k
  23589.         }) : g
  23590.     }
  23591.     i += j(b) + ";}.set-header--fixed .tileview--grid .metabar--fixed,.tileview--grid .metabar--fixed.is-stuck {background-color: ";
  23592.     if (g = e.bg) {
  23593.         b = g.call(n, {
  23594.             hash: {},
  23595.             data: k
  23596.         })
  23597.     } else {
  23598.         g = (n && n.bg);
  23599.         b = typeof g === h ? g.call(n, {
  23600.             hash: {},
  23601.             data: k
  23602.         }) : g
  23603.     }
  23604.     i += j(b) + ";border-top-color: ";
  23605.     if (g = e.bg) {
  23606.         b = g.call(n, {
  23607.             hash: {},
  23608.             data: k
  23609.         })
  23610.     } else {
  23611.         g = (n && n.bg);
  23612.         b = typeof g === h ? g.call(n, {
  23613.             hash: {},
  23614.             data: k
  23615.         }) : g
  23616.     }
  23617.     i += j(b) + ";}.zci.is-active {border-bottom-color: ";
  23618.     if (g = e.bottomBorder) {
  23619.         b = g.call(n, {
  23620.             hash: {},
  23621.             data: k
  23622.         })
  23623.     } else {
  23624.         g = (n && n.bottomBorder);
  23625.         b = typeof g === h ? g.call(n, {
  23626.             hash: {},
  23627.             data: k
  23628.         }) : g
  23629.     }
  23630.     i += j(b) + ";}.zci,.zci__body,.zci__detail,.zci__caption,.zci__body h4, .zci__detail h4,.zci__body h5, .zci__detail h5,.zci__body h6, .zci__detail h6.metabar,.metabar__dropdowns .dropdown  .dropdown__button,.c-detail__title,.c-detail__title__sub,.c-detail__desc,.c-detail__filemeta,.c-detail__more,.c-detail__user,.c-detail__count,.c-detail__date,.c-info,.c-info__title,.c-icon,.c-icon__title,.c-icon__content,.c-score,dropdown__selected,dropdown__selected:hover,dropdown__selected:focus,.metabar__primary-text--linked,.overlay--video-privacy__remember,.zcm__link--sub,.zcm__link--sub:visited {color: ";
  23631.     if (g = e.text) {
  23632.         b = g.call(n, {
  23633.             hash: {},
  23634.             data: k
  23635.         })
  23636.     } else {
  23637.         g = (n && n.text);
  23638.         b = typeof g === h ? g.call(n, {
  23639.             hash: {},
  23640.             data: k
  23641.         }) : g
  23642.     }
  23643.     i += j(b) + ";}.detail--l .detail__media, .detail--products .detail__media, .detail--qa .detail__media, .detail--about .detail__media,.detail--l .detail__media:after, .detail--products .detail__media:after, .detail--qa .detail__media:after, .detail--about .detail__media:after {background: none;}a,a.no-visited,.zci__body a,.zci__detail a,.zci__body .chomp--link,.metabar .zci__more-at,.zci__body .zci__more-at,.zci__body .c-detail__rating :link,.zci__more-at,.c-info__link,.c-icon__link,.chomp--link__mr,.chomp--link__ls,.overlay__text,.overlay--video-privacy__remember a,.overlay--video-privacy__remember a:hover,.c-detail__more :link:hover,.zci__header,.zci__body h1, .zci__detail h1,.zci__body h2, .zci__detail h2,.zci__body h3, .zci__detail h3,.detail--xd .tile-nav--sm,.zcm__link--sub.is-selected,.tile--img__sub, .tile--img__sub:hover {color: ";
  23644.     if (g = e.link) {
  23645.         b = g.call(n, {
  23646.             hash: {},
  23647.             data: k
  23648.         })
  23649.     } else {
  23650.         g = (n && n.link);
  23651.         b = typeof g === h ? g.call(n, {
  23652.             hash: {},
  23653.             data: k
  23654.         }) : g
  23655.     }
  23656.     i += j(b) + ";}a:visited,.zci__body a:hover,.detail__body a:hover,.zci__body a:active,.zci__body a:active,.zcm__link--sub.is-here,.zcm__item.is-here .zcm__link--sub,.zci__body .chomp--link:hover,.zci__more-at:hover,.c-info__link:hover,.c-icon__link:hover,.zcm__link--sub:hover,.zcm__link--sub.is-highlighted,.chomp--link:hover .chomp--link__mr,.chomp--link:hover .chomp--link__ls,.metabar__dropdowns .dropdown .dropdown__button:hover {color: ";
  23657.     if (g = e.activeLink) {
  23658.         b = g.call(n, {
  23659.             hash: {},
  23660.             data: k
  23661.         })
  23662.     } else {
  23663.         g = (n && n.activeLink);
  23664.         b = typeof g === h ? g.call(n, {
  23665.             hash: {},
  23666.             data: k
  23667.         }) : g
  23668.     }
  23669.     i += j(b) + ";}.module__text pre,.zci pre,.zci code,.zci .frm__select,.zci .frm__select select,.zci--shorten input.tag,.zci--conversions .frm__select:after,.zci--conversions .frm--bottom .frm__input,.zci--conversions .frm--bottom .frm__select,.zci--conversions .frm--bottom .frm__select select,.zci--timer .name_input,.zci--timer .time_input input,.zci--timer .corner_btn.add_minute,.metabar__mode,#color_picker_container input,.has-tiles--grid .tile--m--images .tile--m--mob,.has-tiles--grid .tile--m--videos .tile--m--mob {color: ";
  23670.     if (g = e.modeText) {
  23671.         b = g.call(n, {
  23672.             hash: {},
  23673.             data: k
  23674.         })
  23675.     } else {
  23676.         g = (n && n.modeText);
  23677.         b = typeof g === h ? g.call(n, {
  23678.             hash: {},
  23679.             data: k
  23680.         }) : g
  23681.     }
  23682.     i += j(b) + ";background-color: ";
  23683.     if (g = e.modeBg) {
  23684.         b = g.call(n, {
  23685.             hash: {},
  23686.             data: k
  23687.         })
  23688.     } else {
  23689.         g = (n && n.modeBg);
  23690.         b = typeof g === h ? g.call(n, {
  23691.             hash: {},
  23692.             data: k
  23693.         }) : g
  23694.     }
  23695.     i += j(b) + ";border-color: ";
  23696.     if (g = e.modeBg) {
  23697.         b = g.call(n, {
  23698.             hash: {},
  23699.             data: k
  23700.         })
  23701.     } else {
  23702.         g = (n && n.modeBg);
  23703.         b = typeof g === h ? g.call(n, {
  23704.             hash: {},
  23705.             data: k
  23706.         }) : g
  23707.     }
  23708.     i += j(b) + ";}.tile-nav.can-scroll,.tile-nav.can-scroll:after,.tile-nav.can-scroll:hover:after {background-color: ";
  23709.     if (g = e.modeBg) {
  23710.         b = g.call(n, {
  23711.             hash: {},
  23712.             data: k
  23713.         })
  23714.     } else {
  23715.         g = (n && n.modeBg);
  23716.         b = typeof g === h ? g.call(n, {
  23717.             hash: {},
  23718.             data: k
  23719.         }) : g
  23720.     }
  23721.     i += j(b) + ";color: #fff;}.zci .frm__select:hover,.zci .frm__select:hover:after,.zci .frm__select:hover select,.tile-nav.can-scroll:hover,.zci--timer .corner_btn.add_minute:hover,.has-tiles--grid .tile--m--images .tile--m--mob:hover,.has-tiles--grid .tile--m--videos .tile--m--mob:hover {border-color: ";
  23722.     if (g = e.btnHoverBorder) {
  23723.         b = g.call(n, {
  23724.             hash: {},
  23725.             data: k
  23726.         })
  23727.     } else {
  23728.         g = (n && n.btnHoverBorder);
  23729.         b = typeof g === h ? g.call(n, {
  23730.             hash: {},
  23731.             data: k
  23732.         }) : g
  23733.     }
  23734.     i += j(b) + ";background: ";
  23735.     if (g = e.btnHoverBg) {
  23736.         b = g.call(n, {
  23737.             hash: {},
  23738.             data: k
  23739.         })
  23740.     } else {
  23741.         g = (n && n.btnHoverBg);
  23742.         b = typeof g === h ? g.call(n, {
  23743.             hash: {},
  23744.             data: k
  23745.         }) : g
  23746.     }
  23747.     i += j(b) + ";}.forecast-wrapper .module--forecast .module__items-item--selected,.forecast-wrapper .module--forecast .module__items-item:hover {color: ";
  23748.     if (g = e.modeText) {
  23749.         b = g.call(n, {
  23750.             hash: {},
  23751.             data: k
  23752.         })
  23753.     } else {
  23754.         g = (n && n.modeText);
  23755.         b = typeof g === h ? g.call(n, {
  23756.             hash: {},
  23757.             data: k
  23758.         }) : g
  23759.     }
  23760.     i += j(b) + ";background-color: ";
  23761.     if (g = e.modeBg) {
  23762.         b = g.call(n, {
  23763.             hash: {},
  23764.             data: k
  23765.         })
  23766.     } else {
  23767.         g = (n && n.modeBg);
  23768.         b = typeof g === h ? g.call(n, {
  23769.             hash: {},
  23770.             data: k
  23771.         }) : g
  23772.     }
  23773.     i += j(b) + ";}.forecast-wrapper .module--forecast .module__temperature-unit--on {border-color: ";
  23774.     if (g = e.activeLink) {
  23775.         b = g.call(n, {
  23776.             hash: {},
  23777.             data: k
  23778.         })
  23779.     } else {
  23780.         g = (n && n.activeLink);
  23781.         b = typeof g === h ? g.call(n, {
  23782.             hash: {},
  23783.             data: k
  23784.         }) : g
  23785.     }
  23786.     i += j(b) + ";}.zci pre,.zci code,.c-list__items,.record__cell,.forecast-wrapper .module--forecast .module__items-item:not(:last-child),.forecast-wrapper .module--forecast .module__items-item--selected,.forecast-wrapper .module--forecast .module__items-item {border-color: ";
  23787.     if (g = e.border) {
  23788.         b = g.call(n, {
  23789.             hash: {},
  23790.             data: k
  23791.         })
  23792.     } else {
  23793.         g = (n && n.border);
  23794.         b = typeof g === h ? g.call(n, {
  23795.             hash: {},
  23796.             data: k
  23797.         }) : g
  23798.     }
  23799.     i += j(b) + ";}.zci .frm__input,.zci--cryptocurrency .frm__input,.zci--cryptocurrency .frm__select,.zci--cryptocurrency .frm__select:after,.zci--currency .frm__select:after {border-color: ";
  23800.     if (g = e.border) {
  23801.         b = g.call(n, {
  23802.             hash: {},
  23803.             data: k
  23804.         })
  23805.     } else {
  23806.         g = (n && n.border);
  23807.         b = typeof g === h ? g.call(n, {
  23808.             hash: {},
  23809.             data: k
  23810.         }) : g
  23811.     }
  23812.     i += j(b) + ";background: ";
  23813.     if (g = e.modeBg) {
  23814.         b = g.call(n, {
  23815.             hash: {},
  23816.             data: k
  23817.         })
  23818.     } else {
  23819.         g = (n && n.modeBg);
  23820.         b = typeof g === h ? g.call(n, {
  23821.             hash: {},
  23822.             data: k
  23823.         }) : g
  23824.     }
  23825.     i += j(b) + ";}.metabar__mode:not(.is-disabled):hover {border-color: ";
  23826.     if (g = e.btnHoverBg) {
  23827.         b = g.call(n, {
  23828.             hash: {},
  23829.             data: k
  23830.         })
  23831.     } else {
  23832.         g = (n && n.btnHoverBg);
  23833.         b = typeof g === h ? g.call(n, {
  23834.             hash: {},
  23835.             data: k
  23836.         }) : g
  23837.     }
  23838.     i += j(b) + ";background-color: ";
  23839.     if (g = e.btnHoverBorder) {
  23840.         b = g.call(n, {
  23841.             hash: {},
  23842.             data: k
  23843.         })
  23844.     } else {
  23845.         g = (n && n.btnHoverBorder);
  23846.         b = typeof g === h ? g.call(n, {
  23847.             hash: {},
  23848.             data: k
  23849.         }) : g
  23850.     }
  23851.     i += j(b) + ";color: ";
  23852.     if (g = e.modeText) {
  23853.         b = g.call(n, {
  23854.             hash: {},
  23855.             data: k
  23856.         })
  23857.     } else {
  23858.         g = (n && n.modeText);
  23859.         b = typeof g === h ? g.call(n, {
  23860.             hash: {},
  23861.             data: k
  23862.         }) : g
  23863.     }
  23864.     i += j(b) + ";}.metabar__mode.is-disabled,.metabar__mode.is-disabled:hover,.metabar__mode.is-disabled:active {color: ";
  23865.     if (g = e.modeBg) {
  23866.         b = g.call(n, {
  23867.             hash: {},
  23868.             data: k
  23869.         })
  23870.     } else {
  23871.         g = (n && n.modeBg);
  23872.         b = typeof g === h ? g.call(n, {
  23873.             hash: {},
  23874.             data: k
  23875.         }) : g
  23876.     }
  23877.     i += j(b) + ";background-color: transparent;}";
  23878.     b = e["if"].call(n, (n && n.isDark), {
  23879.         hash: {},
  23880.         inverse: p.program(3, a, k),
  23881.         fn: p.program(1, c, k),
  23882.         data: k
  23883.     });
  23884.     if (b || b === 0) {
  23885.         i += b
  23886.     }
  23887.     i += ".detail {background-color: ";
  23888.     if (g = e.detail) {
  23889.         b = g.call(n, {
  23890.             hash: {},
  23891.             data: k
  23892.         })
  23893.     } else {
  23894.         g = (n && n.detail);
  23895.         b = typeof g === h ? g.call(n, {
  23896.             hash: {},
  23897.             data: k
  23898.         }) : g
  23899.     }
  23900.     i += j(b) + ";border-color: ";
  23901.     if (g = e.border) {
  23902.         b = g.call(n, {
  23903.             hash: {},
  23904.             data: k
  23905.         })
  23906.     } else {
  23907.         g = (n && n.border);
  23908.         b = typeof g === h ? g.call(n, {
  23909.             hash: {},
  23910.             data: k
  23911.         }) : g
  23912.     }
  23913.     i += j(b) + ";}.detail__close {color: ";
  23914.     if (g = e.accent1) {
  23915.         b = g.call(n, {
  23916.             hash: {},
  23917.             data: k
  23918.         })
  23919.     } else {
  23920.         g = (n && n.accent1);
  23921.         b = typeof g === h ? g.call(n, {
  23922.             hash: {},
  23923.             data: k
  23924.         }) : g
  23925.     }
  23926.     i += j(b) + ";}.detail__close:hover,.detail__close:active{color: ";
  23927.     if (g = e.accent2) {
  23928.         b = g.call(n, {
  23929.             hash: {},
  23930.             data: k
  23931.         })
  23932.     } else {
  23933.         g = (n && n.accent2);
  23934.         b = typeof g === h ? g.call(n, {
  23935.             hash: {},
  23936.             data: k
  23937.         }) : g
  23938.     }
  23939.     i += j(b) + ";}.detail__media--pr {border-right-color: ";
  23940.     if (g = e.border) {
  23941.         b = g.call(n, {
  23942.             hash: {},
  23943.             data: k
  23944.         })
  23945.     } else {
  23946.         g = (n && n.border);
  23947.         b = typeof g === h ? g.call(n, {
  23948.             hash: {},
  23949.             data: k
  23950.         }) : g
  23951.     }
  23952.     i += j(b) + ";}.tile--img:after {border-bottom-color: ";
  23953.     if (g = e.bg) {
  23954.         b = g.call(n, {
  23955.             hash: {},
  23956.             data: k
  23957.         })
  23958.     } else {
  23959.         g = (n && n.bg);
  23960.         b = typeof g === h ? g.call(n, {
  23961.             hash: {},
  23962.             data: k
  23963.         }) : g
  23964.     }
  23965.     i += j(b) + ";}.sep,.sep--small,.sep--before:before,.sep--after:after {border-color: ";
  23966.     if (g = e.modeBg) {
  23967.         b = g.call(n, {
  23968.             hash: {},
  23969.             data: k
  23970.         })
  23971.     } else {
  23972.         g = (n && n.modeBg);
  23973.         b = typeof g === h ? g.call(n, {
  23974.             hash: {},
  23975.             data: k
  23976.         }) : g
  23977.     }
  23978.     i += j(b) + ";}.tileview--grid .metabar--fixed:before {background-color: ";
  23979.     if (g = e.bg) {
  23980.         b = g.call(n, {
  23981.             hash: {},
  23982.             data: k
  23983.         })
  23984.     } else {
  23985.         g = (n && n.bg);
  23986.         b = typeof g === h ? g.call(n, {
  23987.             hash: {},
  23988.             data: k
  23989.         }) : g
  23990.     }
  23991.     i += j(b) + ";}.chomp--link__icn,.count__i:after {color: ";
  23992.     if (g = e.accent3) {
  23993.         b = g.call(n, {
  23994.             hash: {},
  23995.             data: k
  23996.         })
  23997.     } else {
  23998.         g = (n && n.accent3);
  23999.         b = typeof g === h ? g.call(n, {
  24000.             hash: {},
  24001.             data: k
  24002.         }) : g
  24003.     }
  24004.     i += j(b) + ";}.tile-nav--sm {color: ";
  24005.     if (g = e.accentText) {
  24006.         b = g.call(n, {
  24007.             hash: {},
  24008.             data: k
  24009.         })
  24010.     } else {
  24011.         g = (n && n.accentText);
  24012.         b = typeof g === h ? g.call(n, {
  24013.             hash: {},
  24014.             data: k
  24015.         }) : g
  24016.     }
  24017.     i += j(b) + ";background-color: ";
  24018.     if (g = e.accent1) {
  24019.         b = g.call(n, {
  24020.             hash: {},
  24021.             data: k
  24022.         })
  24023.     } else {
  24024.         g = (n && n.accent1);
  24025.         b = typeof g === h ? g.call(n, {
  24026.             hash: {},
  24027.             data: k
  24028.         }) : g
  24029.     }
  24030.     i += j(b) + ";}.tile-nav--sm:hover,.tile-nav--sm:active {background-color: ";
  24031.     if (g = e.accent2) {
  24032.         b = g.call(n, {
  24033.             hash: {},
  24034.             data: k
  24035.         })
  24036.     } else {
  24037.         g = (n && n.accent2);
  24038.         b = typeof g === h ? g.call(n, {
  24039.             hash: {},
  24040.             data: k
  24041.         }) : g
  24042.     }
  24043.     i += j(b) + ";}.star,.count__i,.tileview__message,.tileview__message:before {color: ";
  24044.     if (g = e.accent1) {
  24045.         b = g.call(n, {
  24046.             hash: {},
  24047.             data: k
  24048.         })
  24049.     } else {
  24050.         g = (n && n.accent1);
  24051.         b = typeof g === h ? g.call(n, {
  24052.             hash: {},
  24053.             data: k
  24054.         }) : g
  24055.     }
  24056.     i += j(b) + ";}.tile, .tile--s, .tile--info {border-color: ";
  24057.     if (g = e.border) {
  24058.         b = g.call(n, {
  24059.             hash: {},
  24060.             data: k
  24061.         })
  24062.     } else {
  24063.         g = (n && n.border);
  24064.         b = typeof g === h ? g.call(n, {
  24065.             hash: {},
  24066.             data: k
  24067.         }) : g
  24068.     }
  24069.     i += j(b) + ";}.highlight.tile, .highlight.tile--s, .highlight.tile--info,.is-selected.tile, .is-selected.tile--s, .is-selected.tile--info,.highlight.tile--f .tile--f__main, .highlight.tile--f .tile--f__alt, .is-selected.tile--f .tile--f__alt,.highlight.tile:active, .highlight.tile--s:active, .highlight.tile--info:active {box-shadow: none;border-color: ";
  24070.     if (g = e.outline) {
  24071.         b = g.call(n, {
  24072.             hash: {},
  24073.             data: k
  24074.         })
  24075.     } else {
  24076.         g = (n && n.outline);
  24077.         b = typeof g === h ? g.call(n, {
  24078.             hash: {},
  24079.             data: k
  24080.         }) : g
  24081.     }
  24082.     i += j(b) + ";outline-color: ";
  24083.     if (g = e.outline) {
  24084.         b = g.call(n, {
  24085.             hash: {},
  24086.             data: k
  24087.         })
  24088.     } else {
  24089.         g = (n && n.outline);
  24090.         b = typeof g === h ? g.call(n, {
  24091.             hash: {},
  24092.             data: k
  24093.         }) : g
  24094.     }
  24095.     i += j(b) + ";}.highlight.tile--no-highlight, .highlight.tile--no-highlight:active, .tile--no-highlight.is-selected {border-color: ";
  24096.     if (g = e.outline) {
  24097.         b = g.call(n, {
  24098.             hash: {},
  24099.             data: k
  24100.         })
  24101.     } else {
  24102.         g = (n && n.outline);
  24103.         b = typeof g === h ? g.call(n, {
  24104.             hash: {},
  24105.             data: k
  24106.         }) : g
  24107.     }
  24108.     i += j(b) + ";outline: none;}.tile--m {background-color: ";
  24109.     if (g = e.color) {
  24110.         b = g.call(n, {
  24111.             hash: {},
  24112.             data: k
  24113.         })
  24114.     } else {
  24115.         g = (n && n.color);
  24116.         b = typeof g === h ? g.call(n, {
  24117.             hash: {},
  24118.             data: k
  24119.         }) : g
  24120.     }
  24121.     i += j(b) + ";color: ";
  24122.     if (g = e.link) {
  24123.         b = g.call(n, {
  24124.             hash: {},
  24125.             data: k
  24126.         })
  24127.     } else {
  24128.         g = (n && n.link);
  24129.         b = typeof g === h ? g.call(n, {
  24130.             hash: {},
  24131.             data: k
  24132.         }) : g
  24133.     }
  24134.     i += j(b) + ";}.tile--m:hover {background-color: ";
  24135.     if (g = e.border) {
  24136.         b = g.call(n, {
  24137.             hash: {},
  24138.             data: k
  24139.         })
  24140.     } else {
  24141.         g = (n && n.border);
  24142.         b = typeof g === h ? g.call(n, {
  24143.             hash: {},
  24144.             data: k
  24145.         }) : g
  24146.     }
  24147.     i += j(b) + ";color: ";
  24148.     if (g = e.activeLink) {
  24149.         b = g.call(n, {
  24150.             hash: {},
  24151.             data: k
  24152.         })
  24153.     } else {
  24154.         g = (n && n.activeLink);
  24155.         b = typeof g === h ? g.call(n, {
  24156.             hash: {},
  24157.             data: k
  24158.         }) : g
  24159.     }
  24160.     i += j(b) + ";}.tile--m:active,.tile--m.is-loading,.tile--m.is-loading:hover {background-color: ";
  24161.     if (g = e.color) {
  24162.         b = g.call(n, {
  24163.             hash: {},
  24164.             data: k
  24165.         })
  24166.     } else {
  24167.         g = (n && n.color);
  24168.         b = typeof g === h ? g.call(n, {
  24169.             hash: {},
  24170.             data: k
  24171.         }) : g
  24172.     }
  24173.     i += j(b) + ";color: ";
  24174.     if (g = e.color) {
  24175.         b = g.call(n, {
  24176.             hash: {},
  24177.             data: k
  24178.         })
  24179.     } else {
  24180.         g = (n && n.color);
  24181.         b = typeof g === h ? g.call(n, {
  24182.             hash: {},
  24183.             data: k
  24184.         }) : g
  24185.     }
  24186.     i += j(b) + ";}.has-tiles--grid .tile--m--images,.has-tiles--grid .tile--m--images:hover,.has-tiles--grid .tile--m--images.is-loading,.has-tiles--grid .tile--m--videos,.has-tiles--grid .tile--m--videos:hover,.has-tiles--grid .tile--m--videos.is-loading,.is-mobile .has-tiles--grid .tile--m,.is-mobile .has-tiles--grid .tile--m:hover {background-color: ";
  24187.     if (g = e.color) {
  24188.         b = g.call(n, {
  24189.             hash: {},
  24190.             data: k
  24191.         })
  24192.     } else {
  24193.         g = (n && n.color);
  24194.         b = typeof g === h ? g.call(n, {
  24195.             hash: {},
  24196.             data: k
  24197.         }) : g
  24198.     }
  24199.     i += j(b) + ";border-color: ";
  24200.     if (g = e.detail) {
  24201.         b = g.call(n, {
  24202.             hash: {},
  24203.             data: k
  24204.         })
  24205.     } else {
  24206.         g = (n && n.detail);
  24207.         b = typeof g === h ? g.call(n, {
  24208.             hash: {},
  24209.             data: k
  24210.         }) : g
  24211.     }
  24212.     i += j(b) + ";}.bg-clr--dk,.bg-clr--dk2,.bg-clr--slate,.bg-clr--slate-light {background-color: ";
  24213.     if (g = e.text) {
  24214.         b = g.call(n, {
  24215.             hash: {},
  24216.             data: k
  24217.         })
  24218.     } else {
  24219.         g = (n && n.text);
  24220.         b = typeof g === h ? g.call(n, {
  24221.             hash: {},
  24222.             data: k
  24223.         }) : g
  24224.     }
  24225.     i += j(b) + ";}.bg-clr--lt,.bg-clr--lt2,.bg-clr--lt3,.bg-clr--grey-dark,.bg-clr--grey-light,.bg-clr--grey,.text--primary,.forecast-wrapper .module--forecast .module__temperature-unit,.forecast-wrapper .module--forecast .module__temperature-unit:hover,.forecast-wrapper .module--forecast .summary-more,.forecast-wrapper .module--forecast .summary-more:hover,.forecast-wrapper .module--forecast .summary-more:focus,.forecast-wrapper .module--forecast .summary-more:visited,.forecast-wrapper .module--forecast .module__items-item--selected .module__items-day,.forecast-wrapper .module--forecast .module__items-item--selected .module__items-unit,.forecast-wrapper .module--forecast .module__temperature-unit--on:hover {color: ";
  24226.     if (g = e.accentText) {
  24227.         b = g.call(n, {
  24228.             hash: {},
  24229.             data: k
  24230.         })
  24231.     } else {
  24232.         g = (n && n.accentText);
  24233.         b = typeof g === h ? g.call(n, {
  24234.             hash: {},
  24235.             data: k
  24236.         }) : g
  24237.     }
  24238.     i += j(b) + ";}.tx-clr--dk,.tx-clr--dk2,.tx-clr--slate,.tx-clr--slate-light {color: ";
  24239.     if (g = e.text) {
  24240.         b = g.call(n, {
  24241.             hash: {},
  24242.             data: k
  24243.         })
  24244.     } else {
  24245.         g = (n && n.text);
  24246.         b = typeof g === h ? g.call(n, {
  24247.             hash: {},
  24248.             data: k
  24249.         }) : g
  24250.     }
  24251.     i += j(b) + ";}.zci__subheader,.zci__header__sub,.c-info__sub,.c-info__title__sub,.c-icon__sub,.c-score__head,.c-score__foot,.text--secondary,.tx-clr--grey-dark,.tx-clr--grey-light,.tx-clr--grey,.tx-clr--lt,.tx-clr--lt2,.tx-clr--lt3,.place-detail__subtitle,.place-detail__review-count,.place-detail__review-count__link,.place-detail__review-count__link:visited,.place-list-item__rating,.related-searches {color: ";
  24252.     if (g = e.text) {
  24253.         b = g.call(n, {
  24254.             hash: {},
  24255.             data: k
  24256.         })
  24257.     } else {
  24258.         g = (n && n.text);
  24259.         b = typeof g === h ? g.call(n, {
  24260.             hash: {},
  24261.             data: k
  24262.         }) : g
  24263.     }
  24264.     i += j(b) + ";}.tile, .tile__title, .tile h4, .tile--m--mob, .at-topic .tile__title, .at-topic .tile.active-topic .tile__title, .at-topic .tile.highlight .tile__title, .is-mobile .c-info__link, .is-mobile .c-info__link:hover, .tile .tile__price b, .tile--pr__price, .tile--pr__brand {color: ";
  24265.     if (g = e.text) {
  24266.         b = g.call(n, {
  24267.             hash: {},
  24268.             data: k
  24269.         })
  24270.     } else {
  24271.         g = (n && n.text);
  24272.         b = typeof g === h ? g.call(n, {
  24273.             hash: {},
  24274.             data: k
  24275.         }) : g
  24276.     }
  24277.     i += j(b) + ";}.tile, .tile--s, .bg-tile, .tile--m--mob, .at-topic .tile.active-topic, .at-topic .tile.highlight, .tile__foot--news, .tile--f__main, .tile--f__alt, .tile__num:before, .is-mobile .c-info__link, .is-mobile .c-info__link:hover, .tile__media .tile__media__img {background-color: ";
  24278.     if (g = e.color) {
  24279.         b = g.call(n, {
  24280.             hash: {},
  24281.             data: k
  24282.         })
  24283.     } else {
  24284.         g = (n && n.color);
  24285.         b = typeof g === h ? g.call(n, {
  24286.             hash: {},
  24287.             data: k
  24288.         }) : g
  24289.     }
  24290.     i += j(b) + ";}.tile__expand, .tile__expand:hover,.bg-clr--platinum-darker,.bg-clr--platinum-dark,.bg-clr--platinum-light,.bg-clr--platinum,.bg-clr--silver-dark,.bg-clr--silver-light,.bg-clr--silver {background: ";
  24291.     if (g = e.accent1) {
  24292.         b = g.call(n, {
  24293.             hash: {},
  24294.             data: k
  24295.         })
  24296.     } else {
  24297.         g = (n && n.accent1);
  24298.         b = typeof g === h ? g.call(n, {
  24299.             hash: {},
  24300.             data: k
  24301.         }) : g
  24302.     }
  24303.     i += j(b) + ";}.at-topic .tile {background: ";
  24304.     if (g = e.bg) {
  24305.         b = g.call(n, {
  24306.             hash: {},
  24307.             data: k
  24308.         })
  24309.     } else {
  24310.         g = (n && n.bg);
  24311.         b = typeof g === h ? g.call(n, {
  24312.             hash: {},
  24313.             data: k
  24314.         }) : g
  24315.     }
  24316.     i += j(b) + ";}.tile__sub, .tile__sub--2, .tile__title__sub, .tile__foot, .tile__footer, .tile__link, .tile--audio .tile__footer, .tile__count, .tile--b--i .tile__source, .tile__neighborhood, .tile__rating, .tile__more-at, .tile__title a:visited,.tx-clr--platinum-darker, .tx-clr--platinum-dark, .tx-clr--platinum-light, .tx-clr--platinum,.tx-clr--silver-dark, .tx-clr--silver-light, .tx-clr--silver {color: ";
  24317.     if (g = e.accentText2) {
  24318.         b = g.call(n, {
  24319.             hash: {},
  24320.             data: k
  24321.         })
  24322.     } else {
  24323.         g = (n && n.accentText2);
  24324.         b = typeof g === h ? g.call(n, {
  24325.             hash: {},
  24326.             data: k
  24327.         }) : g
  24328.     }
  24329.     i += j(b) + ";}.tile--b--i .tile__description, .tile__content, .tile__content--qa, .tile__content--news, .tile__tx, .tile__expand, .tile__expand:hover, .tile__num, .tile__phone, .info__label, .info__value, .tile__foot, .tile__foot--news {color: ";
  24330.     if (g = e.accentText) {
  24331.         b = g.call(n, {
  24332.             hash: {},
  24333.             data: k
  24334.         })
  24335.     } else {
  24336.         g = (n && n.accentText);
  24337.         b = typeof g === h ? g.call(n, {
  24338.             hash: {},
  24339.             data: k
  24340.         }) : g
  24341.     }
  24342.     i += j(b) + ";}.tile--info .info, .tile__expand, .tile__expand:hover, .attribution__hr, .c-score__line, .c-score__foot, .has-score .c-score__line__name, .is-mobile .no-score .c-score__line--home, .c-score__line--vs1:before, .c-score__line--vs1:after, .detail {border-color: ";
  24343.     if (g = e.bottomBorder) {
  24344.         b = g.call(n, {
  24345.             hash: {},
  24346.             data: k
  24347.         })
  24348.     } else {
  24349.         g = (n && n.bottomBorder);
  24350.         b = typeof g === h ? g.call(n, {
  24351.             hash: {},
  24352.             data: k
  24353.         }) : g
  24354.     }
  24355.     i += j(b) + ";}.tile--f__main, .tile--f__alt, .csstransforms3d .tile--f__main, .csstransforms3d .tile--f__alt, .is-mobile .c-info__link,.zci--maven tr,.c-list__item,.zci--sun_rise_set .sun_rise_set--border-right {border-color: ";
  24356.     if (g = e.border) {
  24357.         b = g.call(n, {
  24358.             hash: {},
  24359.             data: k
  24360.         })
  24361.     } else {
  24362.         g = (n && n.border);
  24363.         b = typeof g === h ? g.call(n, {
  24364.             hash: {},
  24365.             data: k
  24366.         }) : g
  24367.     }
  24368.     i += j(b) + ";}.tile .tile__price {color: ";
  24369.     if (g = e.detail) {
  24370.         b = g.call(n, {
  24371.             hash: {},
  24372.             data: k
  24373.         })
  24374.     } else {
  24375.         g = (n && n.detail);
  24376.         b = typeof g === h ? g.call(n, {
  24377.             hash: {},
  24378.             data: k
  24379.         }) : g
  24380.     }
  24381.     i += j(b) + ";}.mapkit-static,.mapkit-map {background: ";
  24382.     if (g = e.color) {
  24383.         b = g.call(n, {
  24384.             hash: {},
  24385.             data: k
  24386.         })
  24387.     } else {
  24388.         g = (n && n.color);
  24389.         b = typeof g === h ? g.call(n, {
  24390.             hash: {},
  24391.             data: k
  24392.         }) : g
  24393.     }
  24394.     i += j(b) + ";}";
  24395.     b = e["if"].call(n, (n && n.isDark), {
  24396.         hash: {},
  24397.         inverse: p.noop,
  24398.         fn: p.program(5, o, k),
  24399.         data: k
  24400.     });
  24401.     if (b || b === 0) {
  24402.         i += b
  24403.     }
  24404.     return i
  24405. });