define(['jquery','underscore','mage/utils/objects','mage/utils/strings'],function($,_,utils,stringUtils){'use strict';var tmplSettings=_.templateSettings,interpolate=/\$\{([\s\S]+?)\}/g,opener='${',template,hasStringTmpls;hasStringTmpls=(function(){var testString='var foo = "bar"; return `${ foo }` === foo';try{return Function(testString)();}catch(e){return false;}})();function isTmplIgnored(tmpl,target){var parsedTmpl;try{parsedTmpl=JSON.parse(tmpl);if(typeof parsedTmpl==='object'){return tmpl.includes('__disableTmpl');}}catch(e){} if(typeof target!=='undefined'){if(typeof target==='object'&&target.hasOwnProperty('__disableTmpl')){return target.__disableTmpl;}} return false;} if(hasStringTmpls){template=function(tmpl,$){return eval('`'+tmpl+'`');};}else{template=function(tmpl,data){var cached=tmplSettings.interpolate;tmplSettings.interpolate=interpolate;tmpl=_.template(tmpl,{variable:'$'})(data);tmplSettings.interpolate=cached;return tmpl;};} function isTemplate(value){return typeof value==='string'&&value.indexOf(opener)!==-1&&value.indexOf('${{')===-1;} function render(tmpl,data,castString,maxCycles){var last=tmpl,cycles=0;while(~tmpl.indexOf(opener)&&(typeof maxCycles==='undefined'||cycles