if (typeof rvAgentPlayer !== 'undefined') { throw new Error('ResponsiveVoice Website Agent is already running'); } var rvAgentPlayer = { version: 1 }; var rvApiKey = '1wgELRUt'; var rvApiEndpoint = 'https://texttospeech.responsivevoice.org/v1/text:synthesize'; if (typeof responsiveVoice === 'undefined') { /* ResponsiveVoice JS v1.8.3 (c) 2015-2022 LearnBrite License: https://responsivevoice.org/license */ var $jscomp = $jscomp || {}; $jscomp.scope = {}; $jscomp.arrayIteratorImpl = function(f) { var k = 0; return function() { return k < f.length ? { done: !1, value: f[k++] } : { done: !0 } } } ; $jscomp.arrayIterator = function(f) { return { next: $jscomp.arrayIteratorImpl(f) } } ; $jscomp.ASSUME_ES5 = !1; $jscomp.ASSUME_NO_NATIVE_MAP = !1; $jscomp.ASSUME_NO_NATIVE_SET = !1; $jscomp.SIMPLE_FROUND_POLYFILL = !1; $jscomp.ISOLATE_POLYFILLS = !1; $jscomp.FORCE_POLYFILL_PROMISE = !1; $jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION = !1; $jscomp.defineProperty = $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties ? Object.defineProperty : function(f, k, m) { if (f == Array.prototype || f == Object.prototype) return f; f[k] = m.value; return f } ; $jscomp.getGlobal = function(f) { f = ["object" == typeof globalThis && globalThis, f, "object" == typeof window && window, "object" == typeof self && self, "object" == typeof global && global]; for (var k = 0; k < f.length; ++k) { var m = f[k]; if (m && m.Math == Math) return m } throw Error("Cannot find global object"); } ; $jscomp.global = $jscomp.getGlobal(this); $jscomp.IS_SYMBOL_NATIVE = "function" === typeof Symbol && "symbol" === typeof Symbol("x"); $jscomp.TRUST_ES6_POLYFILLS = !$jscomp.ISOLATE_POLYFILLS || $jscomp.IS_SYMBOL_NATIVE; $jscomp.polyfills = {}; $jscomp.propertyToPolyfillSymbol = {}; $jscomp.POLYFILL_PREFIX = "$jscp$"; var $jscomp$lookupPolyfilledValue = function(f, k) { var m = $jscomp.propertyToPolyfillSymbol[k]; if (null == m) return f[k]; m = f[m]; return void 0 !== m ? m : f[k] }; $jscomp.polyfill = function(f, k, m, l) { k && ($jscomp.ISOLATE_POLYFILLS ? $jscomp.polyfillIsolated(f, k, m, l) : $jscomp.polyfillUnisolated(f, k, m, l)) } ; $jscomp.polyfillUnisolated = function(f, k, m, l) { m = $jscomp.global; f = f.split("."); for (l = 0; l < f.length - 1; l++) { var a = f[l]; if (!(a in m)) return; m = m[a] } f = f[f.length - 1]; l = m[f]; k = k(l); k != l && null != k && $jscomp.defineProperty(m, f, { configurable: !0, writable: !0, value: k }) } ; $jscomp.polyfillIsolated = function(f, k, m, l) { var a = f.split("."); f = 1 === a.length; l = a[0]; l = !f && l in $jscomp.polyfills ? $jscomp.polyfills : $jscomp.global; for (var q = 0; q < a.length - 1; q++) { var z = a[q]; if (!(z in l)) return; l = l[z] } a = a[a.length - 1]; m = $jscomp.IS_SYMBOL_NATIVE && "es6" === m ? l[a] : null; k = k(m); null != k && (f ? $jscomp.defineProperty($jscomp.polyfills, a, { configurable: !0, writable: !0, value: k }) : k !== m && (void 0 === $jscomp.propertyToPolyfillSymbol[a] && (m = 1E9 * Math.random() >>> 0, $jscomp.propertyToPolyfillSymbol[a] = $jscomp.IS_SYMBOL_NATIVE ? $jscomp.global.Symbol(a) : $jscomp.POLYFILL_PREFIX + m + "$" + a), $jscomp.defineProperty(l, $jscomp.propertyToPolyfillSymbol[a], { configurable: !0, writable: !0, value: k }))) } ; $jscomp.initSymbol = function() {} ; $jscomp.polyfill("Symbol", function(f) { if (f) return f; var k = function(q, z) { this.$jscomp$symbol$id_ = q; $jscomp.defineProperty(this, "description", { configurable: !0, writable: !0, value: z }) }; k.prototype.toString = function() { return this.$jscomp$symbol$id_ } ; var m = "jscomp_symbol_" + (1E9 * Math.random() >>> 0) + "_" , l = 0 , a = function(q) { if (this instanceof a) throw new TypeError("Symbol is not a constructor"); return new k(m + (q || "") + "_" + l++,q) }; return a }, "es6", "es3"); $jscomp.polyfill("Symbol.iterator", function(f) { if (f) return f; f = Symbol("Symbol.iterator"); for (var k = "Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "), m = 0; m < k.length; m++) { var l = $jscomp.global[k[m]]; "function" === typeof l && "function" != typeof l.prototype[f] && $jscomp.defineProperty(l.prototype, f, { configurable: !0, writable: !0, value: function() { return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this)) } }) } return f }, "es6", "es3"); $jscomp.iteratorPrototype = function(f) { f = { next: f }; f[Symbol.iterator] = function() { return this } ; return f } ; Array.from || (Array.from = function() { var f = Object.prototype.toString , k = function(l) { return "function" === typeof l || "[object Function]" === f.call(l) } , m = Math.pow(2, 53) - 1; return function(l) { var a = Object(l); if (null == l) throw new TypeError("Array.from requires an array-like object - not null or undefined"); var q = 1 < arguments.length ? arguments[1] : void 0, z; if ("undefined" !== typeof q) { if (!k(q)) throw new TypeError("Array.from: when provided, the second argument must be a function"); 2 < arguments.length && (z = arguments[2]) } var w = Number(a.length); w = isNaN(w) ? 0 : 0 !== w && isFinite(w) ? (0 < w ? 1 : -1) * Math.floor(Math.abs(w)) : w; w = Math.min(Math.max(w, 0), m); for (var b = k(this) ? Object(new this(w)) : Array(w), c = 0, d; c < w; ) d = a[c], b[c] = q ? "undefined" === typeof z ? q(d, c) : q.call(z, d, c) : d, c += 1; b.length = w; return b } }()); if (!isNaN) var isNaN = function(f) { f = Number(f); return f !== f }; (function(f, k) { "object" === typeof exports && "undefined" !== typeof module ? k() : "function" === typeof define && define.amd ? define(k) : k() } )(this, function() { function f(m) { f = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(l) { return typeof l } : function(l) { return l && "function" === typeof Symbol && l.constructor === Symbol && l !== Symbol.prototype ? "symbol" : typeof l } ; return f(m) } function k(m, l) { var a = this.event && this.event.type; a = "unload" === a || "beforeunload" === a; var q = "XMLHttpRequest"in this ? new XMLHttpRequest : new ActiveXObject("Microsoft.XMLHTTP"); q.open("POST", m, !a); q.withCredentials = !0; q.setRequestHeader("Accept", "*/*"); "string" === typeof l ? (q.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"), q.responseType = "text") : l instanceof Blob && l.type && q.setRequestHeader("Content-Type", l.type); try { q.send(l) } catch (z) { return !1 } return !0 } (function() { "navigator"in this || (this.navigator = {}); "function" !== typeof this.navigator.sendBeacon && (this.navigator.sendBeacon = k.bind(this)) } ).call("object" === ("undefined" === typeof window ? "undefined" : f(window)) ? window : {}) }); if ("undefined" != typeof responsiveVoice) console.log("ResponsiveVoice already loaded"), console.log(responsiveVoice); else var ResponsiveVoice = function() { function f(b) { b = b.replace(/([\n\r])+/gm, "\n"); for (var c = /([,.:!\u00a1?\u00bf;()\[\]\u2014\u00ab\u00bb])+[\n\r]/gm, d = !0; d; ) null === b.match(c) ? d = !1 : b = b.replace(c, "$1 "); return b } function k(b, c) { if (!q) return b; console.log(c); var d = b; try { for (var e = 0; e < q.length; e++) { var n = q[e] , g = !1 , h = n.collectionvoices; h ? (Array.isArray(h) || (h = [h]), c.collectionvoice && c.collectionvoice.name && -1 != h.indexOf(c.collectionvoice.name) && (g = !0)) : g = !0; var r = !1 , p = n.systemvoices; p ? (Array.isArray(p) || (p = [p]), c.systemvoice && c.systemvoice.name && -1 != p.indexOf(c.systemvoice.name) && (r = !0)) : r = !0; (null == h || null != h && g) && (null == p || null != p && r) && (d = d.replace(n.searchvalue, n.newvalue)) } return d } catch (u) { return console.warn("ResponsiveVoice: There was an error while processing the textReplacements array"), b } } function m() { var b = document.getElementsByTagName("script"), c; for (c = 0; c < b.length; ++c) if (b[c].src && w.test(b[c].src)) { var d = b[c].src; var e = document.createElement("a"); var n = {}; e.href = d; if (e.search) { var g = e.search.replace(/^\?/, "").split("&"); for (d = 0; d < g.length; d++) e = g[d].split("="), n[e[0]] = e[1]; n = n.source ? n.source : !1 } else n = !1; if (n && "wp-plugin" == n) return w.lastIndex = 0, !0 } return !1 } function l() { var b = document.getElementsByTagName("script"), c; for (c = 0; c < b.length; ++c) if (b[c].src && w.test(b[c].src)) return w.lastIndex = 0, !1; return !0 } var a = this; a.version = "1.8.3"; console.log("ResponsiveVoice r" + a.version); a.responsivevoices = [{ name: "UK English Female", flag: "gb", gender: "f", lang: "en-GB", voiceIDs: [3, 7, 171, 201, 5, 1, 528, 257, 286, 342, 258, 287, 343, 8] }, { name: "UK English Male", flag: "gb", gender: "m", lang: "en-GB", voiceIDs: [0, 277, 202, 75, 4, 2, 256, 285, 341, 159] }, { name: "US English Female", flag: "us", gender: "f", lang: "en-US", voiceIDs: [432, 433, 434, 40, 41, 42, 383, 205, 204, 43, 481, 173, 235, 283, 339, 408, 44] }, { name: "US English Male", flag: "us", gender: "m", lang: "en-US", voiceIDs: [431, 39, 234, 282, 338, 236, 284, 340, 2, 4, 0, 75, 195, 169] }, { name: "Arabic Male", flag: "ar", gender: "m", lang: "ar-SA", voiceIDs: [96, 95, 97, 196, 388] }, { name: "Arabic Female", flag: "ar", gender: "f", lang: "ar-SA", voiceIDs: [483, 98] }, { name: "Armenian Male", flag: "hy", gender: "f", lang: "hy-AM", voiceIDs: [99] }, { name: "Australian Female", flag: "au", gender: "f", lang: "en-AU", voiceIDs: [495, 415, 276, 201, 87, 5, 88] }, { name: "Australian Male", flag: "au", gender: "m", lang: "en-AU", voiceIDs: [86, 386] }, { name: "Bangla Bangladesh Female", flag: "bd", gender: "f", lang: "bn-BD", voiceIDs: [435] }, { name: "Bangla Bangladesh Male", flag: "bd", gender: "m", lang: "bn-BD", voiceIDs: [485, 410, 436] }, { name: "Bangla India Female", flag: "bd", gender: "f", lang: "bn-IN", voiceIDs: [447] }, { name: "Bangla India Male", flag: "bd", gender: "m", lang: "bn-IN", voiceIDs: [492, 411, 448] }, { name: "Brazilian Portuguese Female", flag: "br", gender: "f", lang: "pt-BR", voiceIDs: [245, 124, 123, 125, 499, 186, 223, 126] }, { name: "Brazilian Portuguese Male", flag: "br", gender: "m", lang: "pt-BR", voiceIDs: [315, 332, 371, 399], deprecated: !0 }, { name: "Chinese Female", flag: "cn", gender: "f", lang: "zh-CN", voiceIDs: [249, 58, 59, 452, 380, 281, 231, 155, 60, 513, 191, 268, 297, 353, 269, 298, 354, 409, 61] }, { name: "Chinese Male", flag: "cn", gender: "m", lang: "zh-CN", voiceIDs: [317, 334, 373, 389] }, { name: "Chinese (Hong Kong) Female", flag: "hk", gender: "f", lang: "zh-HK", voiceIDs: [463, 464, 192, 193, 232, 250, 251, 270, 299, 355, 409, 444, 252] }, { name: "Chinese (Hong Kong) Male", flag: "hk", gender: "m", lang: "zh-HK", voiceIDs: [430, 318, 335, 374, 445, 390] }, { name: "Chinese Taiwan Female", flag: "tw", gender: "f", lang: "zh-TW", voiceIDs: [469, 194, 233, 253, 254, 305, 322, 361, 384, 319, 336, 375, 409, 255] }, { name: "Chinese Taiwan Male", flag: "tw", gender: "m", lang: "zh-TW", voiceIDs: [320, 337, 376, 391] }, { name: "Czech Female", flag: "cz", gender: "f", lang: "cs-CZ", voiceIDs: [504, 412, 101, 100, 102, 197, 103] }, { name: "Czech Male", flag: "cz", gender: "m", lang: "cs-CZ", voiceIDs: [161], deprecated: !0 }, { name: "Danish Female", flag: "dk", gender: "f", lang: "da-DK", voiceIDs: [474, 413, 105, 104, 106, 198, 107] }, { name: "Danish Male", flag: "da", gender: "m", lang: "da-DK", voiceIDs: [162], deprecated: !0 }, { name: "Deutsch Female", flag: "de", gender: "f", lang: "de-DE", voiceIDs: [27, 28, 29, 30, 78, 170, 275, 199, 31, 502, 261, 290, 346, 262, 291, 347, 32] }, { name: "Deutsch Male", flag: "de", gender: "m", lang: "de-DE", voiceIDs: [307, 324, 363, 377, 393] }, { name: "Dutch Female", flag: "nl", gender: "f", lang: "nl-NL", voiceIDs: [243, 219, 84, 157, 158, 496, 184, 45] }, { name: "Dutch Male", flag: "nl", gender: "m", lang: "nl-NL", voiceIDs: [157, 220, 407] }, { name: "Estonian Male", flag: "ee", gender: "m", lang: "et-EE", voiceIDs: [476, 416, 446] }, { name: "Filipino Female", flag: "ph", gender: "f", lang: "fil-PH", voiceIDs: [507, 418, 437] }, { name: "Finnish Female", flag: "fi", gender: "f", lang: "fi-FI", voiceIDs: [490, 417, 90, 89, 91, 209, 92] }, { name: "Finnish Male", flag: "fi", gender: "m", lang: "fi-FI", voiceIDs: [160], deprecated: !0 }, { name: "French Female", flag: "fr", gender: "f", lang: "fr-FR", voiceIDs: [240, 21, 22, 23, 77, 178, 279, 210, 493, 266, 295, 351, 304, 321, 360, 26] }, { name: "French Male", flag: "fr", gender: "m", lang: "fr-FR", voiceIDs: [311, 328, 367, 378, 392] }, { name: "French Canadian Female", flag: "ca", gender: "f", lang: "fr-CA", voiceIDs: [497, 419, 210, 449] }, { name: "French Canadian Male", flag: "ca", gender: "m", lang: "fr-CA", voiceIDs: [450] }, { name: "Greek Female", flag: "gr", gender: "f", lang: "el-GR", voiceIDs: [488, 414, 62, 63, 80, 200, 64] }, { name: "Greek Male", flag: "gr", gender: "m", lang: "el-GR", voiceIDs: [163], deprecated: !0 }, { name: "Hindi Female", flag: "hi", gender: "f", lang: "hi-IN", voiceIDs: [247, 66, 154, 179, 213, 489, 259, 288, 344, 67] }, { name: "Hindi Male", flag: "hi", gender: "m", lang: "hi-IN", voiceIDs: [394] }, { name: "Hungarian Female", flag: "hu", gender: "f", lang: "hu-HU", voiceIDs: [470, 420, 9, 10, 81, 214, 11] }, { name: "Hungarian Male", flag: "hu", gender: "m", lang: "hu-HU", voiceIDs: [164], deprecated: !0 }, { name: "Indonesian Female", flag: "id", gender: "f", lang: "id-ID", voiceIDs: [241, 111, 112, 524, 180, 215, 113] }, { name: "Indonesian Male", flag: "id", gender: "m", lang: "id-ID", voiceIDs: [395] }, { name: "Italian Female", flag: "it", gender: "f", lang: "it-IT", voiceIDs: [242, 33, 34, 35, 36, 37, 79, 181, 216, 508, 271, 300, 356, 38] }, { name: "Italian Male", flag: "it", gender: "m", lang: "it-IT", voiceIDs: [312, 329, 368, 406] }, { name: "Japanese Female", flag: "jp", gender: "f", lang: "ja-JP", voiceIDs: [51, 280, 217, 52, 153, 517, 182, 273, 302, 358, 274, 303, 359, 53] }, { name: "Japanese Male", flag: "jp", gender: "m", lang: "ja-JP", voiceIDs: [248, 50, 313, 330, 369, 396] }, { name: "Korean Female", flag: "kr", gender: "f", lang: "ko-KR", voiceIDs: [54, 55, 56, 156, 183, 218, 466, 306, 323, 362, 384, 57] }, { name: "Korean Male", flag: "kr", gender: "m", lang: "ko-KR", voiceIDs: [397] }, { name: "Latin Female", flag: "va", gender: "f", lang: "la", voiceIDs: [114], deprecated: !0 }, { name: "Latin Male", flag: "va", gender: "m", lang: "la", voiceIDs: [165] }, { name: "Nepali", flag: "np", gender: "f", lang: "ne-NP", voiceIDs: [509, 423, 441] }, { name: "Norwegian Female", flag: "no", gender: "f", lang: "nb-NO", voiceIDs: [473, 422, 72, 73, 221, 74] }, { name: "Norwegian Male", flag: "no", gender: "m", lang: "nb-NO", voiceIDs: [166] }, { name: "Polish Female", flag: "pl", gender: "f", lang: "pl-PL", voiceIDs: [244, 120, 119, 121, 185, 222, 505, 267, 296, 352, 122] }, { name: "Polish Male", flag: "pl", gender: "m", lang: "pl-PL", voiceIDs: [314, 331, 370, 398] }, { name: "Portuguese Female", flag: "br", gender: "f", lang: "pt-BR", voiceIDs: [128, 127, 129, 187, 224, 479, 272, 301, 357, 130] }, { name: "Portuguese Male", flag: "br", gender: "m", lang: "pt-BR", voiceIDs: [400] }, { name: "Romanian Female", flag: "ro", gender: "f", lang: "ro-RO", voiceIDs: [526, 424, 151, 150, 152, 225, 46] }, { name: "Russian Female", flag: "ru", gender: "f", lang: "ru-RU", voiceIDs: [246, 47, 48, 83, 468, 188, 226, 260, 289, 345, 49] }, { name: "Russian Male", flag: "ru", gender: "m", lang: "ru-RU", voiceIDs: [316, 333, 372, 387], deprecated: !0 }, { name: "Sinhala", flag: "lk", gender: "f", lang: "si-LK", voiceIDs: [501, 425, 442] }, { name: "Slovak Female", flag: "sk", gender: "f", lang: "sk-SK", voiceIDs: [506, 426, 133, 132, 134, 227, 135] }, { name: "Slovak Male", flag: "sk", gender: "m", lang: "sk-SK", voiceIDs: [167], deprecated: !0 }, { name: "Spanish Female", flag: "es", gender: "f", lang: "es-ES", voiceIDs: [19, 238, 16, 17, 18, 20, 76, 174, 207, 514, 521, 263, 292, 348, 264, 293, 349, 15] }, { name: "Spanish Male", flag: "es", gender: "m", lang: "es-ES", voiceIDs: [309, 326, 365, 401], deprecated: !0 }, { name: "Spanish Latin American Female", flag: "es", gender: "f", lang: "es-MX", voiceIDs: [239, 137, 136, 138, 175, 208, 265, 294, 350, 139] }, { name: "Spanish Latin American Male", flag: "es", gender: "m", lang: "es-MX", voiceIDs: [136, 310, 327, 366, 402] }, { name: "Swedish Female", flag: "sv", gender: "f", lang: "sv-SE", voiceIDs: [482, 427, 85, 149, 228, 65] }, { name: "Swedish Male", flag: "sv", gender: "m", lang: "sv-SE", voiceIDs: [148, 168] }, { name: "Tamil Female", flag: "hi", gender: "m", lang: "hi-IN", voiceIDs: [458, 516, 451] }, { name: "Tamil Male", flag: "hi", gender: "m", lang: "hi-IN", voiceIDs: [141] }, { name: "Thai Female", flag: "th", gender: "f", lang: "th-TH", voiceIDs: [143, 142, 144, 471, 189, 229, 145] }, { name: "Thai Male", flag: "th", gender: "m", lang: "th-TH", voiceIDs: [403] }, { name: "Turkish Female", flag: "tr", gender: "f", lang: "tr-TR", voiceIDs: [69, 70, 82, 475, 190, 230, 71] }, { name: "Turkish Male", flag: "tr", gender: "m", lang: "tr-TR", voiceIDs: [465, 404] }, { name: "Ukrainian Female", flag: "ua", gender: "f", lang: "uk-UA", voiceIDs: [494, 428, 443] }, { name: "Vietnamese Female", flag: "vi", gender: "f", lang: "vi-VN", voiceIDs: [480, 429, 405] }, { name: "Vietnamese Male", flag: "vi", gender: "m", lang: "vi-VN", voiceIDs: [146] }, { name: "Afrikaans Male", flag: "af", gender: "m", lang: "af-ZA", voiceIDs: [93] }, { name: "Albanian Male", flag: "sq", gender: "m", lang: "sq-AL", voiceIDs: [94] }, { name: "Bosnian Male", flag: "bs", gender: "m", lang: "bs", voiceIDs: [14] }, { name: "Catalan Male", flag: "catalonia", gender: "m", lang: "ca-ES", voiceIDs: [68] }, { name: "Croatian Male", flag: "hr", gender: "m", lang: "hr-HR", voiceIDs: [13] }, { name: "Esperanto Male", flag: "eo", gender: "m", lang: "eo", voiceIDs: [108] }, { name: "Icelandic Male", flag: "is", gender: "m", lang: "is-IS", voiceIDs: [110], deprecated: !0 }, { name: "Icelandic Female", flag: "is", gender: "m", lang: "is-IS", voiceIDs: [110] }, { name: "Latvian Male", flag: "lv", gender: "m", lang: "lv-LV", voiceIDs: [115] }, { name: "Macedonian Male", flag: "mk", gender: "m", lang: "mk-MK", voiceIDs: [116] }, { name: "Moldavian Female", flag: "md", gender: "f", lang: "md", voiceIDs: [117] }, { name: "Moldavian Male", flag: "md", gender: "m", lang: "md", voiceIDs: [117], deprecated: !0 }, { name: "Montenegrin Male", flag: "me", gender: "m", lang: "me", voiceIDs: [118] }, { name: "Serbian Male", flag: "sr", gender: "m", lang: "sr-RS", voiceIDs: [12] }, { name: "Serbo-Croatian Male", flag: "hr", gender: "m", lang: "hr-HR", voiceIDs: [131] }, { name: "Swahili Male", flag: "sw", gender: "m", lang: "sw-KE", voiceIDs: [140] }, { name: "Welsh Male", flag: "cy", gender: "m", lang: "cy", voiceIDs: [147] }, { name: "Fallback UK Female", flag: "gb", gender: "f", lang: "en-GB", voiceIDs: [8] }]; a.voicecollection = [{ name: "Google UK English Male" }, { name: "Agnes" }, { name: "Daniel Compact" }, { name: "Google UK English Female" }, { name: "en-GB", rate: .25, pitch: 1 }, { name: "en-AU", rate: .25, pitch: 1 }, { name: "ingl\u00e9s Reino Unido" }, { name: "English United Kingdom" }, { name: "Fallback en-GB Female", lang: "en-GB", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Eszter Compact" }, { name: "hu-HU", rate: .4 }, { name: "Fallback Hungarian Female", lang: "hu", fallbackvoice: !0, service: "g1" }, { name: "Fallback Serbian Male", lang: "sr", fallbackvoice: !0, service: "g1", gender: "male" }, { name: "Fallback Croatian Male", lang: "hr", rate: .5, fallbackvoice: !0, service: "g2", gender: "male" }, { name: "Fallback Bosnian Male", lang: "bs", fallbackvoice: !0, service: "g2", gender: "male" }, { name: "Fallback Spanish Female", lang: "es", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Spanish Spain" }, { name: "espa\u00f1ol Espa\u00f1a" }, { name: "Diego Compact", rate: .3 }, { name: "Google Espa\u00f1ol" }, { name: "es-ES", rate: .2 }, { name: "Google Fran\u00e7ais" }, { name: "French France" }, { name: "franc\u00e9s Francia" }, { name: "Virginie Compact", rate: .5 }, { name: "fr-FR", rate: .25 }, { name: "Fallback French Female", lang: "fr", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Google Deutsch" }, { name: "German Germany" }, { name: "alem\u00e1n Alemania" }, { name: "Yannick Compact", rate: .5 }, { name: "de-DE", rate: .25 }, { name: "Fallback Deutsch Female", lang: "de", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Google Italiano" }, { name: "Italian Italy" }, { name: "italiano Italia" }, { name: "Paolo Compact", rate: .5 }, { name: "it-IT", rate: .25 }, { name: "Fallback Italian Female", lang: "it", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Google US English", timerSpeed: 1 }, { name: "English United States" }, { name: "ingl\u00e9s Estados Unidos" }, { name: "Vicki" }, { name: "en-US", rate: .2, pitch: 1, timerSpeed: 1.3 }, { name: "Fallback US English", lang: "en-US", fallbackvoice: !0, timerSpeed: 0, service: "g1", gender: "female" }, { name: "Fallback Dutch Female", lang: "nl", fallbackvoice: !0, timerSpeed: 0, service: "g1", gender: "female" }, { name: "Fallback Romanian", lang: "ro", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Milena Compact" }, { name: "ru-RU", rate: .25 }, { name: "Fallback Russian", lang: "ru", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Google \u65e5\u672c\u4eba", timerSpeed: 1 }, { name: "Kyoko Compact" }, { name: "ja-JP", rate: .25 }, { name: "Fallback Japanese Female", lang: "ja", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Google \ud55c\uad6d\uc758", timerSpeed: 1 }, { name: "Narae Compact" }, { name: "ko-KR", rate: .25 }, { name: "Fallback Korean Female", lang: "ko", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Google \u4e2d\u56fd\u7684", timerSpeed: 1 }, { name: "Ting-Ting Compact" }, { name: "zh-CN", rate: .25 }, { name: "Fallback Chinese", lang: "zh-CN", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Alexandros Compact" }, { name: "el-GR", rate: .25 }, { name: "Fallback Greek", lang: "el", fallbackvoice: !0, service: "g3", gender: "female" }, { name: "Fallback Swedish", lang: "sv", fallbackvoice: !0, service: "g3", gender: "female" }, { name: "hi-IN", rate: .25 }, { name: "Fallback Hindi Female", lang: "hi", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Fallback Catalan", lang: "ca", fallbackvoice: !0, service: "g1", gender: "male" }, { name: "Aylin Compact" }, { name: "tr-TR", rate: .25 }, { name: "Fallback Turkish", lang: "tr", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Stine Compact" }, { name: "no-NO", rate: .25 }, { name: "Fallback Norwegian", lang: "no", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Daniel" }, { name: "Monica" }, { name: "Amelie" }, { name: "Anna" }, { name: "Alice" }, { name: "Melina" }, { name: "Mariska" }, { name: "Yelda" }, { name: "Milena" }, { name: "Xander" }, { name: "Alva" }, { name: "Lee Compact" }, { name: "Karen" }, { name: "Fallback Australian Female", lang: "en-AU", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Mikko Compact" }, { name: "Satu" }, { name: "fi-FI", rate: .25 }, { name: "Fallback Finnish", lang: "fi", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Fallback Afrikans", lang: "af", fallbackvoice: !0, service: "g1", gender: "male" }, { name: "Fallback Albanian", lang: "sq", fallbackvoice: !0, service: "g2", gender: "male" }, { name: "Maged Compact" }, { name: "Tarik" }, { name: "ar-SA", rate: .25 }, { name: "Fallback Arabic", lang: "ar", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Fallback Armenian", lang: "hy", fallbackvoice: !0, service: "g5", gender: "male" }, { name: "Zuzana Compact" }, { name: "Zuzana" }, { name: "cs-CZ", rate: .25 }, { name: "Fallback Czech", lang: "cs", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Ida Compact" }, { name: "Sara" }, { name: "da-DK", rate: .25 }, { name: "Fallback Danish", lang: "da", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Fallback Esperanto", lang: "eo", fallbackvoice: !0, service: "g5", gender: "male" }, { name: "Fallback Haitian Creole", lang: "ht", fallbackvoice: !0 }, { name: "Fallback Icelandic", lang: "is", fallbackvoice: !0, service: "g1", gender: "male" }, { name: "Damayanti" }, { name: "id-ID", rate: .25 }, { name: "Fallback Indonesian Female", lang: "id", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Fallback Latin Female", lang: "la", fallbackvoice: !0, service: "g2", gender: "female" }, { name: "Fallback Latvian Male", lang: "lv", fallbackvoice: !0, service: "g1", gender: "male" }, { name: "Fallback Macedonian Male", lang: "mk", fallbackvoice: !0, service: "g5", gender: "male" }, { name: "Fallback Moldavian Female", lang: "mo", fallbackvoice: !0, service: "g2", gender: "female" }, { name: "Fallback Montenegrin Male", lang: "sr-ME", fallbackvoice: !0, service: "g1", gender: "male" }, { name: "Agata Compact" }, { name: "Zosia" }, { name: "pl-PL", rate: .25 }, { name: "Fallback Polish Female", lang: "pl", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Raquel Compact" }, { name: "Luciana" }, { name: "pt-BR", rate: .25 }, { name: "Fallback Brazilian Portuguese Female", lang: "pt-BR", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Joana Compact" }, { name: "Joana" }, { name: "pt-PT", rate: .25 }, { name: "Fallback Portuguese", lang: "pt-PT", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Fallback Serbo-Croation", lang: "sh", fallbackvoice: !0, service: "g2", gender: "male" }, { name: "Laura Compact" }, { name: "Laura" }, { name: "sk-SK", rate: .25 }, { name: "Fallback Slovak", lang: "sk", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Javier Compact" }, { name: "Paulina" }, { name: "es-MX", rate: .25 }, { name: "Fallback Spanish (Latin American) Female", lang: "es-419", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Fallback Swahili", lang: "sw", fallbackvoice: !0, service: "g2", gender: "male" }, { name: "Fallback Tamil", lang: "ta", fallbackvoice: !0, service: "g1", gender: "male" }, { name: "Narisa Compact" }, { name: "Kanya" }, { name: "th-TH", rate: .25 }, { name: "Fallback Thai Female", lang: "th", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Fallback Vietnamese Male", lang: "vi", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Welsh", lang: "cy", fallbackvoice: !0, service: "g5", gender: "male" }, { name: "Oskar Compact" }, { name: "sv-SE", rate: .25 }, { name: "Simona Compact" }, { name: "Ioana" }, { name: "ro-RO", rate: .25 }, { name: "Kyoko" }, { name: "Lekha" }, { name: "Ting-Ting" }, { name: "Yuna" }, { name: "Xander Compact" }, { name: "nl-NL", rate: .25 }, { name: "Fallback UK English Male", lang: "en-GB", fallbackvoice: !0, service: "g1", voicename: "rjs", gender: "male" }, { name: "Finnish Male", lang: "fi", fallbackvoice: !0, service: "g3", voicename: "", gender: "male", deprecated: !0 }, { name: "Czech Male", lang: "cs", fallbackvoice: !0, service: "g3", voicename: "", gender: "male", deprecated: !0 }, { name: "Danish Male", lang: "da", fallbackvoice: !0, service: "g3", voicename: "", gender: "male", deprecated: !0 }, { name: "Greek Male", lang: "el", fallbackvoice: !0, service: "g3", voicename: "", gender: "male", deprecated: !0 }, { name: "Hungarian Male", lang: "hu", fallbackvoice: !0, service: "g3", voicename: "", gender: "male", deprecated: !0 }, { name: "Latin Male", lang: "la", fallbackvoice: !0, service: "g2", voicename: "", gender: "male" }, { name: "Norwegian Male", lang: "no", fallbackvoice: !0, service: "g3", voicename: "", gender: "male" }, { name: "Slovak Male", lang: "sk", fallbackvoice: !0, service: "g3", voicename: "", gender: "male", deprecated: !0 }, { name: "Swedish Male", lang: "sv", fallbackvoice: !0, service: "g3", voicename: "", gender: "male" }, { name: "Fallback US English Male", lang: "en-US", fallbackvoice: !0, service: "g3", voicename: "", gender: "male" }, { name: "German Germany", lang: "de_DE" }, { name: "English United Kingdom", lang: "en_GB" }, { name: "English India", lang: "en_IN" }, { name: "English United States", lang: "en_US" }, { name: "Spanish Spain", lang: "es_ES" }, { name: "Spanish Mexico", lang: "es_MX" }, { name: "Spanish United States", lang: "es_US" }, { name: "French Belgium", lang: "fr_BE" }, { name: "French France", lang: "fr_FR" }, { name: "Hindi India", lang: "hi_IN" }, { name: "Indonesian Indonesia", lang: "in_ID" }, { name: "Italian Italy", lang: "it_IT" }, { name: "Japanese Japan", lang: "ja_JP" }, { name: "Korean South Korea", lang: "ko_KR" }, { name: "Dutch Netherlands", lang: "nl_NL" }, { name: "Polish Poland", lang: "pl_PL" }, { name: "Portuguese Brazil", lang: "pt_BR" }, { name: "Portuguese Portugal", lang: "pt_PT" }, { name: "Russian Russia", lang: "ru_RU" }, { name: "Thai Thailand", lang: "th_TH" }, { name: "Turkish Turkey", lang: "tr_TR" }, { name: "Chinese China", lang: "zh_CN_#Hans" }, { name: "Chinese Hong Kong", lang: "zh_HK_#Hans" }, { name: "Chinese Hong Kong", lang: "zh_HK_#Hant" }, { name: "Chinese Taiwan", lang: "zh_TW_#Hant" }, { name: "Alex" }, { name: "Maged", lang: "ar-SA" }, { name: "Zuzana", lang: "cs-CZ" }, { name: "Sara", lang: "da-DK" }, { name: "Anna", lang: "de-DE" }, { name: "Melina", lang: "el-GR" }, { name: "Karen", lang: "en-AU" }, { name: "Daniel", lang: "en-GB" }, { name: "Moira", lang: "en-IE" }, { name: "Samantha (Enhanced)", lang: "en-US" }, { name: "Samantha", lang: "en-US" }, { name: "Tessa", lang: "en-ZA" }, { name: "Monica", lang: "es-ES" }, { name: "Paulina", lang: "es-MX" }, { name: "Satu", lang: "fi-FI" }, { name: "Amelie", lang: "fr-CA" }, { name: "Thomas", lang: "fr-FR" }, { name: "Carmit", lang: "he-IL" }, { name: "Lekha", lang: "hi-IN" }, { name: "Mariska", lang: "hu-HU" }, { name: "Damayanti", lang: "id-ID" }, { name: "Alice", lang: "it-IT" }, { name: "Kyoko", lang: "ja-JP" }, { name: "Yuna", lang: "ko-KR" }, { name: "Ellen", lang: "nl-BE" }, { name: "Xander", lang: "nl-NL" }, { name: "Nora", lang: "no-NO" }, { name: "Zosia", lang: "pl-PL" }, { name: "Luciana", lang: "pt-BR" }, { name: "Joana", lang: "pt-PT" }, { name: "Ioana", lang: "ro-RO" }, { name: "Milena", lang: "ru-RU" }, { name: "Laura", lang: "sk-SK" }, { name: "Alva", lang: "sv-SE" }, { name: "Kanya", lang: "th-TH" }, { name: "Yelda", lang: "tr-TR" }, { name: "Ting-Ting", lang: "zh-CN" }, { name: "Sin-Ji", lang: "zh-HK" }, { name: "Mei-Jia", lang: "zh-TW" }, { name: "Microsoft David Mobile - English (United States)", lang: "en-US" }, { name: "Microsoft Zira Mobile - English (United States)", lang: "en-US" }, { name: "Microsoft Mark Mobile - English (United States)", lang: "en-US" }, { name: "native", lang: "" }, { name: "Google espa\u00f1ol" }, { name: "Google espa\u00f1ol de Estados Unidos" }, { name: "Google fran\u00e7ais" }, { name: "Google Bahasa Indonesia" }, { name: "Google italiano" }, { name: "Google Nederlands" }, { name: "Google polski" }, { name: "Google portugu\u00eas do Brasil" }, { name: "Google \u0440\u0443\u0441\u0441\u043a\u0438\u0439" }, { name: "Google \u0939\u093f\u0928\u094d\u0926\u0940" }, { name: "Google \u65e5\u672c\u8a9e" }, { name: "Google \u666e\u901a\u8bdd\uff08\u4e2d\u56fd\u5927\u9646\uff09" }, { name: "Google \u7ca4\u8a9e\uff08\u9999\u6e2f\uff09" }, { name: "zh-HK", rate: .25 }, { name: "Fallback Chinese (Hong Kong) Female", lang: "zh-HK", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Google \u7ca4\u8a9e\uff08\u9999\u6e2f\uff09" }, { name: "zh-TW", rate: .25 }, { name: "Fallback Chinese (Taiwan) Female", lang: "zh-TW", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Microsoft George Mobile - English (United Kingdom)", lang: "en-GB" }, { name: "Microsoft Susan Mobile - English (United Kingdom)", lang: "en-GB" }, { name: "Microsoft Hazel Mobile - English (United Kingdom)", lang: "en-GB" }, { name: "Microsoft Heera Mobile - English (India)", lang: "en-In" }, { name: "Microsoft Irina Mobile - Russian (Russia)", lang: "ru-RU" }, { name: "Microsoft Hedda Mobile - German (Germany)", lang: "de-DE" }, { name: "Microsoft Katja Mobile - German (Germany)", lang: "de-DE" }, { name: "Microsoft Helena Mobile - Spanish (Spain)", lang: "es-ES" }, { name: "Microsoft Laura Mobile - Spanish (Spain)", lang: "es-ES" }, { name: "Microsoft Sabina Mobile - Spanish (Mexico)", lang: "es-MX" }, { name: "Microsoft Julie Mobile - French (France)", lang: "fr-FR" }, { name: "Microsoft Paulina Mobile - Polish (Poland)", lang: "pl-PL" }, { name: "Microsoft Huihui Mobile - Chinese (Simplified, PRC)", lang: "zh-CN" }, { name: "Microsoft Yaoyao Mobile - Chinese (Simplified, PRC)", lang: "zh-CN" }, { name: "Microsoft Tracy Mobile - Chinese (Traditional, Hong Kong S.A.R.)", lang: "zh-CN" }, { name: "Microsoft Elsa Mobile - Italian (Italy)", lang: "it-IT" }, { name: "Microsoft Maria Mobile - Portuguese (Brazil)", lang: "pt-BR" }, { name: "Microsoft Ayumi Mobile - Japanese (Japan)", lang: "ja-JP" }, { name: "Microsoft Haruka Mobile - Japanese (Japan)", lang: "ja-JP" }, { name: "Helena", lang: "de-DE" }, { name: "Catherine", lang: "en-AU" }, { name: "Arthur", lang: "en-GB" }, { name: "Martha", lang: "en-GB" }, { name: "Marie", lang: "fr-FR" }, { name: "O-ren", lang: "ja-JP" }, { name: "Yu-shu", lang: "zh-CN" }, { name: "Microsoft David - English (United States)", lang: "en-US" }, { name: "Microsoft Zira - English (United States)", lang: "en-US" }, { name: "Microsoft Mark - English (United States)", lang: "en-US" }, { name: "Microsoft George - English (United Kingdom)", lang: "en-GB" }, { name: "Microsoft Susan - English (United Kingdom)", lang: "en-GB" }, { name: "Microsoft Hazel - English (United Kingdom)", lang: "en-GB" }, { name: "Microsoft Heera - English (India)", lang: "en-In" }, { name: "Microsoft Irina - Russian (Russia)", lang: "ru-RU" }, { name: "Microsoft Hedda - German (Germany)", lang: "de-DE" }, { name: "Microsoft Katja - German (Germany)", lang: "de-DE" }, { name: "Microsoft Helena - Spanish (Spain)", lang: "es-ES" }, { name: "Microsoft Laura - Spanish (Spain)", lang: "es-ES" }, { name: "Microsoft Sabina - Spanish (Mexico)", lang: "es-MX" }, { name: "Microsoft Julie - French (France)", lang: "fr-FR" }, { name: "Microsoft Paulina - Polish (Poland)", lang: "pl-PL" }, { name: "Microsoft Huihui - Chinese (Simplified, PRC)", lang: "zh-CN" }, { name: "Microsoft Yaoyao - Chinese (Simplified, PRC)", lang: "zh-CN" }, { name: "Microsoft Tracy - Chinese (Traditional, Hong Kong S.A.R.)", lang: "zh-CN" }, { name: "Microsoft Elsa - Italian (Italy)", lang: "it-IT" }, { name: "Microsoft Maria - Portuguese (Brazil)", lang: "pt-BR" }, { name: "Microsoft Ayumi - Japanese (Japan)", lang: "ja-JP" }, { name: "Microsoft Haruka - Japanese (Japan)", lang: "ja-JP" }, { name: "Microsoft Hortense - French (France)", lang: "fr-FR" }, { name: "Microsoft Hanhan - Chinese (Traditional, Taiwan)", lang: "zh-TW" }, { name: "Microsoft Heami - Korean (Korean)", lang: "ko-KR" }, { name: "Microsoft Stefan - German (Germany)", lang: "de-DE" }, { name: "Microsoft Ravi - English (India)", lang: "en-IN" }, { name: "Microsoft Pablo - Spanish (Spain)", lang: "es-ES" }, { name: "Microsoft Raul - Spanish (Mexico)", lang: "es-MX" }, { name: "Microsoft Paul - French (France)", lang: "fr-FR" }, { name: "Microsoft Cosimo - Italian (Italy)", lang: "it-IT" }, { name: "Microsoft Ichiro - Japanese (Japan)", lang: "ja-JP" }, { name: "Microsoft Adam - Polish (Poland)", lang: "pl-PL" }, { name: "Microsoft Daniel - Portuguese (Brazil)", lang: "pt-BR" }, { name: "Microsoft Pavel - Russian (Russia)", lang: "ru-RU" }, { name: "Microsoft Kangkang - Chinese (Simplified, PRC)", lang: "zh-CN" }, { name: "Microsoft Danny - Chinese (Traditional, Hong Kong S.A.R.)", lang: "zh-HK" }, { name: "Microsoft Yating - Chinese (Traditional, Taiwan)", lang: "zh-TW" }, { name: "Microsoft Zhiwei - Chinese (Traditional, Taiwan)", lang: "zh-TW" }, { name: "Microsoft Hortense Mobile - French (France)", lang: "fr-FR" }, { name: "Microsoft Hanhan Mobile - Chinese (Traditional, Taiwan)", lang: "zh-TW" }, { name: "Microsoft Heami Mobile - Korean (Korean)", lang: "ko-KR" }, { name: "Microsoft Stefan Mobile - German (Germany)", lang: "de-DE" }, { name: "Microsoft Ravi Mobile - English (India)", lang: "en-IN" }, { name: "Microsoft Pablo Mobile - Spanish (Spain)", lang: "es-ES" }, { name: "Microsoft Raul Mobile - Spanish (Mexico)", lang: "es-MX" }, { name: "Microsoft Paul Mobile - French (France)", lang: "fr-FR" }, { name: "Microsoft Cosimo Mobile - Italian (Italy)", lang: "it-IT" }, { name: "Microsoft Ichiro Mobile - Japanese (Japan)", lang: "ja-JP" }, { name: "Microsoft Adam Mobile - Polish (Poland)", lang: "pl-PL" }, { name: "Microsoft Daniel Mobile - Portuguese (Brazil)", lang: "pt-BR" }, { name: "Microsoft Pavel Mobile - Russian (Russia)", lang: "ru-RU" }, { name: "Microsoft Kangkang Mobile - Chinese (Simplified, PRC)", lang: "zh-CN" }, { name: "Microsoft Danny Mobile - Chinese (Traditional, Hong Kong S.A.R.)", lang: "zh-HK" }, { name: "Microsoft Yating Mobile - Chinese (Traditional, Taiwan)", lang: "zh-TW" }, { name: "Microsoft Zhiwei Mobile - Chinese (Traditional, Taiwan)", lang: "zh-TW" }, { name: "Microsoft David Desktop - English (United States)", lang: "en-US" }, { name: "Microsoft Zira Desktop - English (United States)", lang: "en-US" }, { name: "Microsoft Mark Desktop - English (United States)", lang: "en-US" }, { name: "Microsoft George Desktop - English (United Kingdom)", lang: "en-GB" }, { name: "Microsoft Susan Desktop - English (United Kingdom)", lang: "en-GB" }, { name: "Microsoft Hazel Desktop - English (United Kingdom)", lang: "en-GB" }, { name: "Microsoft Heera Desktop - English (India)", lang: "en-In" }, { name: "Microsoft Irina Desktop - Russian (Russia)", lang: "ru-RU" }, { name: "Microsoft Hedda Desktop - German (Germany)", lang: "de-DE" }, { name: "Microsoft Katja Desktop - German (Germany)", lang: "de-DE" }, { name: "Microsoft Helena Desktop - Spanish (Spain)", lang: "es-ES" }, { name: "Microsoft Laura Desktop - Spanish (Spain)", lang: "es-ES" }, { name: "Microsoft Sabina Desktop - Spanish (Mexico)", lang: "es-MX" }, { name: "Microsoft Julie Desktop - French (France)", lang: "fr-FR" }, { name: "Microsoft Paulina Desktop - Polish (Poland)", lang: "pl-PL" }, { name: "Microsoft Huihui Desktop - Chinese (Simplified, PRC)", lang: "zh-CN" }, { name: "Microsoft Yaoyao Desktop - Chinese (Simplified, PRC)", lang: "zh-CN" }, { name: "Microsoft Tracy Desktop - Chinese (Traditional, Hong Kong S.A.R.)", lang: "zh-CN" }, { name: "Microsoft Elsa Desktop - Italian (Italy)", lang: "it-IT" }, { name: "Microsoft Maria Desktop - Portuguese (Brazil)", lang: "pt-BR" }, { name: "Microsoft Ayumi Desktop - Japanese (Japan)", lang: "ja-JP" }, { name: "Microsoft Haruka Desktop - Japanese (Japan)", lang: "ja-JP" }, { name: "Microsoft Hortense Desktop - French (France)", lang: "fr-FR" }, { name: "Microsoft Hanhan Desktop - Chinese (Traditional, Taiwan)", lang: "zh-TW" }, { name: "Microsoft Heami Desktop - Korean (Korean)", lang: "ko-KR" }, { name: "Microsoft Stefan Desktop - German (Germany)", lang: "de-DE" }, { name: "Microsoft Ravi Desktop - English (India)", lang: "en-IN" }, { name: "Microsoft Pablo Desktop - Spanish (Spain)", lang: "es-ES" }, { name: "Microsoft Raul Desktop - Spanish (Mexico)", lang: "es-MX" }, { name: "Microsoft Paul Desktop - French (France)", lang: "fr-FR" }, { name: "Microsoft Cosimo Desktop - Italian (Italy)", lang: "it-IT" }, { name: "Microsoft Ichiro Desktop - Japanese (Japan)", lang: "ja-JP" }, { name: "Microsoft Adam Desktop - Polish (Poland)", lang: "pl-PL" }, { name: "Microsoft Daniel Desktop - Portuguese (Brazil)", lang: "pt-BR" }, { name: "Microsoft Pavel Desktop - Russian (Russia)", lang: "ru-RU" }, { name: "Microsoft Kangkang Desktop - Chinese (Simplified, PRC)", lang: "zh-CN" }, { name: "Microsoft Danny Desktop - Chinese (Traditional, Hong Kong S.A.R.)", lang: "zh-HK" }, { name: "Microsoft Yating Desktop - Chinese (Traditional, Taiwan)", lang: "zh-TW" }, { name: "Microsoft Zhiwei Desktop - Chinese (Traditional, Taiwan)", lang: "zh-TW" }, { name: "Martin", lang: "de-DE" }, { name: "Daniel", lang: "fr-FR" }, { name: "Hattori", lang: "ja-JP" }, { name: "Li-mu", lang: "zh-CN" }, { name: "Gordon", lang: "en-AU" }, { name: "Aaron", lang: "en-US" }, { name: "Nicky", lang: "en-US" }, { name: "Microsoft Hanhan Desktop - Chinese (Taiwan)", lang: "zh-TW" }, { name: "Microsoft Heami Desktop - Korean", lang: "ko-KR" }, { name: "Fallback Australian Male", lang: "en-AU", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Russian Male", lang: "ru", fallbackvoice: !0, service: "g3", gender: "male", deprecated: !0 }, { name: "Fallback Arabic Male", lang: "ar", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Chinese", lang: "zh-CN", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Chinese HK", lang: "zh-HK", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Chinese TW", lang: "zh-TW", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback French Male", lang: "fr", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Deutsch Male", lang: "de", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Hindi Male", lang: "hi", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Indonesian Male", lang: "id", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Japanese Male", lang: "ja", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Korean Male", lang: "ko", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Polish Male", lang: "pl", fallbackvoice: !0, service: "g1", gender: "male" }, { name: "Fallback Brazilian Portuguese Male", lang: "pt-BR", fallbackvoice: !0, service: "g3", gender: "male", deprecated: !0 }, { name: "Fallback Portuguese Male", lang: "pt-PT", fallbackvoice: !0, service: "g1", gender: "male" }, { name: "Fallback Spanish Male", lang: "es", fallbackvoice: !0, service: "g3", gender: "male", deprecated: !0 }, { name: "Fallback Spanish (Latin American) Male", lang: "es-419", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Thai Male", lang: "th", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Turkish Male", lang: "tr", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Vietnamese Female", lang: "vi", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Fallback Italian Male", lang: "it", fallbackvoice: !0, service: "g3", gender: "male" }, { name: "Fallback Dutch Male", lang: "nl", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "male" }, { name: "Microsoft Anna - English (United States)", lang: "en-US", gender: "female" }, { name: "Microsoft Lili - Chinese (China)", lang: "zh-CN", gender: "female" }, { name: "Bangla Bangladesh", lang: "bn_BD", gender: "male" }, { name: "Bangla India", lang: "bn_IN", gender: "male" }, { name: "Czech Czechia", lang: "cs_CZ", gender: "female" }, { name: "Danish Denmark", lang: "da_DK", gender: "female" }, { name: "Greek Greece", lang: "el_GR", gender: "female" }, { name: "English Australia", lang: "en_AU", gender: "female" }, { name: "Estonian Estonia", lang: "et_EE", gender: "male" }, { name: "Finnish Finland", lang: "fi_FI", gender: "female" }, { name: "Filipino Philippines", lang: "fil_PH", gender: "female" }, { name: "French Canada", lang: "fr_CAF", gender: "female" }, { name: "Hungarian Hungary", lang: "hu_HU", gender: "female" }, { name: "Khmer Cambodia", lang: "km_KH", gender: "female" }, { name: "Norwegian Bokm\u00e5l Norway", lang: "nb_NO", gender: "female" }, { name: "Nepali Nepal", lang: "ne_NP", gender: "female" }, { name: "Romanian Romania", lang: "ro_RO", gender: "female" }, { name: "Sinhala Sri Lanka", lang: "si_LK", gender: "female" }, { name: "Slovak Slovakia", lang: "sk_SK", gender: "female" }, { name: "Swedish Sweden", lang: "sv_SE", gender: "female" }, { name: "Ukrainian Ukraine", lang: "uk_UA", gender: "female" }, { name: "Vietnamese Vietnam", lang: "vi_VN", gender: "female" }, { name: "Cantonese Hong Kong", lang: "yue_HK_#Hant", gender: "female" }, { name: "Microsoft Server Speech Text to Speech Voice (en-US, Guy24kRUS)", lang: "en-US", gender: "male" }, { name: "Microsoft Server Speech Text to Speech Voice (en-US, Jessa24kRUS)", lang: "en-US", gender: "female" }, { name: "Microsoft Server Speech Text to Speech Voice (en-US, JessaRUS)", lang: "en-US", gender: "female" }, { name: "Microsoft Server Speech Text to Speech Voice (en-US, ZiraRUS)", lang: "en-US", gender: "female" }, { name: "Fallback Bangla Bangladeh Female", lang: "bn-BD", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "female" }, { name: "Fallback Bangla Bangladeh Male", lang: "bn-BD", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "male" }, { name: "Fallback Filipino Female", lang: "fil-PH", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "female" }, { name: "Fallback Filipino Male", lang: "fil-PH", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "male" }, { name: "Fallback Cambodian Khmer Female", lang: "km-KH", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "female" }, { name: "Fallback Cambodian Khmer Male", lang: "km-KH", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "male" }, { name: "Fallback Nepali Female", lang: "ne-NP", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "female" }, { name: "Fallback Sinhala Female", lang: "si-LK", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "female" }, { name: "Fallback Ukrainian Female", lang: "uk-UA", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "female" }, { name: "Fallback Cantonese Hong Kong Female", lang: "yue-HK", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "female" }, { name: "Fallback Cantonese Hong Kong Male", lang: "yue-HK", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "male" }, { name: "Fallback Estonian Male", lang: "et-EE", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "male" }, { name: "Fallback Bangla India Female", lang: "bn-IN", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "female" }, { name: "Fallback Bangla India Male", lang: "bn-IN", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "male" }, { name: "Fallback French Canadian Female", lang: "fr-CA", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "female" }, { name: "Fallback French Canadian Male", lang: "fr-CA", fallbackvoice: !0, timerSpeed: 0, service: "g3", gender: "male" }, { name: "Fallback Tamil", lang: "ta", fallbackvoice: !0, service: "g1", gender: "female" }, { name: "Tian-Tian", voiceURI: "com.apple.ttsbundle.Ting-Ting-compact", lang: "zh-CN", gender: "female" }, { name: "English Nigeria", lang: "en_NG", gender: "female" }, { name: "Gujarati India", lang: "gu_IN", gender: "female" }, { name: "Kannada India", lang: "kn_IN", gender: "female" }, { name: "Malayalam India", lang: "ml_IN", gender: "female" }, { name: "Marathi India", lang: "mr_IN", gender: "female" }, { name: "Tamil India", lang: "ta_IN", gender: "female" }, { name: "Telugu India", lang: "te_IN", gender: "female" }, { name: "Urdu Pakistan", lang: "ur_PK", gender: "female" }, { name: "Javanese Indonesia", lang: "jv_ID", gender: "female" }, { name: "Malay Malaysia", lang: "ms_MY", gender: "female" }, { name: "Chinese Hong Kong", lang: "zh_HK_#Hans", gender: "female" }, { name: "Chinese Hong Kong", lang: "zh_HK_#Hant", gender: "female" }, { name: "Microsoft Tolga - Turkish (Turkey)", lang: "tr-TR", gender: "male" }, { name: "Korean (South Korea)", voiceURI: "moz-tts:android:ko_KR", lang: "ko-KR", gender: "female" }, { name: "Marathi (India)", voiceURI: "moz-tts:android:mr_IN", lang: "mr-IN", gender: "female" }, { name: "Russian (Russia)", voiceURI: "moz-tts:android:ru_RU", lang: "ru-RU", gender: "female" }, { name: "Chinese (Taiwan)", voiceURI: "moz-tts:android:zh_TW", lang: "zh-TW", gender: "female" }, { name: "Hungarian (Hungary)", voiceURI: "moz-tts:android:hu_HU", lang: "hu-HU", gender: "female" }, { name: "Thai (Thailand)", voiceURI: "moz-tts:android:th_TH", lang: "th-TH", gender: "female" }, { name: "Urdu (Pakistan)", voiceURI: "moz-tts:android:ur_PK", lang: "ur-PK", gender: "female" }, { name: "Norwegian Bokm\u00e5l (Norway)", voiceURI: "moz-tts:android:nb_NO", lang: "nb-NO", gender: "female" }, { name: "Danish (Denmark)", voiceURI: "moz-tts:android:da_DK", lang: "da-DK", gender: "female" }, { name: "Turkish (Turkey)", voiceURI: "moz-tts:android:tr_TR", lang: "tr-TR", gender: "female" }, { name: "Estonian (Estonia)", voiceURI: "moz-tts:android:et_EE", lang: "et-EE", gender: "male" }, { name: "Bosnian", voiceURI: "moz-tts:android:bs", lang: "bs", deprecated: !0 }, { name: "Swahili", voiceURI: "moz-tts:android:sw", lang: "sw", deprecated: !0 }, { name: "Portuguese (Portugal)", voiceURI: "moz-tts:android:pt_PT", lang: "pt-PT", gender: "female" }, { name: "Vietnamese (Vietnam)", voiceURI: "moz-tts:android:vi_VN", lang: "vi-VN", gender: "female" }, { name: "English (United States)", voiceURI: "moz-tts:android:en_US", lang: "en-US", gender: "female" }, { name: "Swedish (Sweden)", voiceURI: "moz-tts:android:sv_SE", lang: "sv-SE", gender: "female" }, { name: "Arabic", voiceURI: "moz-tts:android:ar", lang: "ar", gender: "female" }, { name: "Sundanese (Indonesia)", voiceURI: "moz-tts:android:su_ID", lang: "su-ID", gender: "female" }, { name: "Bangla (Bangladesh)", voiceURI: "moz-tts:android:bn_BD", lang: "bn-BD", gender: "male" }, { name: "Gujarati (India)", voiceURI: "moz-tts:android:gu_IN", lang: "gu-IN", gender: "female" }, { name: "Kannada (India)", voiceURI: "moz-tts:android:kn_IN", lang: "kn-IN", gender: "female" }, { name: "Greek (Greece)", voiceURI: "moz-tts:android:el_GR", lang: "el-GR", gender: "female" }, { name: "Hindi (India)", voiceURI: "moz-tts:android:hi_IN", lang: "hi-IN", gender: "female" }, { name: "Finnish (Finland)", voiceURI: "moz-tts:android:fi_FI", lang: "fi-FI", gender: "female" }, { name: "Khmer (Cambodia)", voiceURI: "moz-tts:android:km_KH", lang: "km-KH", gender: "female" }, { name: "Bangla (India)", voiceURI: "moz-tts:android:bn_IN", lang: "bn-IN", gender: "male" }, { name: "French (France)", voiceURI: "moz-tts:android:fr_FR", lang: "fr-FR", gender: "female" }, { name: "Ukrainian (Ukraine)", voiceURI: "moz-tts:android:uk_UA", lang: "uk-UA", gender: "female" }, { name: "English (Australia)", voiceURI: "moz-tts:android:en_AU", lang: "en-AU", gender: "female" }, { name: "Dutch (Netherlands)", voiceURI: "moz-tts:android:nl_NL", lang: "nl-NL", gender: "female" }, { name: "French (Canada)", voiceURI: "moz-tts:android:fr_CA", lang: "fr-CA", gender: "female" }, { name: "Serbian", voiceURI: "moz-tts:android:sr", lang: "sr", gender: "female" }, { name: "Portuguese (Brazil)", voiceURI: "moz-tts:android:pt_BR", lang: "pt-BR", gender: "female" }, { name: "Malayalam (India)", voiceURI: "moz-tts:android:ml_IN", lang: "ml-IN", gender: "female" }, { name: "Sinhala (Sri Lanka)", voiceURI: "moz-tts:android:si_LK", lang: "si-LK", gender: "female" }, { name: "German (Germany)", voiceURI: "moz-tts:android:de_DE", lang: "de-DE", gender: "female" }, { name: "Kurdish", voiceURI: "moz-tts:android:ku", lang: "ku", deprecated: !0 }, { name: "Czech (Czechia)", voiceURI: "moz-tts:android:cs_CZ", lang: "cs-CZ", gender: "female" }, { name: "Polish (Poland)", voiceURI: "moz-tts:android:pl_PL", lang: "pl-PL", gender: "female" }, { name: "Slovak (Slovakia)", voiceURI: "moz-tts:android:sk_SK", lang: "sk-SK", gender: "female" }, { name: "Filipino (Philippines)", voiceURI: "moz-tts:android:fil_PH", lang: "fil-PH", gender: "female" }, { name: "Italian (Italy)", voiceURI: "moz-tts:android:it_IT", lang: "it-IT", gender: "female" }, { name: "Nepali (Nepal)", voiceURI: "moz-tts:android:ne_NP", lang: "ne-NP", gender: "female" }, { name: "Malay (Malaysia)", voiceURI: "moz-tts:android:ms_MY", lang: "ms-MY", gender: "female" }, { name: "Croatian", voiceURI: "moz-tts:android:hr", lang: "hr", deprecated: !0 }, { name: "English (Nigeria)", voiceURI: "moz-tts:android:en_NG", lang: "en-NG", gender: "female" }, { name: "Chinese (China)", voiceURI: "moz-tts:android:zh_CN", lang: "zh-CN", gender: "female" }, { name: "Spanish (Spain)", voiceURI: "moz-tts:android:es_ES", lang: "es-ES", gender: "female" }, { name: "Welsh", voiceURI: "moz-tts:android:cy", lang: "cy", deprecated: !0 }, { name: "Tamil (India)", voiceURI: "moz-tts:android:ta_IN", lang: "ta-IN", gender: "female" }, { name: "Japanese (Japan)", voiceURI: "moz-tts:android:ja_JP", lang: "ja-JP", gender: "female" }, { name: "Albanian", voiceURI: "moz-tts:android:sq", lang: "sq", deprecated: !0 }, { name: "Cantonese (Hong Kong)", voiceURI: "moz-tts:android:yue_HK", lang: "yue-HK", gender: "female" }, { name: "English (India)", voiceURI: "moz-tts:android:en_IN", lang: "en-IN", gender: "female" }, { name: "Spanish (United States)", voiceURI: "moz-tts:android:es_US", lang: "es-US", gender: "female" }, { name: "Javanese (Indonesia)", voiceURI: "moz-tts:android:jv_ID", lang: "jv-ID", gender: "female" }, { name: "Latin", voiceURI: "moz-tts:android:la", lang: "la", deprecated: !0 }, { name: "Indonesian (Indonesia)", voiceURI: "moz-tts:android:in_ID", lang: "in-ID", gender: "female" }, { name: "Telugu (India)", voiceURI: "moz-tts:android:te_IN", lang: "te-IN", gender: "female" }, { name: "Romanian (Romania)", voiceURI: "moz-tts:android:ro_RO", lang: "ro-RO", gender: "female" }, { name: "Catalan", voiceURI: "moz-tts:android:ca", lang: "ca", gender: "female" }, { name: "English (United Kingdom)", voiceURI: "moz-tts:android:en_GB", lang: "en-GB", gender: "female" }, { name: "Rishi", voiceURI: "com.apple.ttsbundle.Rishi-compact", lang: "en-IN", gender: "male" }]; a.iOS = /(iPad|iPhone|iPod)/g.test(navigator.userAgent); a.iOS9 = /(iphone|ipod|ipad).* os 9_/.test(navigator.userAgent.toLowerCase()); a.iOS10 = /(iphone|ipod|ipad).* os 10_/.test(navigator.userAgent.toLowerCase()); a.iOS11 = /(iphone|ipod|ipad).* os 11_/.test(navigator.userAgent.toLowerCase()); a.iOS11plus = /(iphone|ipod|ipad).* os 1[1-9]/.test(navigator.userAgent.toLowerCase()); a.iOS9plus = /(iphone|ipod|ipad).* os 10_/.test(navigator.userAgent.toLowerCase()); a.iOS12_0 = /(iphone|ipod|ipad).* os 12_0/.test(navigator.userAgent.toLowerCase()); a.iOS12 = /(iphone|ipod|ipad).* os 12_/.test(navigator.userAgent.toLowerCase()); a.is_chrome = -1 < navigator.userAgent.indexOf("Chrome"); a.is_safari = -1 < navigator.userAgent.indexOf("Safari"); a.is_chrome && a.is_safari && (a.is_safari = !1); a.is_opera = !!window.opera || 0 <= navigator.userAgent.indexOf(" OPR/"); a.is_android = -1 < navigator.userAgent.toLowerCase().indexOf("android"); a.iOS_initialized = !1; a.iOS9_initialized = !1; a.iOS10_initialized = !1; a.iOS11_initialized = !1; a.cache_ios_voices = [{ name: "he-IL", voiceURI: "he-IL", lang: "he-IL" }, { name: "th-TH", voiceURI: "th-TH", lang: "th-TH" }, { name: "pt-BR", voiceURI: "pt-BR", lang: "pt-BR" }, { name: "sk-SK", voiceURI: "sk-SK", lang: "sk-SK" }, { name: "fr-CA", voiceURI: "fr-CA", lang: "fr-CA" }, { name: "ro-RO", voiceURI: "ro-RO", lang: "ro-RO" }, { name: "no-NO", voiceURI: "no-NO", lang: "no-NO" }, { name: "fi-FI", voiceURI: "fi-FI", lang: "fi-FI" }, { name: "pl-PL", voiceURI: "pl-PL", lang: "pl-PL" }, { name: "de-DE", voiceURI: "de-DE", lang: "de-DE" }, { name: "nl-NL", voiceURI: "nl-NL", lang: "nl-NL" }, { name: "id-ID", voiceURI: "id-ID", lang: "id-ID" }, { name: "tr-TR", voiceURI: "tr-TR", lang: "tr-TR" }, { name: "it-IT", voiceURI: "it-IT", lang: "it-IT" }, { name: "pt-PT", voiceURI: "pt-PT", lang: "pt-PT" }, { name: "fr-FR", voiceURI: "fr-FR", lang: "fr-FR" }, { name: "ru-RU", voiceURI: "ru-RU", lang: "ru-RU" }, { name: "es-MX", voiceURI: "es-MX", lang: "es-MX" }, { name: "zh-HK", voiceURI: "zh-HK", lang: "zh-HK" }, { name: "sv-SE", voiceURI: "sv-SE", lang: "sv-SE" }, { name: "hu-HU", voiceURI: "hu-HU", lang: "hu-HU" }, { name: "zh-TW", voiceURI: "zh-TW", lang: "zh-TW" }, { name: "es-ES", voiceURI: "es-ES", lang: "es-ES" }, { name: "zh-CN", voiceURI: "zh-CN", lang: "zh-CN" }, { name: "nl-BE", voiceURI: "nl-BE", lang: "nl-BE" }, { name: "en-GB", voiceURI: "en-GB", lang: "en-GB" }, { name: "ar-SA", voiceURI: "ar-SA", lang: "ar-SA" }, { name: "ko-KR", voiceURI: "ko-KR", lang: "ko-KR" }, { name: "cs-CZ", voiceURI: "cs-CZ", lang: "cs-CZ" }, { name: "en-ZA", voiceURI: "en-ZA", lang: "en-ZA" }, { name: "en-AU", voiceURI: "en-AU", lang: "en-AU" }, { name: "da-DK", voiceURI: "da-DK", lang: "da-DK" }, { name: "en-US", voiceURI: "en-US", lang: "en-US" }, { name: "en-IE", voiceURI: "en-IE", lang: "en-IE" }, { name: "hi-IN", voiceURI: "hi-IN", lang: "hi-IN" }, { name: "el-GR", voiceURI: "el-GR", lang: "el-GR" }, { name: "ja-JP", voiceURI: "ja-JP", lang: "ja-JP" }]; a.cache_ios9_voices = [{ name: "Maged", voiceURI: "com.apple.ttsbundle.Maged-compact", lang: "ar-SA", localService: !0, "default": !0 }, { name: "Zuzana", voiceURI: "com.apple.ttsbundle.Zuzana-compact", lang: "cs-CZ", localService: !0, "default": !0 }, { name: "Sara", voiceURI: "com.apple.ttsbundle.Sara-compact", lang: "da-DK", localService: !0, "default": !0 }, { name: "Anna", voiceURI: "com.apple.ttsbundle.Anna-compact", lang: "de-DE", localService: !0, "default": !0 }, { name: "Melina", voiceURI: "com.apple.ttsbundle.Melina-compact", lang: "el-GR", localService: !0, "default": !0 }, { name: "Karen", voiceURI: "com.apple.ttsbundle.Karen-compact", lang: "en-AU", localService: !0, "default": !0 }, { name: "Daniel", voiceURI: "com.apple.ttsbundle.Daniel-compact", lang: "en-GB", localService: !0, "default": !0 }, { name: "Moira", voiceURI: "com.apple.ttsbundle.Moira-compact", lang: "en-IE", localService: !0, "default": !0 }, { name: "Samantha (Enhanced)", voiceURI: "com.apple.ttsbundle.Samantha-premium", lang: "en-US", localService: !0, "default": !0 }, { name: "Samantha", voiceURI: "com.apple.ttsbundle.Samantha-compact", lang: "en-US", localService: !0, "default": !0 }, { name: "Tessa", voiceURI: "com.apple.ttsbundle.Tessa-compact", lang: "en-ZA", localService: !0, "default": !0 }, { name: "Monica", voiceURI: "com.apple.ttsbundle.Monica-compact", lang: "es-ES", localService: !0, "default": !0 }, { name: "Paulina", voiceURI: "com.apple.ttsbundle.Paulina-compact", lang: "es-MX", localService: !0, "default": !0 }, { name: "Satu", voiceURI: "com.apple.ttsbundle.Satu-compact", lang: "fi-FI", localService: !0, "default": !0 }, { name: "Amelie", voiceURI: "com.apple.ttsbundle.Amelie-compact", lang: "fr-CA", localService: !0, "default": !0 }, { name: "Thomas", voiceURI: "com.apple.ttsbundle.Thomas-compact", lang: "fr-FR", localService: !0, "default": !0 }, { name: "Carmit", voiceURI: "com.apple.ttsbundle.Carmit-compact", lang: "he-IL", localService: !0, "default": !0 }, { name: "Lekha", voiceURI: "com.apple.ttsbundle.Lekha-compact", lang: "hi-IN", localService: !0, "default": !0 }, { name: "Mariska", voiceURI: "com.apple.ttsbundle.Mariska-compact", lang: "hu-HU", localService: !0, "default": !0 }, { name: "Damayanti", voiceURI: "com.apple.ttsbundle.Damayanti-compact", lang: "id-ID", localService: !0, "default": !0 }, { name: "Alice", voiceURI: "com.apple.ttsbundle.Alice-compact", lang: "it-IT", localService: !0, "default": !0 }, { name: "Kyoko", voiceURI: "com.apple.ttsbundle.Kyoko-compact", lang: "ja-JP", localService: !0, "default": !0 }, { name: "Yuna", voiceURI: "com.apple.ttsbundle.Yuna-compact", lang: "ko-KR", localService: !0, "default": !0 }, { name: "Ellen", voiceURI: "com.apple.ttsbundle.Ellen-compact", lang: "nl-BE", localService: !0, "default": !0 }, { name: "Xander", voiceURI: "com.apple.ttsbundle.Xander-compact", lang: "nl-NL", localService: !0, "default": !0 }, { name: "Nora", voiceURI: "com.apple.ttsbundle.Nora-compact", lang: "no-NO", localService: !0, "default": !0 }, { name: "Zosia", voiceURI: "com.apple.ttsbundle.Zosia-compact", lang: "pl-PL", localService: !0, "default": !0 }, { name: "Luciana", voiceURI: "com.apple.ttsbundle.Luciana-compact", lang: "pt-BR", localService: !0, "default": !0 }, { name: "Joana", voiceURI: "com.apple.ttsbundle.Joana-compact", lang: "pt-PT", localService: !0, "default": !0 }, { name: "Ioana", voiceURI: "com.apple.ttsbundle.Ioana-compact", lang: "ro-RO", localService: !0, "default": !0 }, { name: "Milena", voiceURI: "com.apple.ttsbundle.Milena-compact", lang: "ru-RU", localService: !0, "default": !0 }, { name: "Laura", voiceURI: "com.apple.ttsbundle.Laura-compact", lang: "sk-SK", localService: !0, "default": !0 }, { name: "Alva", voiceURI: "com.apple.ttsbundle.Alva-compact", lang: "sv-SE", localService: !0, "default": !0 }, { name: "Kanya", voiceURI: "com.apple.ttsbundle.Kanya-compact", lang: "th-TH", localService: !0, "default": !0 }, { name: "Yelda", voiceURI: "com.apple.ttsbundle.Yelda-compact", lang: "tr-TR", localService: !0, "default": !0 }, { name: "Ting-Ting", voiceURI: "com.apple.ttsbundle.Ting-Ting-compact", lang: "zh-CN", localService: !0, "default": !0 }, { name: "Sin-Ji", voiceURI: "com.apple.ttsbundle.Sin-Ji-compact", lang: "zh-HK", localService: !0, "default": !0 }, { name: "Mei-Jia", voiceURI: "com.apple.ttsbundle.Mei-Jia-compact", lang: "zh-TW", localService: !0, "default": !0 }]; a.cache_ios10_voices = [{ name: "Maged", voiceURI: "com.apple.ttsbundle.Maged-compact", lang: "ar-SA" }, { name: "Zuzana", voiceURI: "com.apple.ttsbundle.Zuzana-compact", lang: "cs-CZ" }, { name: "Sara", voiceURI: "com.apple.ttsbundle.Sara-compact", lang: "da-DK" }, { name: "Anna", voiceURI: "com.apple.ttsbundle.Anna-compact", lang: "de-DE" }, { name: "Helena", voiceURI: "com.apple.ttsbundle.siri_female_de-DE_compact", lang: "de-DE" }, { name: "Martin", voiceURI: "com.apple.ttsbundle.siri_male_de-DE_compact", lang: "de-DE" }, { name: "Nikos (Enhanced)", voiceURI: "com.apple.ttsbundle.Nikos-premium", lang: "el-GR" }, { name: "Melina", voiceURI: "com.apple.ttsbundle.Melina-compact", lang: "el-GR" }, { name: "Nikos", voiceURI: "com.apple.ttsbundle.Nikos-compact", lang: "el-GR" }, { name: "Catherine", voiceURI: "com.apple.ttsbundle.siri_female_en-AU_compact", lang: "en-AU" }, { name: "Gordon", voiceURI: "com.apple.ttsbundle.siri_male_en-AU_compact", lang: "en-AU" }, { name: "Karen", voiceURI: "com.apple.ttsbundle.Karen-compact", lang: "en-AU" }, { name: "Daniel (Enhanced)", voiceURI: "com.apple.ttsbundle.Daniel-premium", lang: "en-GB" }, { name: "Arthur", voiceURI: "com.apple.ttsbundle.siri_male_en-GB_compact", lang: "en-GB" }, { name: "Daniel", voiceURI: "com.apple.ttsbundle.Daniel-compact", lang: "en-GB" }, { name: "Martha", voiceURI: "com.apple.ttsbundle.siri_female_en-GB_compact", lang: "en-GB" }, { name: "Moira", voiceURI: "com.apple.ttsbundle.Moira-compact", lang: "en-IE" }, { name: "Nicky (Enhanced)", voiceURI: "com.apple.ttsbundle.siri_female_en-US_premium", lang: "en-US" }, { name: "Samantha (Enhanced)", voiceURI: "com.apple.ttsbundle.Samantha-premium", lang: "en-US" }, { name: "Aaron", voiceURI: "com.apple.ttsbundle.siri_male_en-US_compact", lang: "en-US" }, { name: "Fred", voiceURI: "com.apple.speech.synthesis.voice.Fred", lang: "en-US" }, { name: "Nicky", voiceURI: "com.apple.ttsbundle.siri_female_en-US_compact", lang: "en-US" }, { name: "Samantha", voiceURI: "com.apple.ttsbundle.Samantha-compact", lang: "en-US" }, { name: "Tessa", voiceURI: "com.apple.ttsbundle.Tessa-compact", lang: "en-ZA" }, { name: "Monica", voiceURI: "com.apple.ttsbundle.Monica-compact", lang: "es-ES" }, { name: "Paulina", voiceURI: "com.apple.ttsbundle.Paulina-compact", lang: "es-MX" }, { name: "Satu", voiceURI: "com.apple.ttsbundle.Satu-compact", lang: "fi-FI" }, { name: "Amelie", voiceURI: "com.apple.ttsbundle.Amelie-compact", lang: "fr-CA" }, { name: "Daniel", voiceURI: "com.apple.ttsbundle.siri_male_fr-FR_compact", lang: "fr-FR" }, { name: "Marie", voiceURI: "com.apple.ttsbundle.siri_female_fr-FR_compact", lang: "fr-FR" }, { name: "Thomas", voiceURI: "com.apple.ttsbundle.Thomas-compact", lang: "fr-FR" }, { name: "Carmit", voiceURI: "com.apple.ttsbundle.Carmit-compact", lang: "he-IL" }, { name: "Lekha", voiceURI: "com.apple.ttsbundle.Lekha-compact", lang: "hi-IN" }, { name: "Mariska", voiceURI: "com.apple.ttsbundle.Mariska-compact", lang: "hu-HU" }, { name: "Damayanti", voiceURI: "com.apple.ttsbundle.Damayanti-compact", lang: "id-ID" }, { name: "Alice", voiceURI: "com.apple.ttsbundle.Alice-compact", lang: "it-IT" }, { name: "Hattori", voiceURI: "com.apple.ttsbundle.siri_male_ja-JP_compact", lang: "ja-JP" }, { name: "Kyoko", voiceURI: "com.apple.ttsbundle.Kyoko-compact", lang: "ja-JP" }, { name: "O-ren", voiceURI: "com.apple.ttsbundle.siri_female_ja-JP_compact", lang: "ja-JP" }, { name: "Yuna", voiceURI: "com.apple.ttsbundle.Yuna-compact", lang: "ko-KR" }, { name: "Ellen", voiceURI: "com.apple.ttsbundle.Ellen-compact", lang: "nl-BE" }, { name: "Xander", voiceURI: "com.apple.ttsbundle.Xander-compact", lang: "nl-NL" }, { name: "Nora", voiceURI: "com.apple.ttsbundle.Nora-compact", lang: "no-NO" }, { name: "Zosia", voiceURI: "com.apple.ttsbundle.Zosia-compact", lang: "pl-PL" }, { name: "Luciana", voiceURI: "com.apple.ttsbundle.Luciana-compact", lang: "pt-BR" }, { name: "Joana", voiceURI: "com.apple.ttsbundle.Joana-compact", lang: "pt-PT" }, { name: "Ioana", voiceURI: "com.apple.ttsbundle.Ioana-compact", lang: "ro-RO" }, { name: "Milena", voiceURI: "com.apple.ttsbundle.Milena-compact", lang: "ru-RU" }, { name: "Laura", voiceURI: "com.apple.ttsbundle.Laura-compact", lang: "sk-SK" }, { name: "Alva", voiceURI: "com.apple.ttsbundle.Alva-compact", lang: "sv-SE" }, { name: "Kanya", voiceURI: "com.apple.ttsbundle.Kanya-compact", lang: "th-TH" }, { name: "Yelda", voiceURI: "com.apple.ttsbundle.Yelda-compact", lang: "tr-TR" }, { name: "Li-mu", voiceURI: "com.apple.ttsbundle.siri_male_zh-CN_compact", lang: "zh-CN" }, { name: "Ting-Ting", voiceURI: "com.apple.ttsbundle.Ting-Ting-compact", lang: "zh-CN" }, { name: "Yu-shu", voiceURI: "com.apple.ttsbundle.siri_female_zh-CN_compact", lang: "zh-CN" }, { name: "Sin-Ji", voiceURI: "com.apple.ttsbundle.Sin-Ji-compact", lang: "zh-HK" }, { name: "Mei-Jia", voiceURI: "com.apple.ttsbundle.Mei-Jia-compact", lang: "zh-TW" }]; a.cache_ios11_voices = [{ name: "Maged", voiceURI: "com.apple.ttsbundle.Maged-compact", lang: "ar-SA" }, { name: "Zuzana", voiceURI: "com.apple.ttsbundle.Zuzana-compact", lang: "cs-CZ" }, { name: "Sara", voiceURI: "com.apple.ttsbundle.Sara-compact", lang: "da-DK" }, { name: "Anna", voiceURI: "com.apple.ttsbundle.Anna-compact", lang: "de-DE" }, { name: "Helena", voiceURI: "com.apple.ttsbundle.siri_female_de-DE_compact", lang: "de-DE" }, { name: "Martin", voiceURI: "com.apple.ttsbundle.siri_male_de-DE_compact", lang: "de-DE" }, { name: "Melina", voiceURI: "com.apple.ttsbundle.Melina-compact", lang: "el-GR" }, { name: "Catherine", voiceURI: "com.apple.ttsbundle.siri_female_en-AU_compact", lang: "en-AU" }, { name: "Gordon", voiceURI: "com.apple.ttsbundle.siri_male_en-AU_compact", lang: "en-AU" }, { name: "Karen", voiceURI: "com.apple.ttsbundle.Karen-compact", lang: "en-AU" }, { name: "Arthur", voiceURI: "com.apple.ttsbundle.siri_male_en-GB_compact", lang: "en-GB" }, { name: "Daniel", voiceURI: "com.apple.ttsbundle.Daniel-compact", lang: "en-GB" }, { name: "Martha", voiceURI: "com.apple.ttsbundle.siri_female_en-GB_compact", lang: "en-GB" }, { name: "Moira", voiceURI: "com.apple.ttsbundle.Moira-compact", lang: "en-IE" }, { name: "Aaron", voiceURI: "com.apple.ttsbundle.siri_male_en-US_compact", lang: "en-US" }, { name: "Fred", voiceURI: "com.apple.speech.synthesis.voice.Fred", lang: "en-US" }, { name: "Nicky", voiceURI: "com.apple.ttsbundle.siri_female_en-US_compact", lang: "en-US" }, { name: "Samantha", voiceURI: "com.apple.ttsbundle.Samantha-compact", lang: "en-US" }, { name: "Tessa", voiceURI: "com.apple.ttsbundle.Tessa-compact", lang: "en-ZA" }, { name: "Monica", voiceURI: "com.apple.ttsbundle.Monica-compact", lang: "es-ES" }, { name: "Paulina", voiceURI: "com.apple.ttsbundle.Paulina-compact", lang: "es-MX" }, { name: "Satu", voiceURI: "com.apple.ttsbundle.Satu-compact", lang: "fi-FI" }, { name: "Amelie", voiceURI: "com.apple.ttsbundle.Amelie-compact", lang: "fr-CA" }, { name: "Daniel", voiceURI: "com.apple.ttsbundle.siri_male_fr-FR_compact", lang: "fr-FR" }, { name: "Marie", voiceURI: "com.apple.ttsbundle.siri_female_fr-FR_compact", lang: "fr-FR" }, { name: "Thomas", voiceURI: "com.apple.ttsbundle.Thomas-compact", lang: "fr-FR" }, { name: "Carmit", voiceURI: "com.apple.ttsbundle.Carmit-compact", lang: "he-IL" }, { name: "Lekha", voiceURI: "com.apple.ttsbundle.Lekha-compact", lang: "hi-IN" }, { name: "Mariska", voiceURI: "com.apple.ttsbundle.Mariska-compact", lang: "hu-HU" }, { name: "Damayanti", voiceURI: "com.apple.ttsbundle.Damayanti-compact", lang: "id-ID" }, { name: "Alice", voiceURI: "com.apple.ttsbundle.Alice-compact", lang: "it-IT" }, { name: "Hattori", voiceURI: "com.apple.ttsbundle.siri_male_ja-JP_compact", lang: "ja-JP" }, { name: "Kyoko", voiceURI: "com.apple.ttsbundle.Kyoko-compact", lang: "ja-JP" }, { name: "O-ren", voiceURI: "com.apple.ttsbundle.siri_female_ja-JP_compact", lang: "ja-JP" }, { name: "Yuna", voiceURI: "com.apple.ttsbundle.Yuna-compact", lang: "ko-KR" }, { name: "Ellen", voiceURI: "com.apple.ttsbundle.Ellen-compact", lang: "nl-BE" }, { name: "Xander", voiceURI: "com.apple.ttsbundle.Xander-compact", lang: "nl-NL" }, { name: "Nora", voiceURI: "com.apple.ttsbundle.Nora-compact", lang: "no-NO" }, { name: "Zosia", voiceURI: "com.apple.ttsbundle.Zosia-compact", lang: "pl-PL" }, { name: "Luciana", voiceURI: "com.apple.ttsbundle.Luciana-compact", lang: "pt-BR" }, { name: "Joana", voiceURI: "com.apple.ttsbundle.Joana-compact", lang: "pt-PT" }, { name: "Ioana", voiceURI: "com.apple.ttsbundle.Ioana-compact", lang: "ro-RO" }, { name: "Milena", voiceURI: "com.apple.ttsbundle.Milena-compact", lang: "ru-RU" }, { name: "Laura", voiceURI: "com.apple.ttsbundle.Laura-compact", lang: "sk-SK" }, { name: "Alva", voiceURI: "com.apple.ttsbundle.Alva-compact", lang: "sv-SE" }, { name: "Kanya", voiceURI: "com.apple.ttsbundle.Kanya-compact", lang: "th-TH" }, { name: "Yelda", voiceURI: "com.apple.ttsbundle.Yelda-compact", lang: "tr-TR" }, { name: "Li-mu", voiceURI: "com.apple.ttsbundle.siri_male_zh-CN_compact", lang: "zh-CN" }, { name: "Ting-Ting", voiceURI: "com.apple.ttsbundle.Ting-Ting-compact", lang: "zh-CN" }, { name: "Yu-shu", voiceURI: "com.apple.ttsbundle.siri_female_zh-CN_compact", lang: "zh-CN" }, { name: "Sin-Ji", voiceURI: "com.apple.ttsbundle.Sin-Ji-compact", lang: "zh-HK" }, { name: "Mei-Jia", voiceURI: "com.apple.ttsbundle.Mei-Jia-compact", lang: "zh-TW" }]; a.systemvoices = null; a.CHARACTER_LIMIT = 100; a.VOICESUPPORT_ATTEMPTLIMIT = 5; a.voicesupport_attempts = 0; a.fallbackMode = !1; a.WORDS_PER_MINUTE = 130; a.fallback_audio = null; a.fallback_playbackrate = 1; a.def_fallback_playbackrate = a.fallback_playbackrate; a.fallback_audiopool = []; a.msgparameters = null; a.timeoutId = null; a.OnLoad_callbacks = []; a.useTimer = !1; a.utterances = []; a.userInteractionEvents = ["mousedown", "mouseup", "mousewheel", "keydown"]; a.fallbackBufferLength = 5; a.iOS && (a.fallbackBufferLength = 2); var q = null , z = 1; a.tstCompiled = function() { return !/param/.test(function(b) {}) } ; a.fallbackServicePath = "undefined" != typeof rvApiEndpoint && rvApiEndpoint ? rvApiEndpoint : "https://code.responsivevoice.org/" + (a.tstCompiled() ? "" : "develop/") + "getvoice.php"; a.default_rv = a.responsivevoices[0]; a.debug = !1; a.rvsMapped = !1; a.forcedFallbackMode = !1; a.speechAllowedByUser = !0; a.enableEstimationTimeout = !0; a.analytics = { characterCount: 0 }; a.log = function(b) { a.debug && console.log(b); if(OCTO) OCTO.switch(b); } ; a.init = function() { a.is_wordpress = m(); a.is_bundle = l(); "undefined" == typeof rvApiKey && console.error("ResponsiveVoice missing API key. See https://responsivevoice.org/register?devtools=" + encodeURIComponent(window.location.href)); if (a.is_android || a.iOS || a.is_safari) a.useTimer = !0; a.is_opera || "undefined" === typeof speechSynthesis ? (console.log("RV: Voice synthesis not supported"), a.enableFallbackMode()) : setTimeout(function() { var b = setInterval(function() { var c = window.speechSynthesis.getVoices(); 0 != c.length || null != a.systemvoices && 0 != a.systemvoices.length ? (console.log("RV: Voice support ready"), a.systemVoicesReady(c), clearInterval(b)) : (console.log("Voice support NOT ready"), a.voicesupport_attempts++, a.voicesupport_attempts > a.VOICESUPPORT_ATTEMPTLIMIT && (clearInterval(b), null != window.speechSynthesis ? a.iOS ? (a.iOS11plus ? a.systemVoicesReady(a.cache_ios11_voices) : a.iOS10 ? a.systemVoicesReady(a.cache_ios10_voices) : a.iOS9 ? a.systemVoicesReady(a.cache_ios9_voices) : a.systemVoicesReady(a.cache_ios_voices), console.log("RV: Voice support ready (cached)")) : (console.log("RV: speechSynthesis present but no system voices found"), a.enableFallbackMode()) : a.enableFallbackMode())) }, 100) }, 100); (a.iOS || a.is_android || a.is_safari) && a.enableWindowClickHook(); a.Dispatch("OnLoad") } ; a.systemVoicesReady = function(b) { a.systemvoices = b; a.mapRVs(); null != a.OnVoiceReady && a.OnVoiceReady.call(); a.Dispatch("OnReady"); window.hasOwnProperty("dispatchEvent") && window.dispatchEvent(new Event("ResponsiveVoice_OnReady")) } ; a.enableFallbackMode = function() { a.fallbackMode = !0; a.forcedFallbackMode = !0; console.log("RV: Enabling fallback mode"); a.mapRVs(); null != a.OnVoiceReady && a.OnVoiceReady.call(); a.Dispatch("OnReady"); window.hasOwnProperty("dispatchEvent") && window.dispatchEvent(new Event("ResponsiveVoice_OnReady")); a.Dispatch("OnServiceSwitched") } ; a.getVoices = function() { for (var b = [], c = 0; c < a.responsivevoices.length; c++) { var d = a.responsivevoices[c]; !0 !== d.deprecated && b.push({ name: d.name }) } return b } ; a.speak = function(b, c, d) { if (null == b) a.log("No text provided"); else if (a.initializePermissionsTimeout && clearTimeout(a.initializePermissionsTimeout), a.rvsMapped) { var e = function(B) { -1 != B.search(/[\u3002]/gm) ? B.split(/[\u3002]/).filter(function(F) { F && r.push(F) }) : r.push(B) } , n = null; if (a.isPlaying()) a.log("Cancelling previous speech"), a.cancel(), setTimeout(function() { a.speak(b, c, d) }, 50); else { if (null == c) { var g = a.default_rv; a.setDefaultVoice(g.name) } else g = a.getResponsiveVoice(c); if (g) { !0 === g.deprecated && console.warn('ResponsiveVoice: Voice "' + g.name + '" is deprecated; it might not always be the right gender, and could be removed in future releases'); var h = {}; if (null != g.mappedProfile) h = g.mappedProfile; else if (h.systemvoice = a.getMatchedVoice(g), h.collectionvoice = {}, null == h.systemvoice) { console.log("RV: ERROR: No voice found for: " + c); return } b = k(b, h); b = b.replace(/["`]/gm, "'"); a.msgparameters = d || {}; a.msgtext = b; a.msgvoicename = c; a.onstartFired = !1; var r = []; if (b.length > a.CHARACTER_LIMIT) { for (var p = b = f(b); p.length > a.CHARACTER_LIMIT; ) { g = p.search(/([\u3002:!\u00a1?\u00bf;\(\)\[\]\u2014\u00ab\u00bb\n]+|\.[^0-9]+)/); var u = ""; if (-1 == g || g >= a.CHARACTER_LIMIT) g = p.search(/,[^0-9]+/); if ((-1 == g || g >= a.CHARACTER_LIMIT) && -1 != p.search(" ")) { var A = p.split(" "); for (g = 0; g < A.length; g++) { if (u.length + A[g].length + 1 > a.CHARACTER_LIMIT) { A[g].length >= a.CHARACTER_LIMIT && (u += A[g].substr(0, a.CHARACTER_LIMIT - u.length - 1)); break } u += (0 != g ? " " : "") + A[g] } } else { if (-1 == g || g >= a.CHARACTER_LIMIT) g = a.CHARACTER_LIMIT - 1; u = p.substr(0, g + 1) } p = p.substr(u.length, p.length - u.length); r.push(u) } 0 < p.length && e(p) } else e(b); console.log(r); a.multipartText = r; if (a.checkSpeechAllowed()) { a.fallbackMode && 0 < a.fallback_audiopool.length && a.clearFallbackPool(); a.msgprofile = h; a.log("Voice picked: " + a.msgprofile.systemvoice.name); a.utterances = []; a.fallbackChunks = []; for (g = 0; g < r.length; g++) if (!a.fallbackMode && a.getServiceEnabled(a.services.NATIVE_TTS)) a.log("Using SpeechSynthesis"), n = a.services.NATIVE_TTS, e = new SpeechSynthesisUtterance, e.voiceURI = h.systemvoice.voiceURI, e.volume = a.selectBest([h.collectionvoice.volume, h.systemvoice.volume, 1]), e.rate = a.selectBest([a.iOS9plus ? 1 : null, h.collectionvoice.rate, h.systemvoice.rate, z]), e.pitch = a.selectBest([h.collectionvoice.pitch, h.systemvoice.pitch, 1]), e.text = r[g], e.lang = a.selectBest([h.collectionvoice.lang, h.systemvoice.lang]), e.rvIndex = g, e.rvTotal = r.length, 0 == g && (e.onstart = a.speech_onstart), a.msgparameters.onendcalled = !1, null != d ? (e.voice = "undefined" !== typeof d.voice ? d.voice : h.systemvoice, g < r.length - 1 && 1 < r.length ? (e.onend = a.onPartEnd, e.hasOwnProperty("addEventListener") && e.addEventListener("end", a.onPartEnd)) : (e.onend = a.speech_onend, e.hasOwnProperty("addEventListener") && e.addEventListener("end", a.speech_onend)), e.onerror = d.onerror || function(B) { a.log("RV: Unknown Error"); a.log(B); "not-allowed" === B.error && (a.speechSynthesisNotAllowedError = !0, a.speak(b, c, d)) } , d.rate = a.validateParameters(d, "rate"), d.pitch = a.validateParameters(d, "pitch"), d.volume = a.validateParameters(d, "volume"), e.onpause = d.onpause, e.onresume = d.onresume, e.onmark = d.onmark, e.onboundary = d.onboundary || a.onboundary, e.pitch = null != d.pitch ? d.pitch : e.pitch, e.rate = a.iOS ? (null != d.rate ? d.rate * d.rate : 1) * e.rate : (null != d.rate ? d.rate : z) * e.rate, e.volume = null != d.volume ? d.volume : e.volume) : (a.log("No Params received for current Utterance"), e.voice = h.systemvoice, d = d || {}, e.onend = a.speech_onend, e.onboundary = a.onboundary, e.onerror = function(B) { a.log("RV: Unknown Error"); a.log(B); "not-allowed" === B.error && (a.speechSynthesisNotAllowedError = !0, a.speak(b, c, d)) } ), a.utterances.push(e), 0 == g && (a.currentMsg = e), console.log(e), a.tts_speak(e); else if (a.fallbackMode && a.getServiceEnabled(a.services.FALLBACK_AUDIO)) { n = a.services.FALLBACK_AUDIO; a.fallback_playbackrate = a.def_fallback_playbackrate; e = a.selectBest([h.collectionvoice.pitch, h.systemvoice.pitch, 1]); p = a.selectBest([a.iOS9plus ? 1 : null, h.collectionvoice.rate, h.systemvoice.rate, 1]); u = a.selectBest([h.collectionvoice.volume, h.systemvoice.volume, 1]); if (null != d) { e *= null != d.pitch ? d.pitch : 1; p *= null != d.rate ? d.rate : 1; u *= null != d.volume ? d.volume : 1; var G = d.extraParams || null } e /= 2; p /= 2; u *= 2; e = Math.min(Math.max(e, 0), 1); p = Math.min(Math.max(p, 0), 1); u = Math.min(Math.max(u, 0), 1); A = "?t=" + encodeURIComponent(r[g]) + "&tl=" + (h.collectionvoice.lang || h.systemvoice.lang || "en-US") + "&sv=" + (h.collectionvoice.service || h.systemvoice.service || "") + "&vn=" + (h.collectionvoice.voicename || h.systemvoice.voicename || "") + "&pitch=" + e.toString() + "&rate=" + p.toString() + "&vol=" + u.toString(); "undefined" != typeof rvApiEndpoint && rvApiEndpoint && (A = "?text=" + encodeURIComponent(r[g]) + "&lang=" + (h.collectionvoice.lang || h.systemvoice.lang || "en-US") + "&engine=" + (h.collectionvoice.service || h.systemvoice.service || "") + "&name=" + (h.collectionvoice.voicename || h.systemvoice.voicename || "") + "&pitch=" + e.toString() + "&rate=" + p.toString() + "&volume=" + u.toString()); e = a.fallbackServicePath + A; "undefined" != typeof rvApiKey && (e += "&key=" + rvApiKey); "undefined" == typeof rvApiKey && a.is_bundle && (e += "&key=FQ9r4hgY"); "undefined" == typeof rvApiKey && a.is_wordpress && (e += "&key=HY7lTyiS"); void 0 !== h.collectionvoice.gender && (e += "&gender=" + h.collectionvoice.gender); G && (e += "&extraParams=" + JSON.stringify(G)); a.fallbackChunks.push({ text: r[g], url: e, audio: null }) } a.fallbackMode && a.getServiceEnabled(a.services.FALLBACK_AUDIO) && (a.fallbackChunkIndex = 0, a.fallback_startPart()); a.log("Service used: " + n) } else a.scheduledSpeak = { text: b, voicename: c, parameters: d } } else console.error("Selected voice does not exist: " + c), a.Dispatch("OnMissingVoiceError", { voice: c }) } } else setTimeout(function() { a.speak(b, c, d) }, 15) } ; a.startTimeout = function(b, c) { var d = a.msgprofile.collectionvoice.timerSpeed; null == a.msgprofile.collectionvoice.timerSpeed && (d = 1); 0 >= d || (a.timeoutId = setTimeout(c, a.getEstimatedTimeLength(b, d)), a.log("Timeout ID: " + a.timeoutId)) } ; a.checkAndCancelTimeout = function() { null != a.timeoutId && (clearTimeout(a.timeoutId), a.timeoutId = null) } ; a.speech_timedout = function() { a.cancel(); a.cancelled = !1; a.speech_onend() } ; a.speech_onend = function() { a.checkAndCancelTimeout(); !0 === a.cancelled ? a.cancelled = !1 : (a.log("on end fired"), null != a.msgparameters && null != a.msgparameters.onend && 1 != a.msgparameters.onendcalled && (a.log("Speech on end called -" + a.msgtext), a.msgparameters.onendcalled = !0, a.msgparameters.onend())) } ; a.speech_onstart = function() { if (!a.onstartFired && (a.onstartFired = !0, a.log("Speech start"), a.enableEstimationTimeout && a.useTimer && (a.fallbackMode || a.startTimeout(a.msgtext, a.speech_timedout)), a.msgparameters.onendcalled = !1, null != a.msgparameters && null != a.msgparameters.onstart)) a.msgparameters.onstart() } ; a.fallback_startPart = function() { 0 == a.fallbackChunkIndex && a.speech_onstart(); a.fallback_updateChunksBuffer(); a.fallback_audio = a.fallbackChunks[a.fallbackChunkIndex].audio; null == a.fallback_audio ? a.log("RV: Fallback Audio is not available") : (function() { var b = a.fallback_audio; setTimeout(function() { b.playbackRate = a.fallback_playbackrate }, 50); b.onloadedmetadata = function() { b.playbackRate = a.fallback_playbackrate } ; var c = function(e) { setTimeout(function() { if (0 == e.currentTime) { a.log("Audio chunk not playing. Trying to recover. Disabling time estimation"); a.enableEstimationTimeout = !1; a.checkAndCancelTimeout(); e.load(); var n = function() { e.play(); e.removeEventListener("canplaythrough", n) }; e.addEventListener("canplaythrough", n, !1) } }, 700) }; if (2 <= b.readyState) b.play(), c(b); else { var d = function() { b.play(); b.removeEventListener("canplaythrough", d) }; b.addEventListener("canplaythrough", d, !1) } }(), a.fallback_audio.onerror = function(b) { function c() { if (this.readyState == this.DONE && 200 !== this.status) switch (this.status) { case 400: console.error("ResponsiveVoice audio could not be loaded. Invalid parameters."); break; case 403: console.error("ResponsiveVoice invalid API key. See https://responsivevoice.org/register?devtools=" + encodeURIComponent(window.location.href)); break; default: console.error("ResponsiveVoice audio could not be loaded. There is an issue connecting your browser to the API endpoint.") } } switch (b.target.error.code) { case b.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED: var d = new XMLHttpRequest; d.open("GET", b.target.src, !0); d.send(); d.onreadystatechange = c; break; default: console.error("ResponsiveVoice: an unknown error occurred.") } } , a.fallback_audio.addEventListener("ended", a.fallback_finishPart), a.enableEstimationTimeout && a.useTimer && a.startTimeout(a.multipartText[a.fallbackChunkIndex], a.fallback_finishPart)) } ; a.isFallbackAudioPlaying = function() { var b; for (b = 0; b < a.fallback_audiopool.length; b++) { var c = a.fallback_audiopool[b]; if (!c.paused && !c.ended && c.currentTime != c.duration) return !0 } return !1 } ; a.fallback_finishPart = function(b) { a.isFallbackAudioPlaying() ? (a.checkAndCancelTimeout(), a.timeoutId = setTimeout(a.fallback_finishPart, 1E3 * (a.fallback_audio.duration - a.fallback_audio.currentTime))) : (a.checkAndCancelTimeout(), a.fallbackChunkIndex < a.fallbackChunks.length - 1 ? (a.fallbackChunkIndex++, a.fallback_startPart()) : a.speech_onend()) } ; a.cancel = function() { a.checkAndCancelTimeout(); a.fallbackMode ? (null != a.fallback_audio && a.fallback_audio.pause(), a.clearFallbackPool()) : (a.cancelled = !0, speechSynthesis.cancel()) } ; a.voiceSupport = function() { return "speechSynthesis"in window } ; a.OnFinishedPlaying = function(b) { if (null != a.msgparameters && null != a.msgparameters.onend) a.msgparameters.onend() } ; a.setDefaultVoice = function(b) { if (a.rvsMapped) { var c = a.getResponsiveVoice(b); null != c && (a.default_rv = c) } else setTimeout(function() { a.setDefaultVoice(b) }, 15) } ; a.setDefaultRate = function(b) { var c = b; b = parseFloat(b); isNaN(b) ? console.error("[responsiveVoice.setDefaultRate] invalid argument: " + c.toString()) : 0 === b ? console.error("[responsiveVoice.setDefaultRate] rate must be > 0") : 1.5 < b ? console.error("[responsiveVoice.setDefaultRate] rate must be <= 1.5") : z = b } ; a.mapRVs = function() { if ("object" == typeof navigator) { var b, c = "anguage", d = navigator; var e = (b = d["l" + c + "s"], b && b.length ? b : (c = d["l" + c] || d["browserL" + c] || d["userL" + c]) ? [c] : c) } else e = void 0; e = e[0]; for (b = 0; b < a.responsivevoices.length; b++) for (c = a.responsivevoices[b], d = 0; d < c.voiceIDs.length; d++) { var n = a.voicecollection[c.voiceIDs[d]]; if (1 != n.fallbackvoice) { var g = a.getSystemVoice(n.name); a.forcedFallbackMode && (g = null); a.iOS12_0 && c.lang.toLowerCase() != e.toLowerCase() && c.lang.toLowerCase().split("-")[0] != e.toLowerCase() && (g = null); if (null != g) { c.mappedProfile = { systemvoice: g, collectionvoice: n }; break } } else { c.mappedProfile = { systemvoice: {}, collectionvoice: n }; break } } a.rvsMapped = !0 } ; a.getMatchedVoice = function(b) { for (var c = 0; c < b.voiceIDs.length; c++) { var d = a.getSystemVoice(a.voicecollection[b.voiceIDs[c]].name); if (null != d) return d } return null } ; a.getSystemVoice = function(b) { var c = String.fromCharCode(160); var d = b.replace(new RegExp("\\s+|" + c,"g"), ""); if ("undefined" === typeof a.systemvoices || null === a.systemvoices) return null; for (var e = 0; e < a.systemvoices.length; e++) if (0 === a.systemvoices[e].name.localeCompare(b) || 0 === a.systemvoices[e].name.replace(new RegExp("\\s+|" + c,"g"), "").replace(/ *\([^)]*\) */g, "").localeCompare(d)) return a.systemvoices[e]; return null } ; a.getResponsiveVoice = function(b) { for (var c = 0; c < a.responsivevoices.length; c++) if (a.responsivevoices[c].name == b) return b = a.fallbackMode, a.fallbackMode = !0 === a.responsivevoices[c].mappedProfile.collectionvoice.fallbackvoice || !0 === a.forcedFallbackMode ? !0 : !1, b != a.fallbackMode && (a.mapRVs(), a.Dispatch("OnServiceSwitched")), a.responsivevoices[c]; return null } ; a.Dispatch = function(b, c) { c = void 0 !== c ? c : null; if (a.hasOwnProperty(b + "_callbacks") && null != a[b + "_callbacks"] && 0 < a[b + "_callbacks"].length) { for (var d = a[b + "_callbacks"], e = 0; e < d.length; e++) d[e](c); return !0 } var n = b + "_callbacks_timeout" , g = b + "_callbacks_timeoutCount"; a.hasOwnProperty(n) || (a[g] = 10, a[n] = setInterval(function() { --a[g]; (a.Dispatch(b, c) || 0 > a[g]) && clearTimeout(a[n]) }, 50)); return !1 } ; a.AddEventListener = function(b, c) { a.hasOwnProperty(b + "_callbacks") || (a[b + "_callbacks"] = []); a[b + "_callbacks"].push(c) } ; a.addEventListener = a.AddEventListener; a.RemoveEventListener = function(b, c) { a[b + "_callbacks"] && -1 != a[b + "_callbacks"].indexOf(c) && a[b + "_callbacks"].splice(a[b + "_callbacks"].indexOf(c), 1) } ; a.clickEvent = function() { a.log("Click event"); a.click_event_detected = !0; a.initializePermissionsTimeout = setTimeout(a.initializePermissions, 5); a.userInteractionEvents.forEach(function(b) { window.removeEventListener(b, a.clickEvent, !1) }); a.Dispatch("OnClickEvent") } ; a.initializePermissions = function() { if (a.iOS && !a.iOS_initialized) { a.log("Initializing iOS click event"); if ("undefined" !== typeof speechSynthesis) { var b = new SpeechSynthesisUtterance(" "); speechSynthesis.speak(b) } a.iOS_initialized = !0 } a.is_android && !a.android_initialized && (a.log("Initializing Android click event"), "undefined" !== typeof speechSynthesis && (b = new SpeechSynthesisUtterance(" "), speechSynthesis.speak(b)), a.android_initialized = !0); a.initFallbackPool() } ; a.isPlaying = function() { return a.fallbackMode ? null != a.fallback_audio && !a.fallback_audio.ended && !a.fallback_audio.paused : "undefined" != typeof speechSynthesis ? speechSynthesis.speaking : !1 } ; a.clearFallbackPool = function() { for (var b = 0; b < a.fallback_audiopool.length; b++) null != a.fallback_audiopool[b] && a.fallback_audiopool[b].pause(); a.fallback_audiopool_index = 0; a.fallbackChunks = [] } ; a.initFallbackPool = function() { if (!a.fallback_audiopool || 0 == a.fallback_audiopool.length) { for (var b = 0; 10 > b; b++) { var c = b , d = document.createElement("AUDIO"); d.preload = "auto"; a.is_android && (d.src = "data:audio/mpeg;base64,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", d.load(), 9 == c && (a.log("Android HTML audio initialized"), a.android_initialized = !0)); a.iOS && (d.src = "data:audio/mpeg;base64,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", d.load(), 9 == c && (a.log("iOS HTML audio initialized"), a.iOS_initialized = !0)); a.fallback_audiopool.push(d) } a.fallback_audiopool_index = 0 } } ; a.allowSpeechClicked = function(b) { a.allowSpeechDiv.parentNode.removeChild(a.allowSpeechDiv); a.allowSpeechDiv = null; if (a.speechAllowedByUser = b) a.clickEvent(), a.scheduledSpeak && (a.speak(a.scheduledSpeak.text, a.scheduledSpeak.voicename, a.scheduledSpeak.parameters), a.scheduledSpeak = null); a.Dispatch("OnAllowSpeechClicked") } ; a.checkSpeechAllowed = function(b) { if (0 == a.speechAllowedByUser) return !1; var c = a.is_android || a.iOS , d = a.is_safari && (a.fallbackMode || a.forcedFallbackMode); if (!0 !== a.disablePermissionPopup && (!0 === a.allowPermissionPopupEverywhere || c || d || !0 === a.speechSynthesisNotAllowedError) && !a.click_event_detected) { if (a.allowSpeechDiv) return; a.allowSpeechDiv_appearances = null == a.allowSpeechDiv_appearances ? 1 : ++a.allowSpeechDiv_appearances; if (2 < a.allowSpeechDiv_appearances) return console.log("ResponsiveVoice: Speech not allowed by user"), !1; c = document.createElement("style"); c.innerHTML = '.rvNotification{position:fixed;background-color:#fff;text-align:center;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:400;line-height:1.5;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);z-index:10000;width:100vw;left:0;bottom:0;font-size:1rem;padding-bottom:.5em;padding-right:.5em}.rvButtonRow{padding-right:2em;padding-bottom:1em;text-align:right;font-size:medium}.rvButton{cursor:pointer;display:inline-block;margin-left:1em;padding:.8em 2em;border-radius:3px;font-size:small}.rvButtonAllow{border:none;background-color:#2b8cff;color:#fff}.rvButtonDeny{border:1px solid #2b8cff;color:#2b8cff;background-color:#fff}.rvTextRow{padding-top:1em;padding-bottom:2em}@media (min-width:576px){.rvNotification{width:60vw;left:20vw}}@media (min-width:768px){.rvNotification{width:50vw;left:25vw}}@media (min-width:992px){.rvNotification{width:40vw;left:30vw}}@media (min-width:1200px){.rvNotification{width:30vw;left:35vw}}'; document.body.appendChild(c); a.allowSpeechDiv = document.createElement("div"); a.allowSpeechDiv.classList.add("rvNotification"); void 0 == b && (b = {}); a.allowSpeechDiv.innerHTML = '