/**
  * Output experimental, request-optimized script and style dependencies.
  *
  * @param Upfront_CoreDependencies_Registry $deps Dependencies registry
  */
 private function _output_experimental($deps)
 {
     $link_urls = json_encode(apply_filters('upfront-experiments-styles-debounce_dependency_load', $deps->get_styles()));
     $debug = $this->_debugger->is_active(Upfront_Debug::STYLE) ? 'class="upfront-debounced"' : '';
     $link_tpl = json_encode('<link rel="stylesheet"  href="%url%" type="text/css" media="all" ' . $debug . ' />');
     $script_urls = json_encode(apply_filters('upfront-experiments-scripts-debounce_dependency_load', $deps->get_scripts()));
     $debug = $this->_debugger->is_active(Upfront_Debug::JS_TRANSIENTS) ? 'class="upfront-debounced"' : '';
     $script_tpl = json_encode('<script type="text/javascript" src="%url%" ' . $debug . '></script>');
     $callback_wrap_start = $callback_wrap_end = '';
     $injection_root = 'head';
     if (Upfront_OutputBehavior::has_experiments_level(Upfront_OutputBehavior::LEVEL_DEFAULT)) {
         $callback_wrap_start = '$(function () {';
         $callback_wrap_end = '});';
     }
     if (Upfront_OutputBehavior::has_experiments_level(Upfront_OutputBehavior::LEVEL_AGGRESSIVE)) {
         $callback_wrap_start = '$(function () { setTimeout(function () {';
         $callback_wrap_end = '}, 500);});';
         $injection_root = 'body';
     }
     $injection_root = esc_js($injection_root);
     echo "<script type='text/javascript'>\r\n\t\t\t(function (\$) {\r\n\t\t\t{$callback_wrap_start}\r\n\t\t\t\tvar script_urls = {$script_urls},\r\n\t\t\t\t\tscript_tpl = {$script_tpl},\r\n\t\t\t\t\tlink_urls = {$link_urls},\r\n\t\t\t\t\tlink_tpl = {$link_tpl},\r\n\t\t\t\t\thead = \$('{$injection_root}')\r\n\t\t\t\t;\r\n\t\t\t\t\$.each(link_urls, function (idx, url) {\r\n\t\t\t\t\thead.append(link_tpl.replace(/%url%/, url));\r\n\t\t\t\t});\r\n\t\t\t\t\$.each(script_urls, function (idx, url) {\r\n\t\t\t\t\thead.append(script_tpl.replace(/%url%/, url));\r\n\t\t\t\t});\r\n\t\t\t{$callback_wrap_end}\r\n\t\t\t})(jQuery);\r\n\t\t</script>";
 }