{"version":3,"sources":["webpack://cloudinary/webpack/universalModuleDefinition","webpack://cloudinary/webpack/bootstrap","webpack://cloudinary/./src/utf8_encode.js","webpack://cloudinary/./src/crc32.js","webpack://cloudinary/./src/constants.js","webpack://cloudinary/./src/util/baseutil.js","webpack://cloudinary/./src/util/lazyLoad.js","webpack://cloudinary/./src/sdkAnalytics/stringPad.js","webpack://cloudinary/./src/sdkAnalytics/base64Map.js","webpack://cloudinary/./src/sdkAnalytics/reverseVersion.js","webpack://cloudinary/./src/sdkAnalytics/encodeVersion.js","webpack://cloudinary/./src/sdkAnalytics/getSDKAnalyticsSignature.js","webpack://cloudinary/./src/sdkAnalytics/getAnalyticsOptions.js","webpack://cloudinary/./src/util/jquery.js","webpack://cloudinary/./src/expression.js","webpack://cloudinary/./src/condition.js","webpack://cloudinary/./src/configuration.js","webpack://cloudinary/./src/layer/layer.js","webpack://cloudinary/./src/layer/textlayer.js","webpack://cloudinary/./src/layer/subtitleslayer.js","webpack://cloudinary/./src/layer/fetchlayer.js","webpack://cloudinary/./src/parameters.js","webpack://cloudinary/./src/transformation.js","webpack://cloudinary/./src/tags/htmltag.js","webpack://cloudinary/./src/url.js","webpack://cloudinary/./src/util/generateBreakpoints.js","webpack://cloudinary/./src/util/srcsetUtils.js","webpack://cloudinary/./src/tags/imagetag.js","webpack://cloudinary/./src/tags/sourcetag.js","webpack://cloudinary/./src/tags/picturetag.js","webpack://cloudinary/./src/tags/videotag.js","webpack://cloudinary/./src/tags/clienthintsmetatag.js","webpack://cloudinary/./src/util/parse/normalizeToArray.js","webpack://cloudinary/./src/util/features/transparentVideo/mountCloudinaryVideoTag.js","webpack://cloudinary/./src/util/transformations/addFlag.js","webpack://cloudinary/./src/util/features/transparentVideo/enforceOptionsForTransparentVideo.js","webpack://cloudinary/./src/util/xhr/loadScript.js","webpack://cloudinary/./src/util/xhr/getBlobFromURL.js","webpack://cloudinary/./src/util/features/transparentVideo/createHiddenVideoTag.js","webpack://cloudinary/./src/util/features/transparentVideo/instantiateSeeThru.js","webpack://cloudinary/./src/util/features/transparentVideo/mountSeeThruCanvasTag.js","webpack://cloudinary/./src/util/features/transparentVideo/checkSupportForTransparency.js","webpack://cloudinary/./src/cloudinary.js","webpack://cloudinary/./src/util/firstNotNull.js","webpack://cloudinary/./src/cloudinaryjquery.js","webpack://cloudinary/./src/namespace/cloudinary-jquery.js"],"names":["utf8_encode","argString","c1","enc","end","n","start","string","stringl","utftext","length","charCodeAt","String","fromCharCode","slice","crc32","str","crc","i","iTop","table","x","y","substr","VERSION","CF_SHARED_CDN","OLD_AKAMAI_SHARED_CDN","AKAMAI_SHARED_CDN","SHARED_CDN","DEFAULT_TIMEOUT_MS","DEFAULT_POSTER_OPTIONS","format","resource_type","DEFAULT_VIDEO_SOURCE_TYPES","SEO_TYPES","DEFAULT_IMAGE_PARAMS","transformation","type","DEFAULT_VIDEO_PARAMS","fallback_content","source_transformation","source_types","DEFAULT_VIDEO_SOURCES","codecs","transformations","video_codec","DEFAULT_EXTERNAL_LIBRARIES","seeThru","PLACEHOLDER_IMAGE_MODES","effect","quality","fetch_format","width","aspect_ratio","crop","background","height","gravity","variables","ACCESSIBILITY_MODES","darkmode","brightmode","monochrome","colorblind","URL_KEYS","omit","obj","keys","srcKeys","Object","filter","key","contains","filtered","forEach","allStrings","list","every","isString","without","array","item","v","isNumberLike","value","isNaN","parseFloat","smartEscape","unsafe","replace","match","split","map","c","toString","toUpperCase","join","defaults","destination","sources","reduce","dest","source","objectProto","prototype","objToString","isObject","funcTag","isFunction","call","reWords","lower","upper","RegExp","camelCase","words","word","charAt","toLocaleUpperCase","toLocaleLowerCase","snakeCase","convertKeys","converter","result","isEmpty","withCamelCaseKeys","withSnakeCaseKeys","base64Encode","btoa","Buffer","input","from","Error","base64EncodeURL","url","decodeURI","encodeURI","extractUrlParams","options","patchFetchFormat","optionConsume","option_name","default_value","size","hasOwnProperty","isIntersectionObserverSupported","window","IntersectionObserver","isNativeLazyLoadSupported","HTMLImageElement","loading","detectIntersection","el","onIntersect","observer","entries","entry","isIntersecting","unobserve","target","threshold","observe","e","stringPad","targetLength","padString","repeatStringNumTimes","times","repeatedString","chars","num","char","reverseVersion","semVer","reverse","segment","encodeVersion","strResult","parts","paddedStringLength","paddedReversedSemver","parseInt","paddedBinary","bitString","base64Map","getSDKAnalyticsSignature","analyticsOptions","twoPartVersion","removePatchFromSemver","techVersion","encodedSDKVersion","sdkSemver","encodedTechVersion","featureCode","feature","SDKCode","sdkCode","algoVersion","semVerStr","getAnalyticsOptions","urlAnalytics","accessibility","responsive","placeholder","getData","element","name","jQuery","data","setData","getAttribute","attr","setAttribute","removeAttribute","removeAttr","setAttributes","attributes","hasClass","addClass","merge","args","j","len","results","arguments","push","apply","unshift","extend","compact","arr","cloneDeep","makeArray","difference","values","functions","object","identity","isArray","assign","isPlainObject","trim","Expression","expressionStr","expressions","normalize","serialize","parent","operator","OPERATORS","getParent","predicate","expression","operators","operatorsPattern","operatorsReplaceRE","predefinedVarsPattern","predefinedVarsReplaceRE","PREDEFINED_VARS","p1","offset","BOUNDRY","Condition","conditionStr","Configuration","configuration","DEFAULT_CONFIGURATION_PARAMS","fromEnvironment","fromDocument","config","meta_elements","document","querySelectorAll","cloudinary_url","query","uri","uriRegex","process","env","CLOUDINARY_URL","exec","k","new_config","new_value","set","get","responsive_class","responsive_use_breakpoints","round_dpr","secure","location","protocol","CONFIG_PARAMS","Layer","ref","resourceType","publicId","getPublicId","components","getFullPublicId","constructor","TextLayer","fontFamily","fontSize","fontWeight","fontStyle","textDecoration","textAlign","stroke","letterSpacing","lineSpacing","fontHinting","fontAntialiasing","text","hasPublicId","hasStyle","re","res","style","textSource","textStyleIdentifier","index","SubtitlesLayer","FetchLayer","Param","shortName","origValue","val","valid","arg","param","video","codec","profile","level","ArrayParam","sep","undefined","arrayValue","flat","t","TransformationParam","joined","Transformation","origValue1","number_pattern","offset_any_pattern","RangeParam","norm_range_value","modifier","RawParam","LayerParam","layerOptions","test","layer","ExpressionParam","assignNotNull","TransformationBase","trans","toOptions","withChain","opt","otherOptions","chained","tr","setParent","fromOptions","abbr","defaultValue","rawParam","lastArgCallback","rangeParam","arrayParam","transformationParam","layerParam","getValue","remove","temp","VAR_NAME_RE","sort","toPlainObject","hash","chain","names","getOwnPropertyNames","resetTransformations","fromTransformation","clone","other","camelKey","methods","ifParam","paramList","ref1","ref2","ref3","ref4","resultArray","transformationList","transformationString","vars","processVar","concat","len1","param_separator","trans_separator","attrName","snakeCaseKey","PARAM_NAMES","hasLayer","toHtml","indexOf","callback","varArray","processCustomFunction","function_type","norm_color","border","color","dpr","fps","ifVal","trIf","trRest","end_o","start_o","startOffset","endOffset","process_video_params","HtmlTag","attrs","pairs","escapeQuotes","toAttribute","htmlAttributes","toHtmlAttributes","tag","htmlAttrs","openTag","content","closeTag","createElement","responsiveClass","dataSrc","makeUrl","prefix","host","pathname","isUrl","cdnSubdomainNumber","handleSignature","signature","isFormatted","handlePrefix","cloud_name","cdnPart","subdomain","path","private_cdn","cdn_subdomain","secure_cdn_subdomain","secure_distribution","cname","handleResourceType","url_suffix","use_root_path","shorten","encodePublicId","encodeURIComponent","formatPublicId","decodeURIComponent","error","trust_public_id","validate","handleVersion","isForceVersion","force_version","isVersionExist","version","handleTransformation","placeholderTransformations","blur","preparePublicId","urlString","prepareOptions","resultUrl","sdkAnalyticsSignature","appender","generateBreakpoints","srcset","breakpoints","min_width","max_width","max_images","Number","some","stepSize","Math","ceil","max","current","utils","scaledUrl","public_id","configParams","raw_transformation","getOrGenerateBreakpoints","generateSrcsetAttribute","generateSizesAttribute","generateImageResponsiveAttributes","srcsetData","responsiveAttributes","generateSizes","sizes","generateSrcset","srcsetAttr","sizesAttr","generateMediaAttr","mediaQuery","srcsetUrl","ImageTag","srcAttribute","getOptions","srcsetParam","getOption","client_hints","SourceTag","media","PictureTag","widthList","sourceTransformation","VIDEO_TAG_PARAMS","VideoTag","sourceTypes","poster","fallbackContent","fallback","innerTags","src","createSourceTag","srcType","defaultOptions","hasSourceTags","sourceType","mimeType","videoType","codecsStr","ClientHintsMetaTag","normalizeToArray","elements","Array","mountCloudinaryVideoTag","htmlElContainer","clInstance","Promise","resolve","reject","innerHTML","videoTag","cloudinaryVideoElement","querySelector","addFlagToOptions","flag","flags","enforceOptionsForTransparentVideo","autoplay","muted","controls","max_timeout_ms","externalLibraries","loadScript","scriptURL","isAlreadyLoaded","scriptTag","timerID","setTimeout","status","message","onerror","clearTimeout","onload","head","appendChild","getBlobFromURL","urlToLoad","xhr","XMLHttpRequest","responseType","response","payload","blobURL","URL","createObjectURL","open","send","createHiddenVideoTag","videoOptions","playsinline","loop","videoURL","visibility","position","revokeObjectURL","instantiateSeeThru","videoElement","customClass","autoPlay","seeThruInstance","create","ready","canvasElement","getCanvas","className","play","mountSeeThruCanvasTag","then","err","checkSupportForTransparency","canPlay","canPlayType","applyBreakpoints","closestAbove","defaultBreakpoints","findContainerWidth","maxWidth","updateDpr","steps","resizing","calc_breakpoint","containerWidth","parentNode","Element","getComputedStyle","display","roundDpr","device_pixel_ratio","requiredWidth","imageWidth","Cloudinary","devicePixelRatioCache","responsiveConfig","responsiveResizeInitialized","newConfig","newValue","init","constants","img","imageTag","setAttr","toDOM","cloudinary_update","image","bootstrap","responsiveResize","timeout","responsive_resize","makeResponsive","debounce","reset","run","wait","waitFunc","responsive_debounce","addEventListener","removeEventListener","point","a","b","devicePixelRatio","dprString","nodes","images","node","tagName","imgOptions","setUrl","isResponsive","responsive_preserve_height","isLazyLoading","isLazyLoadSupported","setAttributeIfExists","fromAttribute","attributeValue","video_url","isNativelyTransparent","mountPromise","firstNotNull","next","shift","webp","CloudinaryJQuery","on","off","fn","cloudinary","each","img_options","toArray","webpify","webp_options","that","webp_canary","Deferred","Image","done","fail","fetchify","Util"],"mappings":"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","file":"./cloudinary-jquery.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cloudinary\"] = factory();\n\telse\n\t\troot[\"cloudinary\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/namespace/cloudinary-jquery.js\");\n","/**\n * UTF8 encoder\n * @private\n */\nvar utf8_encode;\n\nexport default utf8_encode = function(argString) {\n var c1, enc, end, n, start, string, stringl, utftext;\n // http://kevin.vanzonneveld.net\n // + original by: Webtoolkit.info (http://www.webtoolkit.info/)\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + improved by: sowberry\n // + tweaked by: Jack\n // + bugfixed by: Onno Marsman\n // + improved by: Yves Sucaet\n // + bugfixed by: Onno Marsman\n // + bugfixed by: Ulrich\n // + bugfixed by: Rafal Kukawski\n // + improved by: kirilloid\n // * example 1: utf8_encode('Kevin van Zonneveld');\n // * returns 1: 'Kevin van Zonneveld'\n if (argString === null || typeof argString === 'undefined') {\n return '';\n }\n string = argString + '';\n // .replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\");\n utftext = '';\n start = void 0;\n end = void 0;\n stringl = 0;\n start = end = 0;\n stringl = string.length;\n n = 0;\n while (n < stringl) {\n c1 = string.charCodeAt(n);\n enc = null;\n if (c1 < 128) {\n end++;\n } else if (c1 > 127 && c1 < 2048) {\n enc = String.fromCharCode(c1 >> 6 | 192, c1 & 63 | 128);\n } else {\n enc = String.fromCharCode(c1 >> 12 | 224, c1 >> 6 & 63 | 128, c1 & 63 | 128);\n }\n if (enc !== null) {\n if (end > start) {\n utftext += string.slice(start, end);\n }\n utftext += enc;\n start = end = n + 1;\n }\n n++;\n }\n if (end > start) {\n utftext += string.slice(start, stringl);\n }\n return utftext;\n};\n","\n\nimport utf8_encode from './utf8_encode';\n\n/**\n * CRC32 calculator\n * Depends on 'utf8_encode'\n * @private\n * @param {string} str - The string to calculate the CRC32 for.\n * @return {number}\n */\nfunction crc32(str) {\n var crc, i, iTop, table, x, y;\n // http://kevin.vanzonneveld.net\n // + original by: Webtoolkit.info (http://www.webtoolkit.info/)\n // + improved by: T0bsn\n // + improved by: http://stackoverflow.com/questions/2647935/javascript-crc32-function-and-php-crc32-not-matching\n // - depends on: utf8_encode\n // * example 1: crc32('Kevin van Zonneveld');\n // * returns 1: 1249991249\n str = utf8_encode(str);\n table = '00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D';\n crc = 0;\n x = 0;\n y = 0;\n crc = crc ^ -1;\n i = 0;\n iTop = str.length;\n while (i < iTop) {\n y = (crc ^ str.charCodeAt(i)) & 0xFF;\n x = '0x' + table.substr(y * 9, 8);\n crc = crc >>> 8 ^ x;\n i++;\n }\n crc = crc ^ -1;\n //convert to unsigned 32-bit int if needed\n if (crc < 0) {\n crc += 4294967296;\n }\n return crc;\n}\n\nexport default crc32;\n","export var VERSION = \"2.5.0\";\n\nexport var CF_SHARED_CDN = \"d3jpl91pxevbkh.cloudfront.net\";\n\nexport var OLD_AKAMAI_SHARED_CDN = \"cloudinary-a.akamaihd.net\";\n\nexport var AKAMAI_SHARED_CDN = \"res.cloudinary.com\";\n\nexport var SHARED_CDN = AKAMAI_SHARED_CDN;\n\nexport var DEFAULT_TIMEOUT_MS = 10000;\n\nexport var DEFAULT_POSTER_OPTIONS = {\n format: 'jpg',\n resource_type: 'video'\n};\n\nexport var DEFAULT_VIDEO_SOURCE_TYPES = ['webm', 'mp4', 'ogv'];\n\nexport var SEO_TYPES = {\n \"image/upload\": \"images\",\n \"image/private\": \"private_images\",\n \"image/authenticated\": \"authenticated_images\",\n \"raw/upload\": \"files\",\n \"video/upload\": \"videos\"\n};\n\n/**\n* @const {Object} Cloudinary.DEFAULT_IMAGE_PARAMS\n* Defaults values for image parameters.\n*\n* (Previously defined using option_consume() )\n */\nexport var DEFAULT_IMAGE_PARAMS = {\n resource_type: \"image\",\n transformation: [],\n type: 'upload'\n};\n\n/**\n* Defaults values for video parameters.\n* @const {Object} Cloudinary.DEFAULT_VIDEO_PARAMS\n* (Previously defined using option_consume() )\n */\nexport var DEFAULT_VIDEO_PARAMS = {\n fallback_content: '',\n resource_type: \"video\",\n source_transformation: {},\n source_types: DEFAULT_VIDEO_SOURCE_TYPES,\n transformation: [],\n type: 'upload'\n};\n\n/**\n * Recommended sources for video tag\n * @const {Object} Cloudinary.DEFAULT_VIDEO_SOURCES\n */\nexport const DEFAULT_VIDEO_SOURCES = [\n {\n type: \"mp4\",\n codecs: \"hev1\",\n transformations: {video_codec: \"h265\"}\n },\n {\n type: \"webm\",\n codecs: \"vp9\",\n transformations: {video_codec: \"vp9\"}\n },\n {\n type: \"mp4\",\n transformations: {video_codec: \"auto\"}\n },\n {\n type: \"webm\",\n transformations: {video_codec: \"auto\"}\n }\n];\n\nexport const DEFAULT_EXTERNAL_LIBRARIES = {\n seeThru: 'https://unpkg.com/seethru@4/dist/seeThru.min.js'\n}\n\n/**\n * Predefined placeholder transformations\n * @const {Object} Cloudinary.PLACEHOLDER_IMAGE_MODES\n */\nexport const PLACEHOLDER_IMAGE_MODES = {\n 'blur': [{effect: 'blur:2000', quality: 1, fetch_format: 'auto'}], // Default\n 'pixelate': [{effect: 'pixelate', quality: 1, fetch_format: 'auto'}],\n // Generates a pixel size image which color is the predominant color of the original image.\n 'predominant-color-pixel': [\n {width: 'iw_div_2', aspect_ratio: 1, crop: 'pad', background: 'auto'},\n {crop: 'crop', width: 1, height: 1, gravity: 'north_east'},\n {fetch_format: 'auto', quality: 'auto'}\n ],\n // Generates an image which color is the predominant color of the original image.\n 'predominant-color': [\n {variables: [['$currWidth', 'w'], ['$currHeight', 'h']]},\n {width: 'iw_div_2', aspect_ratio: 1, crop: 'pad', background: 'auto'},\n {crop: 'crop', width: 10, height: 10, gravity: 'north_east'},\n {width: '$currWidth', height: '$currHeight', crop: 'fill'},\n {fetch_format: 'auto', quality: 'auto'}\n ],\n 'vectorize': [{effect: 'vectorize:3:0.1', fetch_format: 'svg'}]\n};\n\n/**\n * Predefined accessibility transformations\n * @const {Object} Cloudinary.ACCESSIBILITY_MODES\n */\nexport const ACCESSIBILITY_MODES = {\n darkmode: 'tint:75:black',\n brightmode: 'tint:50:white',\n monochrome: 'grayscale',\n colorblind: 'assist_colorblind'\n};\n\n/**\n * A list of keys used by the url() function.\n * @private\n */\nexport const URL_KEYS = [\n 'accessibility',\n 'api_secret',\n 'auth_token',\n 'cdn_subdomain',\n 'cloud_name',\n 'cname',\n 'format',\n 'placeholder',\n 'private_cdn',\n 'resource_type',\n 'secure',\n 'secure_cdn_subdomain',\n 'secure_distribution',\n 'shorten',\n 'sign_url',\n 'signature',\n 'ssl_detected',\n 'type',\n 'url_suffix',\n 'use_root_path',\n 'version'\n];\n\n\n/**\n * The resource storage type\n * @typedef type\n * @enum {string}\n * @property {string} 'upload' A resource uploaded directly to Cloudinary\n * @property {string} 'fetch' A resource fetched by Cloudinary from a 3rd party storage\n * @property {string} 'private'\n * @property {string} 'authenticated'\n * @property {string} 'sprite'\n * @property {string} 'facebook'\n * @property {string} 'twitter'\n * @property {string} 'youtube'\n * @property {string} 'vimeo'\n *\n */\n\n/**\n * The resource type\n * @typedef resourceType\n * @enum {string}\n * @property {string} 'image' An image file\n * @property {string} 'video' A video file\n * @property {string} 'raw' A raw file\n */\n","/*\n * Includes common utility methods and shims\n */\nimport {contains, isString} from \"../util\";\nimport {URL_KEYS} from '../constants';\n\nexport function omit(obj, keys) {\n obj = obj || {};\n let srcKeys = Object.keys(obj).filter(key => !contains(keys, key));\n let filtered = {};\n srcKeys.forEach(key => filtered[key] = obj[key]);\n return filtered;\n}\n\n/**\n * Return true if all items in list are strings\n * @function Util.allString\n * @param {Array} list - an array of items\n */\nexport var allStrings = function(list) {\n return list.length && list.every(isString);\n};\n\n/**\n* Creates a new array without the given item.\n* @function Util.without\n* @param {Array} array - original array\n* @param {*} item - the item to exclude from the new array\n* @return {Array} a new array made of the original array's items except for `item`\n */\nexport var without = function(array, item) {\n return array.filter(v=>v!==item);\n};\n\n/**\n* Return true is value is a number or a string representation of a number.\n* @function Util.isNumberLike\n* @param {*} value\n* @returns {boolean} true if value is a number\n* @example\n* Util.isNumber(0) // true\n* Util.isNumber(\"1.3\") // true\n* Util.isNumber(\"\") // false\n* Util.isNumber(undefined) // false\n */\nexport var isNumberLike = function(value) {\n return (value != null) && !isNaN(parseFloat(value));\n};\n\n/**\n * Escape all characters matching unsafe in the given string\n * @function Util.smartEscape\n * @param {string} string - source string to escape\n * @param {RegExp} unsafe - characters that must be escaped\n * @return {string} escaped string\n */\nexport var smartEscape = function(string, unsafe = /([^a-zA-Z0-9_.\\-\\/:]+)/g) {\n return string.replace(unsafe, function(match) {\n return match.split(\"\").map(function(c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n }).join(\"\");\n });\n};\n\n/**\n * Assign values from sources if they are not defined in the destination.\n * Once a value is set it does not change\n * @function Util.defaults\n * @param {Object} destination - the object to assign defaults to\n * @param {...Object} source - the source object(s) to assign defaults from\n * @return {Object} destination after it was modified\n */\nexport var defaults = function(destination, ...sources) {\n return sources.reduce(function(dest, source) {\n let key, value;\n for (key in source) {\n value = source[key];\n if (dest[key] === void 0) {\n dest[key] = value;\n }\n }\n return dest;\n }, destination);\n};\n\n/*********** lodash functions */\nexport var objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nexport var objToString = objectProto.toString;\n\n/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n#isObject({});\n * // => true\n *\n#isObject([1, 2, 3]);\n * // => true\n *\n#isObject(1);\n * // => false\n */\nexport var isObject = function(value) {\n var type;\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n type = typeof value;\n return !!value && (type === 'object' || type === 'function');\n};\n\nexport var funcTag = '[object Function]';\n\n/**\n* Checks if `value` is classified as a `Function` object.\n* @function Util.isFunction\n* @param {*} value The value to check.\n* @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n* @example\n*\n* function Foo(){};\n* isFunction(Foo);\n* // => true\n*\n* isFunction(/abc/);\n* // => false\n */\nexport var isFunction = function(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 which returns 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) === funcTag;\n};\n\n/*********** lodash functions */\n/** Used to match words to create compound words. */\nexport var reWords = (function() {\n var lower, upper;\n upper = '[A-Z]';\n lower = '[a-z]+';\n return RegExp(upper + '+(?=' + upper + lower + ')|' + upper + '?' + lower + '|' + upper + '+|[0-9]+', 'g');\n})();\n\n/**\n* Convert string to camelCase\n* @function Util.camelCase\n* @param {string} source - the string to convert\n* @return {string} in camelCase format\n */\nexport var camelCase = function(source) {\n var words = source.match(reWords);\n words = words.map(word=> word.charAt(0).toLocaleUpperCase() + word.slice(1).toLocaleLowerCase());\n words[0] = words[0].toLocaleLowerCase();\n\n return words.join('');\n};\n\n/**\n * Convert string to snake_case\n * @function Util.snakeCase\n * @param {string} source - the string to convert\n * @return {string} in snake_case format\n */\nexport var snakeCase = function(source) {\n var words = source.match(reWords);\n words = words.map(word=> word.toLocaleLowerCase());\n return words.join('_');\n};\n\n/**\n * Creates a new object from source, with the keys transformed using the converter.\n * @param {object} source\n * @param {function|null} converter\n * @returns {object}\n */\nexport var convertKeys = function(source, converter) {\n var result, value;\n result = {};\n for (let key in source) {\n value = source[key];\n if(converter) {\n key = converter(key);\n }\n if (!isEmpty(key)) {\n result[key] = value;\n }\n }\n return result;\n};\n\n/**\n * Create a copy of the source object with all keys in camelCase\n * @function Util.withCamelCaseKeys\n * @param {Object} value - the object to copy\n * @return {Object} a new object\n */\nexport var withCamelCaseKeys = function(source) {\n return convertKeys(source, camelCase);\n};\n\n/**\n * Create a copy of the source object with all keys in snake_case\n * @function Util.withSnakeCaseKeys\n * @param {Object} value - the object to copy\n * @return {Object} a new object\n */\nexport var withSnakeCaseKeys = function(source) {\n return convertKeys(source, snakeCase);\n};\n\n// Browser\n// Node.js\nexport var base64Encode = typeof btoa !== 'undefined' && isFunction(btoa) ? btoa : typeof Buffer !== 'undefined' && isFunction(Buffer) ? function(input) {\n if (!(input instanceof Buffer)) {\n input = new Buffer.from(String(input), 'binary');\n }\n return input.toString('base64');\n} : function(input) {\n throw new Error(\"No base64 encoding function found\");\n};\n\n/**\n* Returns the Base64-decoded version of url.
\n* This method delegates to `btoa` if present. Otherwise it tries `Buffer`.\n* @function Util.base64EncodeURL\n* @param {string} url - the url to encode. the value is URIdecoded and then re-encoded before converting to base64 representation\n* @return {string} the base64 representation of the URL\n */\nexport var base64EncodeURL = function(url) {\n try {\n url = decodeURI(url);\n } finally {\n url = encodeURI(url);\n }\n return base64Encode(url);\n};\n\n/**\n * Create a new object with only URL parameters\n * @param {object} options The source object\n * @return {Object} An object containing only URL parameters\n */\nexport function extractUrlParams(options) {\n return URL_KEYS.reduce((obj, key) => {\n if (options[key] != null) {\n obj[key] = options[key];\n }\n return obj;\n }, {});\n}\n\n\n/**\n * Handle the format parameter for fetch urls\n * @private\n * @param options url and transformation options. This argument may be changed by the function!\n */\nexport function patchFetchFormat(options) {\n if(options == null) {\n options = {};\n }\n if (options.type === \"fetch\") {\n if (options.fetch_format == null) {\n options.fetch_format = optionConsume(options, \"format\");\n }\n }\n}\n\n/**\n * Deletes `option_name` from `options` and return the value if present.\n * If `options` doesn't contain `option_name` the default value is returned.\n * @param {Object} options a collection\n * @param {String} option_name the name (key) of the desired value\n * @param {*} [default_value] the value to return is option_name is missing\n */\nexport function optionConsume(options, option_name, default_value) {\n let result = options[option_name];\n delete options[option_name];\n if (result != null) {\n return result;\n } else {\n return default_value;\n }\n}\n\n/**\n * Returns true if value is empty:\n *
Possible values:
\n * - `image`
\n * - `video`
\n * - `raw`\n * @param {signature} [options.signature='s--12345678--'] - The signature component of a\n * signed delivery URL of the format: /s--SIGNATURE--/.\n * For details on signatures, see\n * Signatures.\n * @return {string} The media asset URL.\n * @see \n * Available image transformations\n * @see \n * Available video transformations\n */\nexport default function url(publicId, options = {}, config = {}) {\n if (!publicId) {\n return publicId;\n }\n options = prepareOptions(options, config);\n publicId = preparePublicId(publicId, options);\n\n const error = validate(options);\n\n if (error) {\n throw error;\n }\n let resultUrl = urlString(publicId, options);\n if(options.urlAnalytics) {\n let analyticsOptions = getAnalyticsOptions(options);\n let sdkAnalyticsSignature = getSDKAnalyticsSignature(analyticsOptions);\n // url might already have a '?' query param\n let appender = '?';\n if (resultUrl.indexOf('?') >= 0) {\n appender = '&';\n }\n resultUrl = `${resultUrl}${appender}_a=${sdkAnalyticsSignature}`;\n }\n return resultUrl;\n};\n","\n/**\n * Helper function. Gets or populates srcset breakpoints using provided parameters\n * Either the breakpoints or min_width, max_width, max_images must be provided.\n *\n * @private\n * @param {srcset} srcset Options with either `breakpoints` or `min_width`, `max_width`, and `max_images`\n *\n * @return {number[]} Array of breakpoints\n *\n */\nexport default function generateBreakpoints(srcset) {\n let breakpoints = srcset.breakpoints || [];\n if (breakpoints.length) {\n return breakpoints;\n }\n let [min_width, max_width, max_images] = [srcset.min_width, srcset.max_width, srcset.max_images].map(Number);\n if ([min_width, max_width, max_images].some(isNaN)) {\n throw 'Either (min_width, max_width, max_images) ' +\n 'or breakpoints must be provided to the image srcset attribute';\n }\n\n if (min_width > max_width) {\n throw 'min_width must be less than max_width'\n }\n\n if (max_images <= 0) {\n throw 'max_images must be a positive integer';\n } else if (max_images === 1) {\n min_width = max_width;\n }\n\n let stepSize = Math.ceil((max_width - min_width) / Math.max(max_images - 1, 1));\n for (let current = min_width; current < max_width; current += stepSize) {\n breakpoints.push(current);\n }\n breakpoints.push(max_width);\n return breakpoints;\n}\n","import * as utils from '../util';\n\nconst isEmpty = utils.isEmpty;\nimport generateBreakpoints from './generateBreakpoints';\nimport Transformation from '../transformation';\nimport url from '../url';\n\n/**\n * Options used to generate the srcset attribute.\n * @typedef {object} srcset\n * @property {(number[]|string[])} [breakpoints] An array of breakpoints.\n * @property {number} [min_width] Minimal width of the srcset images.\n * @property {number} [max_width] Maximal width of the srcset images.\n * @property {number} [max_images] Number of srcset images to generate.\n * @property {object|string} [transformation] The transformation to use in the srcset urls.\n * @property {boolean} [sizes] Whether to calculate and add the sizes attribute.\n */\n\n/**\n * Helper function. Generates a single srcset item url\n *\n * @private\n * @param {string} public_id Public ID of the resource.\n * @param {number} width Width in pixels of the srcset item.\n * @param {object|string} transformation\n * @param {object} options Additional options.\n *\n * @return {string} Resulting URL of the item\n */\nexport function scaledUrl(public_id, width, transformation, options = {}) {\n let configParams = utils.extractUrlParams(options);\n transformation = transformation || options;\n configParams.raw_transformation = new Transformation([utils.merge({}, transformation), {\n crop: 'scale',\n width: width\n }]).toString();\n\n return url(public_id, configParams);\n}\n\n/**\n * If cache is enabled, get the breakpoints from the cache. If the values were not found in the cache,\n * or cache is not enabled, generate the values.\n * @param {srcset} srcset The srcset configuration parameters\n * @param {string} public_id\n * @param {object} options\n * @return {*|Array}\n */\nexport function getOrGenerateBreakpoints(public_id, srcset = {}, options = {}) {\n return generateBreakpoints(srcset);\n}\n\n/**\n * Helper function. Generates srcset attribute value of the HTML img tag\n * @private\n *\n * @param {string} public_id Public ID of the resource\n * @param {number[]} breakpoints An array of breakpoints (in pixels)\n * @param {object} transformation The transformation\n * @param {object} options Includes html tag options, transformation options\n * @return {string} Resulting srcset attribute value\n */\nexport function generateSrcsetAttribute(public_id, breakpoints, transformation, options) {\n options = utils.cloneDeep(options);\n utils.patchFetchFormat(options);\n return breakpoints.map(width => `${scaledUrl(public_id, width, transformation, options)} ${width}w`).join(', ');\n}\n\n/**\n * Helper function. Generates sizes attribute value of the HTML img tag\n * @private\n * @param {number[]} breakpoints An array of breakpoints.\n * @return {string} Resulting sizes attribute value\n */\nexport function generateSizesAttribute(breakpoints) {\n if (breakpoints == null) {\n return '';\n }\n return breakpoints.map(width => `(max-width: ${width}px) ${width}px`).join(', ');\n}\n\n/**\n * Helper function. Generates srcset and sizes attributes of the image tag\n *\n * Generated attributes are added to attributes argument\n *\n * @private\n * @param {string} publicId The public ID of the resource\n * @param {object} attributes Existing HTML attributes.\n * @param {srcset} srcsetData\n * @param {object} options Additional options.\n *\n * @return array The responsive attributes\n */\nexport function generateImageResponsiveAttributes(publicId, attributes = {}, srcsetData = {}, options = {}) {\n // Create both srcset and sizes here to avoid fetching breakpoints twice\n\n let responsiveAttributes = {};\n if (isEmpty(srcsetData)) {\n return responsiveAttributes;\n }\n\n const generateSizes = (!attributes.sizes && srcsetData.sizes === true);\n\n const generateSrcset = !attributes.srcset;\n if (generateSrcset || generateSizes) {\n let breakpoints = getOrGenerateBreakpoints(publicId, srcsetData, options);\n\n if (generateSrcset) {\n let transformation = srcsetData.transformation;\n let srcsetAttr = generateSrcsetAttribute(publicId, breakpoints, transformation, options);\n if (!isEmpty(srcsetAttr)) {\n responsiveAttributes.srcset = srcsetAttr;\n }\n }\n\n if (generateSizes) {\n let sizesAttr = generateSizesAttribute(breakpoints);\n if (!isEmpty(sizesAttr)) {\n responsiveAttributes.sizes = sizesAttr;\n }\n }\n }\n return responsiveAttributes;\n}\n\n/**\n * Generate a media query\n *\n * @private\n * @param {object} options configuration options\n * @param {number|string} options.min_width\n * @param {number|string} options.max_width\n * @return {string} a media query string\n */\nexport function generateMediaAttr(options) {\n let mediaQuery = [];\n if (options != null) {\n if (options.min_width != null) {\n mediaQuery.push(`(min-width: ${options.min_width}px)`);\n }\n if (options.max_width != null) {\n mediaQuery.push(`(max-width: ${options.max_width}px)`);\n }\n }\n return mediaQuery.join(' and ');\n}\n\nexport const srcsetUrl = scaledUrl;\n","/**\n * Image Tag\n * Depends on 'tags/htmltag', 'cloudinary'\n */\n\nimport HtmlTag from './htmltag';\n\nimport url from '../url';\nimport {isEmpty, isString, merge} from \"../util\";\nimport {generateImageResponsiveAttributes} from \"../util/srcsetUtils\";\n\n/**\n * Creates an HTML (DOM) Image tag using Cloudinary as the source.\n * @constructor ImageTag\n * @extends HtmlTag\n * @param {string} [publicId]\n * @param {Object} [options]\n */\nclass ImageTag extends HtmlTag {\n constructor(publicId, options = {}) {\n super(\"img\", publicId, options);\n }\n\n /** @override */\n closeTag() {\n return \"\";\n }\n\n /** @override */\n attributes() {\n var attr, options, srcAttribute;\n attr = super.attributes() || {};\n options = this.getOptions();\n let srcsetParam = this.getOption('srcset');\n let attributes = this.getOption('attributes') || {};\n\n let responsiveAttributes = {};\n if (isString(srcsetParam)) {\n responsiveAttributes.srcset = srcsetParam\n } else {\n responsiveAttributes = generateImageResponsiveAttributes(this.publicId, attributes, srcsetParam, options);\n }\n if(!isEmpty(responsiveAttributes)) {\n delete options.width;\n delete options.height;\n }\n\n merge(attr, responsiveAttributes);\n srcAttribute = options.responsive && !options.client_hints ? 'data-src' : 'src';\n if (attr[srcAttribute] == null) {\n attr[srcAttribute] = url(this.publicId, this.getOptions());\n }\n return attr;\n }\n\n};\n\nexport default ImageTag;\n","/**\n * Image Tag\n * Depends on 'tags/htmltag', 'cloudinary'\n */\nimport {generateImageResponsiveAttributes, generateMediaAttr} from \"../util/srcsetUtils\";\nimport {merge} from '../util';\nimport url from '../url';\nimport HtmlTag from './htmltag';\n\n/**\n * Creates an HTML (DOM) Image tag using Cloudinary as the source.\n * @constructor SourceTag\n * @extends HtmlTag\n * @param {string} [publicId]\n * @param {Object} [options]\n */\nclass SourceTag extends HtmlTag {\n constructor(publicId, options = {}) {\n super(\"source\", publicId, options);\n }\n\n /** @override */\n closeTag() {\n return \"\";\n }\n\n /** @override */\n attributes() {\n let srcsetParam = this.getOption('srcset');\n let attr = super.attributes() || {};\n let options = this.getOptions();\n merge(attr, generateImageResponsiveAttributes(this.publicId, attr, srcsetParam, options));\n if(!attr.srcset){\n attr.srcset = url(this.publicId, options);\n }\n if(!attr.media && options.media){\n attr.media = generateMediaAttr(options.media);\n }\n\n return attr;\n }\n\n};\n\nexport default SourceTag;\n","import HtmlTag from './htmltag';\nimport ImageTag from './imagetag';\nimport Transformation from '../transformation';\nimport SourceTag from './sourcetag';\nimport {extractUrlParams} from \"../util\";\n\nclass PictureTag extends HtmlTag {\n constructor(publicId, options = {}, sources) {\n super('picture', publicId, options);\n this.widthList = sources;\n }\n\n /** @override */\n content() {\n return this.widthList.map(({min_width, max_width, transformation}) => {\n let options = this.getOptions();\n let sourceTransformation = new Transformation(options);\n sourceTransformation.chain().fromOptions(typeof transformation === 'string' ? {\n raw_transformation: transformation\n } : transformation);\n options = extractUrlParams(options);\n options.media = {min_width, max_width};\n options.transformation = sourceTransformation;\n return new SourceTag(this.publicId, options).toHtml();\n }).join('') +\n new ImageTag(this.publicId, this.getOptions()).toHtml();\n }\n\n /** @override */\n attributes() {\n\n let attr = super.attributes();\n delete attr.width;\n delete attr.height;\n return attr;\n }\n\n /** @override */\n closeTag() {\n return \"\" + this.name + \">\";\n }\n\n};\n\nexport default PictureTag;\n","/**\n * Video Tag\n * Depends on 'tags/htmltag', 'util', 'cloudinary'\n */\n\nimport {\n DEFAULT_VIDEO_PARAMS,\n DEFAULT_IMAGE_PARAMS\n} from '../constants';\n\nimport url from '../url';\n\nimport {\n defaults,\n isPlainObject,\n isArray,\n isEmpty,\n omit\n} from '../util';\n\nimport HtmlTag from './htmltag';\n\n\nconst VIDEO_TAG_PARAMS = ['source_types', 'source_transformation', 'fallback_content', 'poster', 'sources'];\n\nconst DEFAULT_VIDEO_SOURCE_TYPES = ['webm', 'mp4', 'ogv'];\n\nconst DEFAULT_POSTER_OPTIONS = {\n format: 'jpg',\n resource_type: 'video'\n};\n\n/**\n * Creates an HTML (DOM) Video tag using Cloudinary as the source.\n * @constructor VideoTag\n * @extends HtmlTag\n * @param {string} [publicId]\n * @param {Object} [options]\n */\nclass VideoTag extends HtmlTag {\n constructor(publicId, options = {}) {\n options = defaults({}, options, DEFAULT_VIDEO_PARAMS);\n super(\"video\", publicId.replace(/\\.(mp4|ogv|webm)$/, ''), options);\n }\n\n /**\n * Set the transformation to apply on each source\n * @function VideoTag#setSourceTransformation\n * @param {Object} an object with pairs of source type and source transformation\n * @returns {VideoTag} Returns this instance for chaining purposes.\n */\n setSourceTransformation(value) {\n this.transformation().sourceTransformation(value);\n return this;\n }\n\n /**\n * Set the source types to include in the video tag\n * @function VideoTag#setSourceTypes\n * @param {Array