shaka-player 2.5.1 → 2.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/.csslintrc +13 -0
  2. package/AUTHORS +3 -0
  3. package/CHANGELOG.md +156 -0
  4. package/CONTRIBUTORS +3 -0
  5. package/README.md +3 -0
  6. package/build/README.md +5 -5
  7. package/build/apps.py +3 -1
  8. package/build/build.py +5 -2
  9. package/build/check.py +17 -0
  10. package/build/compiler.py +49 -0
  11. package/build/conformance.textproto +1 -0
  12. package/build/docs.py +0 -6
  13. package/build/generateExterns.js +72 -20
  14. package/build/install-linux-prereqs.sh +4 -4
  15. package/build/shakaBuildHelpers.py +7 -8
  16. package/build/test.py +21 -9
  17. package/build/types/core +1 -0
  18. package/build/types/ui +6 -1
  19. package/demo/asset_card.js +129 -41
  20. package/demo/cast_receiver/receiver_app.css +27 -13
  21. package/demo/close_button.js +10 -15
  22. package/demo/common/asset.js +6 -6
  23. package/demo/common/assets.js +72 -14
  24. package/demo/config.js +28 -25
  25. package/demo/custom.js +20 -16
  26. package/demo/demo.less +107 -16
  27. package/demo/demo_uncompiled.js +33 -0
  28. package/demo/demo_utils.js +4 -3
  29. package/demo/front.js +12 -8
  30. package/demo/index.html +14 -17
  31. package/demo/input.js +30 -23
  32. package/demo/input_container.js +15 -11
  33. package/demo/load.js +5 -7
  34. package/demo/main.js +138 -49
  35. package/demo/search.js +40 -36
  36. package/demo/service_worker.js +1 -1
  37. package/demo/tooltip.js +16 -24
  38. package/dist/.csslintstamp +0 -0
  39. package/dist/controls.css +1 -1
  40. package/dist/controls.css.map +1 -1
  41. package/dist/demo.compiled.debug.js +165 -152
  42. package/dist/demo.compiled.debug.map +4 -4
  43. package/dist/demo.compiled.js +165 -152
  44. package/dist/demo.compiled.map +4 -4
  45. package/dist/demo.css +1 -1
  46. package/dist/demo.css.map +1 -1
  47. package/dist/deps.js +28 -11
  48. package/dist/receiver.compiled.debug.js +11 -11
  49. package/dist/receiver.compiled.debug.map +3 -3
  50. package/dist/receiver.compiled.js +11 -11
  51. package/dist/receiver.compiled.map +3 -3
  52. package/dist/shaka-player.compiled.debug.externs.js +232 -102
  53. package/dist/shaka-player.compiled.debug.js +189 -165
  54. package/dist/shaka-player.compiled.debug.map +4 -4
  55. package/dist/shaka-player.compiled.externs.js +232 -102
  56. package/dist/shaka-player.compiled.js +567 -553
  57. package/dist/shaka-player.compiled.map +4 -4
  58. package/dist/shaka-player.ui.debug.externs.js +338 -113
  59. package/dist/shaka-player.ui.debug.js +296 -276
  60. package/dist/shaka-player.ui.debug.map +4 -4
  61. package/dist/shaka-player.ui.externs.js +338 -113
  62. package/dist/shaka-player.ui.js +685 -671
  63. package/dist/shaka-player.ui.map +4 -4
  64. package/docs/tutorials/drm-config.md +1 -0
  65. package/docs/tutorials/fairplay.md +77 -0
  66. package/docs/tutorials/index.json +1 -0
  67. package/docs/tutorials/manifest-parser.md +1 -1
  68. package/docs/tutorials/ui-customization.md +5 -2
  69. package/docs/tutorials/ui.md +10 -4
  70. package/docs/tutorials/welcome.md +2 -2
  71. package/externs/mediasession.js +16 -1
  72. package/externs/shaka/net.js +14 -4
  73. package/externs/shaka/player.js +136 -90
  74. package/externs/tippy.js +30 -0
  75. package/externs/webkitmediakeys.js +4 -0
  76. package/karma.conf.js +30 -24
  77. package/lib/cast/cast_proxy.js +94 -23
  78. package/lib/cast/cast_receiver.js +8 -1
  79. package/lib/dash/content_protection.js +33 -1
  80. package/lib/dash/dash_parser.js +13 -5
  81. package/lib/hls/hls_parser.js +20 -4
  82. package/lib/media/drm_engine.js +29 -2
  83. package/lib/media/media_source_engine.js +9 -6
  84. package/lib/media/play_rate_controller.js +14 -3
  85. package/lib/media/playhead.js +8 -3
  86. package/lib/media/streaming_engine.js +68 -20
  87. package/lib/media/transmuxer.js +2 -2
  88. package/lib/media/video_wrapper.js +8 -3
  89. package/lib/net/data_uri_plugin.js +5 -2
  90. package/lib/net/http_fetch_plugin.js +3 -3
  91. package/lib/net/http_plugin_utils.js +2 -4
  92. package/lib/net/http_xhr_plugin.js +2 -2
  93. package/lib/net/networking_engine.js +1 -0
  94. package/lib/offline/offline_scheme.js +7 -2
  95. package/lib/player.js +18 -8
  96. package/lib/polyfill/input_event.js +7 -11
  97. package/lib/polyfill/mediasource.js +1 -1
  98. package/lib/polyfill/patchedmediakeys_apple.js +2 -72
  99. package/lib/text/cue.js +1 -1
  100. package/lib/text/ttml_text_parser.js +1 -1
  101. package/lib/util/config_utils.js +1 -0
  102. package/lib/util/error.js +45 -11
  103. package/lib/util/event_manager.js +211 -100
  104. package/lib/util/fairplay_utils.js +122 -0
  105. package/lib/util/i_releasable.js +1 -0
  106. package/lib/util/player_configuration.js +7 -0
  107. package/lib/util/pssh.js +41 -0
  108. package/lib/util/string_utils.js +42 -6
  109. package/lib/util/timer.js +1 -1
  110. package/package.json +33 -33
  111. package/roadmap.md +96 -0
  112. package/shaka-player.uncompiled.js +5 -1
  113. package/test/dash/dash_parser_content_protection_unit.js +35 -1
  114. package/test/dash/dash_parser_manifest_unit.js +60 -0
  115. package/test/hls/hls_live_unit.js +7 -1
  116. package/test/hls/hls_parser_unit.js +50 -0
  117. package/test/media/drm_engine_unit.js +10 -4
  118. package/test/media/media_source_engine_integration.js +12 -0
  119. package/test/media/media_source_engine_unit.js +3 -1
  120. package/test/media/playhead_unit.js +7 -5
  121. package/test/media/streaming_engine_unit.js +46 -1
  122. package/test/media/transmuxer_integration.js +13 -0
  123. package/test/net/data_uri_plugin_unit.js +13 -2
  124. package/test/net/http_plugin_unit.js +17 -12
  125. package/test/net/networking_engine_unit.js +17 -8
  126. package/test/offline/offline_scheme_unit.js +18 -8
  127. package/test/player_external.js +3 -2
  128. package/test/player_integration.js +94 -3
  129. package/test/player_src_equals_integration.js +2 -2
  130. package/test/player_unit.js +21 -8
  131. package/test/test/boot.js +20 -5
  132. package/test/test/externs/jasmine.js +48 -0
  133. package/test/test/util/expect_async_polyfill.js +145 -0
  134. package/test/test/util/fake_networking_engine.js +1 -0
  135. package/test/test/util/manifest_generator.js +2 -1
  136. package/test/test/util/test_scheme.js +34 -2
  137. package/test/test/util/ui_utils.js +41 -0
  138. package/test/test/util/util.js +16 -8
  139. package/test/ui/ui_unit.js +130 -4
  140. package/ui/audio_language_selection.js +17 -96
  141. package/ui/big_play_button.js +61 -0
  142. package/ui/controls.js +226 -335
  143. package/ui/controls.less +3 -5
  144. package/ui/element.js +24 -6
  145. package/ui/externs/ui.js +62 -9
  146. package/ui/fullscreen_button.js +2 -52
  147. package/ui/less/buttons.less +10 -16
  148. package/ui/less/containers.less +75 -20
  149. package/ui/less/general.less +18 -2
  150. package/ui/less/other_elements.less +2 -1
  151. package/ui/less/overflow_menu.less +11 -10
  152. package/ui/less/range_elements.less +12 -10
  153. package/ui/less/spinner.less +2 -0
  154. package/ui/overflow_menu.js +1 -1
  155. package/ui/pip_button.js +1 -1
  156. package/ui/{play_pause_button.js → play_button.js} +17 -47
  157. package/ui/presentation_time.js +17 -12
  158. package/ui/range_element.js +176 -0
  159. package/ui/resolution_selection.js +43 -106
  160. package/ui/seek_bar.js +204 -0
  161. package/ui/settings_menu.js +113 -0
  162. package/ui/small_play_button.js +73 -0
  163. package/ui/text_displayer.js +17 -14
  164. package/ui/text_selection.js +42 -107
  165. package/ui/ui.js +17 -40
  166. package/ui/volume_bar.js +40 -68
@@ -1,31 +1,15 @@
1
- /*
2
-
3
- Copyright 2016 Google Inc.
4
-
5
- Licensed under the Apache License, Version 2.0 (the "License");
6
- you may not use this file except in compliance with the License.
7
- You may obtain a copy of the License at
8
-
9
- http://www.apache.org/licenses/LICENSE-2.0
10
-
11
- Unless required by applicable law or agreed to in writing, software
12
- distributed under the License is distributed on an "AS IS" BASIS,
13
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- See the License for the specific language governing permissions and
15
- limitations under the License.
16
- */
17
1
  var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
18
2
  $jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(b){return $jscomp.SYMBOL_PREFIX+(b||"")+a++}}();
19
3
  $jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var b=0;return $jscomp.iteratorPrototype(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})};
20
- $jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};$jscomp.makeIterator=function(a){$jscomp.initSymbolIterator();$jscomp.initSymbol();$jscomp.initSymbolIterator();var b=a[Symbol.iterator];return b?b.call(a):$jscomp.arrayIterator(a)};
4
+ $jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};$jscomp.makeIterator=function(a){$jscomp.initSymbolIterator();var b=a[Symbol.iterator];return b?b.call(a):$jscomp.arrayIterator(a)};
21
5
  $jscomp.polyfill=function(a,b,c,d){if(b){c=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:b})}};$jscomp.FORCE_POLYFILL_PROMISE=!1;
22
6
  $jscomp.polyfill("Promise",function(a){function b(){this.batch_=null}function c(a){return a instanceof e?a:new e(function(b,c){b(a)})}if(a&&!$jscomp.FORCE_POLYFILL_PROMISE)return a;b.prototype.asyncExecute=function(a){null==this.batch_&&(this.batch_=[],this.asyncExecuteBatch_());this.batch_.push(a);return this};b.prototype.asyncExecuteBatch_=function(){var a=this;this.asyncExecuteFunction(function(){a.executeBatch_()})};var d=$jscomp.global.setTimeout;b.prototype.asyncExecuteFunction=function(a){d(a,
23
7
  0)};b.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var a=this.batch_;this.batch_=[];for(var b=0;b<a.length;++b){var c=a[b];a[b]=null;try{c()}catch(k){this.asyncThrow_(k)}}}this.batch_=null};b.prototype.asyncThrow_=function(a){this.asyncExecuteFunction(function(){throw a;})};var e=function(a){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];var b=this.createResolveAndReject_();try{a(b.resolve,b.reject)}catch(l){b.reject(l)}};e.prototype.createResolveAndReject_=
24
8
  function(){function a(a){return function(d){c||(c=!0,a.call(b,d))}}var b=this,c=!1;return{resolve:a(this.resolveTo_),reject:a(this.reject_)}};e.prototype.resolveTo_=function(a){if(a===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(a instanceof e)this.settleSameAsPromise_(a);else{a:switch(typeof a){case "object":var b=null!=a;break a;case "function":b=!0;break a;default:b=!1}b?this.resolveToNonPromiseObj_(a):this.fulfill_(a)}};e.prototype.resolveToNonPromiseObj_=function(a){var b=
25
9
  void 0;try{b=a.then}catch(l){this.reject_(l);return}"function"==typeof b?this.settleSameAsThenable_(b,a):this.fulfill_(a)};e.prototype.reject_=function(a){this.settle_(2,a)};e.prototype.fulfill_=function(a){this.settle_(1,a)};e.prototype.settle_=function(a,b){if(0!=this.state_)throw Error("Cannot settle("+a+", "+b+"): Promise already settled in state"+this.state_);this.state_=a;this.result_=b;this.executeOnSettledCallbacks_()};e.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var a=
26
- 0;a<this.onSettledCallbacks_.length;++a)f.asyncExecute(this.onSettledCallbacks_[a]);this.onSettledCallbacks_=null}};var f=new b;e.prototype.settleSameAsPromise_=function(a){var b=this.createResolveAndReject_();a.callWhenSettled_(b.resolve,b.reject)};e.prototype.settleSameAsThenable_=function(a,b){var c=this.createResolveAndReject_();try{a.call(b,c.resolve,c.reject)}catch(k){c.reject(k)}};e.prototype.then=function(a,b){function c(a,b){return"function"==typeof a?function(b){try{d(a(b))}catch(r){f(r)}}:
27
- b}var d,f,h=new e(function(a,b){d=a;f=b});this.callWhenSettled_(c(a,d),c(b,f));return h};e.prototype["catch"]=function(a){return this.then(void 0,a)};e.prototype.callWhenSettled_=function(a,b){function c(){switch(d.state_){case 1:a(d.result_);break;case 2:b(d.result_);break;default:throw Error("Unexpected state: "+d.state_);}}var d=this;null==this.onSettledCallbacks_?f.asyncExecute(c):this.onSettledCallbacks_.push(c)};e.resolve=c;e.reject=function(a){return new e(function(b,c){c(a)})};e.race=function(a){return new e(function(b,
28
- d){for(var e=$jscomp.makeIterator(a),f=e.next();!f.done;f=e.next())c(f.value).callWhenSettled_(b,d)})};e.all=function(a){var b=$jscomp.makeIterator(a),d=b.next();return d.done?c([]):new e(function(a,e){function f(b){return function(c){h[b]=c;g--;0==g&&a(h)}}var h=[],g=0;do h.push(void 0),g++,c(d.value).callWhenSettled_(f(h.length-1),e),d=b.next();while(!d.done)})};return e},"es6","es3");
10
+ 0;a<this.onSettledCallbacks_.length;++a)f.asyncExecute(this.onSettledCallbacks_[a]);this.onSettledCallbacks_=null}};var f=new b;e.prototype.settleSameAsPromise_=function(a){var b=this.createResolveAndReject_();a.callWhenSettled_(b.resolve,b.reject)};e.prototype.settleSameAsThenable_=function(a,b){var c=this.createResolveAndReject_();try{a.call(b,c.resolve,c.reject)}catch(k){c.reject(k)}};e.prototype.then=function(a,b){function c(a,b){return"function"==typeof a?function(b){try{d(a(b))}catch(r){g(r)}}:
11
+ b}var d,g,f=new e(function(a,b){d=a;g=b});this.callWhenSettled_(c(a,d),c(b,g));return f};e.prototype["catch"]=function(a){return this.then(void 0,a)};e.prototype.callWhenSettled_=function(a,b){function c(){switch(d.state_){case 1:a(d.result_);break;case 2:b(d.result_);break;default:throw Error("Unexpected state: "+d.state_);}}var d=this;null==this.onSettledCallbacks_?f.asyncExecute(c):this.onSettledCallbacks_.push(c)};e.resolve=c;e.reject=function(a){return new e(function(b,c){c(a)})};e.race=function(a){return new e(function(b,
12
+ d){for(var e=$jscomp.makeIterator(a),f=e.next();!f.done;f=e.next())c(f.value).callWhenSettled_(b,d)})};e.all=function(a){var b=$jscomp.makeIterator(a),d=b.next();return d.done?c([]):new e(function(a,e){function f(b){return function(c){g[b]=c;h--;0==h&&a(g)}}var g=[],h=0;do g.push(void 0),h++,c(d.value).callWhenSettled_(f(g.length-1),e),d=b.next();while(!d.done)})};return e},"es6","es3");
29
13
  $jscomp.asyncExecutePromiseGenerator=function(a){function b(b){return a.next(b)}function c(b){return a["throw"](b)}return new Promise(function(d,e){function f(a){a.done?d(a.value):Promise.resolve(a.value).then(b,c).then(f,e)}f(a.next())})};$jscomp.asyncExecutePromiseGeneratorFunction=function(a){return $jscomp.asyncExecutePromiseGenerator(a())};$jscomp.objectCreate=$jscomp.ASSUME_ES5||"function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b};
30
14
  $jscomp.underscoreProtoCanBeSet=function(){var a={a:!0},b={};try{return b.__proto__=a,b.a}catch(c){}return!1};$jscomp.setPrototypeOf="function"==typeof Object.setPrototypeOf?Object.setPrototypeOf:$jscomp.underscoreProtoCanBeSet()?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null;
31
15
  $jscomp.inherits=function(a,b){a.prototype=$jscomp.objectCreate(b.prototype);a.prototype.constructor=a;if($jscomp.setPrototypeOf){var c=$jscomp.setPrototypeOf;c(a,b)}else for(c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.superClass_=b.prototype};$jscomp.generator={};
@@ -44,7 +28,7 @@ $jscomp.generator.Engine_.prototype.yieldAllStep_=function(a,b,c){try{var d=a.ca
44
28
  $jscomp.generator.Engine_.prototype.nextStep_=function(){for(;this.context_.nextAddress;)try{var a=this.program_(this.context_);if(a)return this.context_.stop_(),{value:a.value,done:!1}}catch(b){this.context_.yieldResult=void 0,this.context_.throw_(b)}this.context_.stop_();if(this.context_.abruptCompletion_){a=this.context_.abruptCompletion_;this.context_.abruptCompletion_=null;if(a.isException)throw a.exception;return{value:a["return"],done:!0}}return{value:void 0,done:!0}};
45
29
  $jscomp.generator.Generator_=function(a){this.next=function(b){return a.next_(b)};this["throw"]=function(b){return a.throw_(b)};this["return"]=function(b){return a.return_(b)};$jscomp.initSymbolIterator();this[Symbol.iterator]=function(){return this}};$jscomp.generator.createGenerator=function(a,b){$jscomp.generator.Generator_.prototype=a.prototype;return new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(b))};
46
30
  $jscomp.checkEs6ConformanceViaProxy=function(){try{var a={},b=Object.create(new $jscomp.global.Proxy(a,{get:function(c,d,e){return c==a&&"q"==d&&e==b}}));return!0===b.q}catch(c){return!1}};$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS=!1;$jscomp.ES6_CONFORMANCE=$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS&&$jscomp.checkEs6ConformanceViaProxy();$jscomp.owns=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};
47
- $jscomp.polyfill("WeakMap",function(a){function b(){if(!a||!Object.seal)return!1;try{var b=Object.seal({}),c=Object.seal({}),d=new a([[b,2],[c,3]]);if(2!=d.get(b)||3!=d.get(c))return!1;d["delete"](b);d.set(c,4);return!d.has(b)&&4==d.get(c)}catch(n){return!1}}function c(a){$jscomp.owns(a,e)||$jscomp.defineProperty(a,e,{value:{}})}function d(a){var b=Object[a];b&&(Object[a]=function(a){c(a);return b(a)})}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;
31
+ $jscomp.polyfill("WeakMap",function(a){function b(){if(!a||!Object.seal)return!1;try{var b=Object.seal({}),c=Object.seal({}),d=new a([[b,2],[c,3]]);if(2!=d.get(b)||3!=d.get(c))return!1;d["delete"](b);d.set(c,4);return!d.has(b)&&4==d.get(c)}catch(p){return!1}}function c(a){$jscomp.owns(a,e)||$jscomp.defineProperty(a,e,{value:{}})}function d(a){var b=Object[a];b&&(Object[a]=function(a){c(a);return b(a)})}if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;
48
32
  var e="$jscomp_hidden_"+Math.random();d("freeze");d("preventExtensions");d("seal");var f=0,g=function(a){this.id_=(f+=Math.random()+1).toString();if(a){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)b=b.value,this.set(b[0],b[1])}};g.prototype.set=function(a,b){c(a);if(!$jscomp.owns(a,e))throw Error("WeakMap key fail: "+a);a[e][this.id_]=b;return this};g.prototype.get=function(a){return $jscomp.owns(a,e)?a[e][this.id_]:void 0};g.prototype.has=
49
33
  function(a){return $jscomp.owns(a,e)&&$jscomp.owns(a[e],this.id_)};g.prototype["delete"]=function(a){return $jscomp.owns(a,e)&&$jscomp.owns(a[e],this.id_)?delete a[e][this.id_]:!1};return g},"es6","es3");$jscomp.MapEntry=function(){};
50
34
  $jscomp.polyfill("Map",function(a){function b(){if($jscomp.ASSUME_NO_NATIVE_MAP||!a||"function"!=typeof a||!a.prototype.entries||"function"!=typeof Object.seal)return!1;try{var b=Object.seal({x:4}),c=new a($jscomp.makeIterator([[b,"s"]]));if("s"!=c.get(b)||1!=c.size||c.get({x:4})||c.set({x:4},"t")!=c||2!=c.size)return!1;var d=c.entries(),e=d.next();if(e.done||e.value[0]!=b||"s"!=e.value[1])return!1;e=d.next();return e.done||4!=e.value[0].x||"t"!=e.value[1]||!d.next().done?!1:!0}catch(t){return!1}}
@@ -60,19 +44,7 @@ $jscomp.polyfill("Set",function(a){function b(){if($jscomp.ASSUME_NO_NATIVE_SET|
60
44
  if($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&$jscomp.ES6_CONFORMANCE)return a}else if(b())return a;$jscomp.initSymbol();$jscomp.initSymbolIterator();var c=function(a){this.map_=new Map;if(a){a=$jscomp.makeIterator(a);for(var b;!(b=a.next()).done;)this.add(b.value)}this.size=this.map_.size};c.prototype.add=function(a){this.map_.set(a,a);this.size=this.map_.size;return this};c.prototype["delete"]=function(a){a=this.map_["delete"](a);this.size=this.map_.size;return a};c.prototype.clear=function(){this.map_.clear();
61
45
  this.size=0};c.prototype.has=function(a){return this.map_.has(a)};c.prototype.entries=function(){return this.map_.entries()};c.prototype.values=function(){return this.map_.values()};c.prototype.keys=c.prototype.values;c.prototype[Symbol.iterator]=c.prototype.values;c.prototype.forEach=function(a,b){var c=this;this.map_.forEach(function(d){return a.call(b,d,d,c)})};return c},"es6","es3");
62
46
  $jscomp.polyfill("Array.from",function(a){return a?a:function(a,c,d){$jscomp.initSymbolIterator();c=null!=c?c:function(a){return a};var b=[],f=a[Symbol.iterator];if("function"==typeof f)for(a=f.call(a);!(f=a.next()).done;)b.push(c.call(d,f.value));else{f=a.length;for(var g=0;g<f;g++)b.push(c.call(d,a[g]))}return b}},"es6","es3");$jscomp.polyfill("Object.values",function(a){return a?a:function(a){var b=[],d;for(d in a)$jscomp.owns(a,d)&&b.push(a[d]);return b}},"es8","es3");
63
- var AssetCard=function(a,b,c,d){this.card_=document.createElement("div");this.asset_=b;this.actions_=document.createElement("div");this.featureIconsContainer_=document.createElement("div");this.progressBar_=document.createElement("progress");this.remakeButtonsFn_=d;this.card_.classList.add("mdl-card-wide");this.card_.classList.add("mdl-card");this.card_.classList.add("mdl-shadow--2dp");this.card_.classList.add("asset-card");d=document.createElement("div");d.classList.add("mdl-card__title");this.card_.appendChild(d);
64
- var e=document.createElement("h2");e.classList.add("mdl-card__title-text");e.textContent=b.shortName||b.name;d.appendChild(e);if(b.iconUri){d=document.createElement("picture");e=document.createElement("source");e.srcset=b.iconUri.replace(/.png$/,".webp");e.type="image/webp";var f=document.createElement("source");f.srcset=b.iconUri;f.type="image/png";var g=document.createElement("img");g.src=b.iconUri;g.alt="";d.appendChild(e);d.appendChild(f);d.appendChild(g);this.card_.appendChild(d)}b.description&&
65
- c&&(c=document.createElement("div"),c.classList.add("mdl-card__supporting-text"),c.textContent=b.description,this.card_.appendChild(c));this.card_.appendChild(this.featureIconsContainer_);this.addFeatureIcons_(b);this.actions_.classList.add("mdl-card__actions");this.actions_.classList.add("mdl-card--border");this.card_.appendChild(this.actions_);c=document.createElement("div");this.progressBar_.classList.add("hidden");this.progressBar_.setAttribute("max",1);this.progressBar_.setAttribute("value",
66
- b.storedProgress);c.appendChild(this.progressBar_);this.card_.appendChild(c);a.appendChild(this.card_);this.remakeButtons()};AssetCard.prototype.addFeatureIcon_=function(a,b){var c=document.createElement("div");c.classList.add("feature-icon");c.setAttribute("icon",a);this.featureIconsContainer_.appendChild(c);ShakaDemoTooltips.make(this.featureIconsContainer_,c,b)};
67
- AssetCard.prototype.addFeatureIcons_=function(a){var b=shakaAssets.Feature,c=shakaAssets.KeySystem;b=(new Map).set(b.SUBTITLES,"subtitles").set(b.CAPTIONS,"closed_caption").set(b.LIVE,"live").set(b.TRICK_MODE,"trick_mode").set(b.HIGH_DEFINITION,"high_definition").set(b.ULTRA_HIGH_DEFINITION,"ultra_high_definition").set(b.SURROUND,"surround_sound").set(b.MULTIPLE_LANGUAGES,"multiple_languages").set(b.AUDIO_ONLY,"audio_only");for(var d=$jscomp.makeIterator(a.features),e=d.next();!e.done;e=d.next()){e=
68
- e.value;var f=b.get(e);f&&this.addFeatureIcon_(f,e)}a=$jscomp.makeIterator(a.drm);for(b=a.next();!b.done;b=a.next())switch(b.value){case c.WIDEVINE:this.addFeatureIcon_("widevine","Widevine DRM");break;case c.CLEAR_KEY:this.addFeatureIcon_("clear_key","Clear Key DRM");break;case c.PLAYREADY:this.addFeatureIcon_("playready","PlayReady DRM")}};AssetCard.prototype.markAsUnsupported=function(a){this.card_.classList.add("asset-card-unsupported");this.makeUnsupportedButton_("Not Available",a)};
69
- AssetCard.prototype.makeUnsupportedButton_=function(a,b){var c=this.addButton(a,function(){});c.setAttribute("disabled","");var d=this.card_.parentElement;if(d&&b){var e=document.createElement("div");c.parentElement&&c.parentElement.removeChild(c);e.classList.add("tooltip-attach-point");e.appendChild(c);this.actions_.appendChild(e);ShakaDemoTooltips.make(d,e,b)}return c};AssetCard.prototype.selectByAsset=function(a){this.card_.classList.remove("selected");this.asset_==a&&this.card_.classList.add("selected")};
70
- AssetCard.prototype.remakeButtons=function(){shaka.ui.Utils.removeAllChildren(this.actions_);this.remakeButtonsFn_(this)};
71
- AssetCard.prototype.addStoreButton=function(){var a=this,b=function(a,b){a.classList.add("asset-card-corner-button");var c=document.createElement("i");c.textContent=b;c.classList.add("material-icons");a.appendChild(c)},c=shakaDemoMain.getAssetUnsupportedReason(this.asset_,!0);if(c||!this.asset_.storeCallback)c=this.makeUnsupportedButton_("",c),b(c,"get_app");else if(this.asset_.isStored()){var d=this.addButton("",function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function g(){return $jscomp.generator.createGenerator(g,
72
- function(b){switch(b.nextAddress){case 1:return d.disabled=!0,b.yield(a.asset_.unstoreCallback(),2);case 2:a.remakeButtons(),b.jumpToEnd()}})})});b(d,"delete")}else{var e=this.addButton("",function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function g(){return $jscomp.generator.createGenerator(g,function(b){switch(b.nextAddress){case 1:return e.disabled=!0,b.yield(a.asset_.storeCallback(),2);case 2:a.remakeButtons(),b.jumpToEnd()}})})});b(e,"get_app")}};
73
- AssetCard.prototype.updateProgress=function(){if(1>this.asset_.storedProgress){this.progressBar_.classList.remove("hidden");for(var a=$jscomp.makeIterator(this.actions_.childNodes),b=a.next();!b.done;b=a.next())b.value.disabled=!0}else for(this.progressBar_.classList.add("hidden"),a=$jscomp.makeIterator(this.actions_.childNodes),b=a.next();!b.done;b=a.next())b.value.disabled=!1;this.progressBar_.setAttribute("value",this.asset_.storedProgress)};
74
- AssetCard.prototype.addButton=function(a,b){var c=document.createElement("button");c.classList.add("mdl-button");c.classList.add("mdl-button--colored");c.classList.add("mdl-js-button");c.classList.add("mdl-js-ripple-effect");c.textContent=a;c.addEventListener("click",function(){c.hasAttribute("disabled")||b()});this.actions_.appendChild(c);return c};var CloseButton=function(a,b){this.parent=a;this.button_=document.createElement("button");this.button_.classList.add("material-icons");this.button_.classList.add("close-button");this.button_.textContent="close";this.parent.appendChild(this.button_);this.button_.addEventListener("click",function(){document.fullscreenElement&&document.exitFullscreen();document.pictureInPictureElement&&document.exitPictureInPicture();shakaDemoMain.unload()})};CloseButton.prototype.destroy=function(){return Promise.resolve()};
75
- CloseButton.Factory=function(){};CloseButton.Factory.prototype.create=function(a,b){return new CloseButton(a,b)};var COMPILED=!0,goog=goog||{};goog.global=this;goog.isDef=function(a){return void 0!==a};goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]?c[d]:c[d]={}};
47
+ var COMPILED=!0,goog=goog||{};goog.global=this;goog.isDef=function(a){return void 0!==a};goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]?c[d]:c[d]={}};
76
48
  goog.define=function(a,b){var c=b;COMPILED||(goog.global.CLOSURE_UNCOMPILED_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,a)?c=goog.global.CLOSURE_UNCOMPILED_DEFINES[a]:goog.global.CLOSURE_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,a)&&(c=goog.global.CLOSURE_DEFINES[a]));goog.exportPath_(a,c)};goog.DEBUG=!0;goog.LOCALE="en";goog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;
77
49
  goog.provide=function(a){if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a];for(var b=a;(b=b.substring(0,b.lastIndexOf(".")))&&!goog.getObjectByName(b);)goog.implicitNamespaces_[b]=!0}goog.exportPath_(a)};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return!goog.implicitNamespaces_[a]&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={});
78
50
  goog.getObjectByName=function(a,b){for(var c=a.split("."),d=b||goog.global,e;e=c.shift();)if(goog.isDefAndNotNull(d[e]))d=d[e];else return null;return d};goog.globalize=function(a,b){b=b||goog.global;for(var c in a)b[c]=a[c]};goog.addDependency=function(a,b,c){if(goog.DEPENDENCIES_ENABLED){var d;a=a.replace(/\\/g,"/");for(var e=goog.dependencies_,f=0;d=b[f];f++)e.nameToPath[d]=a;for(d=0;b=c[d];d++)a in e.requires||(e.requires[a]={}),e.requires[a][b]=!0}};goog.ENABLE_DEBUG_LOADER=!0;
@@ -81,16 +53,47 @@ goog.DEPENDENCIES_ENABLED&&(goog.included_={},goog.dependencies_={nameToPath:{},
81
53
  c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}},goog.importScript_=function(a,b){(goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_)(a,b)&&(goog.dependencies_.written[a]=!0)},goog.writeScriptTag_=function(a,b){if(goog.inHtmlDocument_()){var c=goog.global.document;if("complete"==c.readyState){if(/\bdeps.js$/.test(a))return!1;throw Error('Cannot write "'+a+'" after document load');}void 0===b?c.write('<script type="text/javascript" src="'+a+'">\x3c/script>'):c.write('<script type="text/javascript">'+
82
54
  b+"\x3c/script>");return!0}return!1},goog.writeScripts_=function(){function a(e){if(!(e in d.written)){if(!(e in d.visited)&&(d.visited[e]=!0,e in d.requires))for(var f in d.requires[e])if(!goog.isProvided_(f))if(f in d.nameToPath)a(d.nameToPath[f]);else throw Error("Undefined nameToPath for "+f);e in c||(c[e]=!0,b.push(e))}}var b=[],c={},d=goog.dependencies_;for(f in goog.included_)d.written[f]||a(f);for(var e=0;e<b.length;e++){var f=b[e];goog.dependencies_.written[f]=!0}for(e=0;e<b.length;e++)(f=
83
55
  b[e])&&goog.importScript_(goog.basePath+f)},goog.getPathFromDeps_=function(a){return a in goog.dependencies_.nameToPath?goog.dependencies_.nameToPath[a]:null},goog.findBasePath_(),goog.global.CLOSURE_NO_DEPS||goog.importScript_(goog.basePath+"deps.js"));goog.isDefAndNotNull=function(a){return null!=a};goog.isString=function(a){return"string"==typeof a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,c)};goog.exportProperty=function(a,b,c){a[b]=c};
84
- goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(a,c,f){var d=Array.prototype.slice.call(arguments,2);return b.prototype[c].apply(a,d)}};COMPILED||(goog.global.COMPILED=COMPILED);goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.assert=function(){};goog.asserts.patchAssert_=function(){var a=console.assert;a?a.bind||(console.assert=function(){a.apply(console,arguments)}):console.assert=function(){}};goog.asserts.ENABLE_ASSERTS&&(goog.asserts.patchAssert_(),goog.asserts.assert=console.assert.bind(console));var ShakaDemoAssetInfo=function(a,b,c,d){this.name=a;this.shortName="";this.iconUri=b;this.manifestUri=c;this.source=d;this.disabled=this.focus=!1;this.extraText=[];this.certificateUri=null;this.description="";this.isFeatured=!1;this.drm=[shakaAssets.KeySystem.CLEAR];this.features=[];this.licenseServers=new Map;this.licenseRequestHeaders=new Map;this.drmCallback=this.responseFilter=this.requestFilter=null;this.clearKeys=new Map;this.extraConfig=null;this.storedProgress=1};
85
- ShakaDemoAssetInfo.prototype.addDescription=function(a){this.description=a;return this};ShakaDemoAssetInfo.prototype.addCertificateUri=function(a){this.certificateUri=a;return this};ShakaDemoAssetInfo.caseLessAlphaComparator_=function(a,b){return a.toLowerCase()<b.toLowerCase()?-1:a.toLowerCase()>b.toLowerCase()?1:0};
86
- ShakaDemoAssetInfo.prototype.addFeature=function(a){goog.asserts.assert(a!=shakaAssets.Feature.STORED,'Assets should not be given the synthetic "STORED" property!');this.features.push(a);this.features.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);return this};ShakaDemoAssetInfo.prototype.addKeySystem=function(a){1==this.drm.length&&this.drm[0]==shakaAssets.KeySystem.CLEAR&&(this.drm=[]);this.drm.push(a);this.drm.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);return this};
87
- ShakaDemoAssetInfo.prototype.setExtraConfig=function(a){this.extraConfig=a;return this};ShakaDemoAssetInfo.prototype.setRequestFilter=function(a){this.requestFilter=a;return this};ShakaDemoAssetInfo.prototype.setResponseFilter=function(a){this.responseFilter=a;return this};ShakaDemoAssetInfo.prototype.addLicenseServer=function(a,b){this.licenseServers.set(a,b);return this};ShakaDemoAssetInfo.prototype.addLicenseRequestHeader=function(a,b){this.licenseRequestHeaders.set(a,b);return this};
88
- ShakaDemoAssetInfo.prototype.addExtraText=function(a){this.extraText.push(a);return this};ShakaDemoAssetInfo.prototype.markAsFocused=function(){this.focus=!0;return this};ShakaDemoAssetInfo.prototype.markAsFeatured=function(a){this.isFeatured=!0;this.shortName=a||this.shortName;return this};ShakaDemoAssetInfo.prototype.markAsDisabled=function(){this.disabled=!0;return this};
89
- ShakaDemoAssetInfo.prototype.toJSON=function(){var a={},b;for(b in this){var c=this[b];if(c instanceof Map){var d={__type__:"map"};c=$jscomp.makeIterator(c.entries());for(var e=c.next();!e.done;e=c.next())e=e.value,d[e[0]]=e[1];a[b]=d}else a[b]=c}return a};
56
+ goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(a,c,f){var d=Array.prototype.slice.call(arguments,2);return b.prototype[c].apply(a,d)}};COMPILED||(goog.global.COMPILED=COMPILED);/*
57
+
58
+ Copyright 2016 Google Inc.
59
+
60
+ Licensed under the Apache License, Version 2.0 (the "License");
61
+ you may not use this file except in compliance with the License.
62
+ You may obtain a copy of the License at
63
+
64
+ http://www.apache.org/licenses/LICENSE-2.0
65
+
66
+ Unless required by applicable law or agreed to in writing, software
67
+ distributed under the License is distributed on an "AS IS" BASIS,
68
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
69
+ See the License for the specific language governing permissions and
70
+ limitations under the License.
71
+ */
72
+ var shakaDemo={AssetCard:function(a,b,c,d){this.card_=document.createElement("div");this.asset_=b;this.actions_=document.createElement("div");this.featureIconsContainer_=document.createElement("div");this.progressCircle_=document.createElement("div");this.progressCircleSvg_=document.createElementNS("http://www.w3.org/2000/svg","svg");this.progressCircleBack_=document.createElementNS("http://www.w3.org/2000/svg","circle");this.progressCircleBar_=document.createElementNS("http://www.w3.org/2000/svg",
73
+ "circle");this.remakeButtonsFn_=d;this.card_.classList.add("mdl-card-wide");this.card_.classList.add("mdl-card");this.card_.classList.add("mdl-shadow--2dp");this.card_.classList.add("asset-card");d=document.createElement("div");d.classList.add("mdl-card__title");this.card_.appendChild(d);var e=document.createElement("h2");e.classList.add("mdl-card__title-text");e.textContent=c?b.shortName||b.name:b.name;d.appendChild(e);if(b.iconUri){d=document.createElement("picture");e=document.createElement("source");
74
+ e.srcset=b.iconUri.replace(/.png$/,".webp");e.type="image/webp";var f=document.createElement("source");f.srcset=b.iconUri;f.type="image/png";var g=document.createElement("img");g.src=b.iconUri;g.alt="";d.appendChild(e);d.appendChild(f);d.appendChild(g);this.card_.appendChild(d)}b.description&&c&&(c=document.createElement("div"),c.classList.add("mdl-card__supporting-text"),c.textContent=b.description,this.card_.appendChild(c));this.card_.appendChild(this.featureIconsContainer_);this.addFeatureIcons_(b);
75
+ this.actions_.classList.add("mdl-card__actions");this.actions_.classList.add("mdl-card--border");this.card_.appendChild(this.actions_);this.progressCircle_.classList.add("hidden");this.progressCircle_.classList.add("progress-circle");this.card_.appendChild(this.progressCircle_);this.progressCircleSvg_.appendChild(this.progressCircleBack_);this.progressCircleSvg_.appendChild(this.progressCircleBar_);this.progressCircle_.appendChild(this.progressCircleSvg_);this.progressCircleSvg_.setAttribute("class",
76
+ "progress-circle-svg");this.progressCircleBack_.setAttribute("class","progress-circle-back");this.progressCircleBar_.setAttribute("class","progress-circle-bar");a.appendChild(this.card_);this.remakeButtons()}};shakaDemo.AssetCard.prototype.styleProgressCircle_=function(a){var b=this.progressCircleBar_,c=40*Math.PI;this.progressCircleSvg_.setAttribute("viewBox","0 0 45 45");b.setAttribute("stroke-dasharray",c);b.setAttribute("stroke-dashoffset",c*(1-a))};
77
+ shakaDemo.AssetCard.prototype.addFeatureIcon_=function(a,b){var c=document.createElement("div");c.classList.add("feature-icon");c.setAttribute("icon",a);this.featureIconsContainer_.appendChild(c);shakaDemo.Tooltips.make(c,b)};
78
+ shakaDemo.AssetCard.prototype.addFeatureIcons_=function(a){var b=shakaAssets.Feature,c=shakaAssets.KeySystem;b=(new Map).set(b.SUBTITLES,"subtitles").set(b.CAPTIONS,"closed_caption").set(b.LIVE,"live").set(b.TRICK_MODE,"trick_mode").set(b.HIGH_DEFINITION,"high_definition").set(b.ULTRA_HIGH_DEFINITION,"ultra_high_definition").set(b.SURROUND,"surround_sound").set(b.MULTIPLE_LANGUAGES,"multiple_languages").set(b.AUDIO_ONLY,"audio_only");for(var d=$jscomp.makeIterator(a.features),e=d.next();!e.done;e=
79
+ d.next()){e=e.value;var f=b.get(e);f&&this.addFeatureIcon_(f,e)}a=$jscomp.makeIterator(a.drm);for(b=a.next();!b.done;b=a.next())switch(b.value){case c.WIDEVINE:this.addFeatureIcon_("widevine","Widevine DRM");break;case c.CLEAR_KEY:this.addFeatureIcon_("clear_key","Clear Key DRM");break;case c.PLAYREADY:this.addFeatureIcon_("playready","PlayReady DRM")}};
80
+ shakaDemo.AssetCard.prototype.markAsUnsupported=function(a){this.card_.classList.add("asset-card-unsupported");this.makeUnsupportedButton_("Not Available",a)};shakaDemo.AssetCard.prototype.makeUnsupportedButton_=function(a,b){var c=this.addButton(a,function(){});c.setAttribute("disabled","");var d=document.createElement("div");c.parentElement&&c.parentElement.removeChild(c);d.classList.add("tooltip-attach-point");d.appendChild(c);this.actions_.appendChild(d);shakaDemo.Tooltips.make(d,b);return c};
81
+ shakaDemo.AssetCard.prototype.selectByAsset=function(a){this.card_.classList.remove("selected");this.asset_==a&&this.card_.classList.add("selected")};shakaDemo.AssetCard.prototype.remakeButtons=function(){shaka.ui.Utils.removeAllChildren(this.actions_);this.remakeButtonsFn_(this)};
82
+ shakaDemo.AssetCard.prototype.addStoreButton=function(){var a=this,b=function(a,b,c){b.classList.add("asset-card-corner-button");b=document.createElement("i");b.textContent=c;b.classList.add("material-icons");a.appendChild(b)},c=shakaDemoMain.getAssetUnsupportedReason(this.asset_,!0);c||goog.asserts.assert(this.asset_.storeCallback,"A storage callback is expected for all supported assets!");if(c)c=this.makeUnsupportedButton_("",c),b(c,c.parentElement||c,"get_app");else if(this.asset_.isStored()){var d=
83
+ this.addButton("",function(){a.makeDeleteDialog_(d)});b(d,d,"offline_pin")}else{var e=this.addButton("",function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function g(){return $jscomp.generator.createGenerator(g,function(b){switch(b.nextAddress){case 1:return e.disabled=!0,b.yield(a.asset_.storeCallback(),2);case 2:a.remakeButtons(),b.jumpToEnd()}})})});b(e,e,"get_app")}};
84
+ shakaDemo.AssetCard.prototype.makeDeleteDialog_=function(a){var b=this,c=this.card_.parentElement;if(c){var d=document.createElement("dialog");d.classList.add("mdl-dialog");c.appendChild(d);d.showModal||dialogPolyfill.registerDialog(d);c=document.createElement("h2");c.classList.add("mdl-typography--title");c.textContent="Delete the offline copy?";d.appendChild(c);var e=document.createElement("div");d.appendChild(e);c=function(a,b){var c=document.createElement("button");c.textContent=a;c.classList.add("mdl-button");
85
+ c.classList.add("mdl-button--colored");c.classList.add("mdl-js-button");c.classList.add("mdl-js-ripple-effect");c.addEventListener("click",function(){b()});e.appendChild(c);c.blur()};c("Yes",function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function g(){return $jscomp.generator.createGenerator(g,function(c){switch(c.nextAddress){case 1:return d.close(),a.disabled=!0,c.yield(b.asset_.unstoreCallback(),2);case 2:b.remakeButtons(),c.jumpToEnd()}})})});c("No",function(){d.close()});d.showModal()}};
86
+ shakaDemo.AssetCard.prototype.updateProgress=function(){if(1>this.asset_.storedProgress){this.progressCircle_.classList.remove("hidden");for(var a=$jscomp.makeIterator(this.actions_.childNodes),b=a.next();!b.done;b=a.next())b.value.disabled=!0}else for(this.progressCircle_.classList.add("hidden"),a=$jscomp.makeIterator(this.actions_.childNodes),b=a.next();!b.done;b=a.next())b.value.disabled=!1;this.styleProgressCircle_(this.asset_.storedProgress)};
87
+ shakaDemo.AssetCard.prototype.addButton=function(a,b){var c=document.createElement("button");c.classList.add("mdl-button");c.classList.add("mdl-button--colored");c.classList.add("mdl-js-button");c.classList.add("mdl-js-ripple-effect");c.textContent=a;c.addEventListener("click",function(){c.hasAttribute("disabled")||b()});this.actions_.appendChild(c);return c};shakaDemo.CloseButton=function(a,b){var c=shaka.ui.Element.call(this,a,b)||this;c.button_=document.createElement("button");c.button_.classList.add("material-icons");c.button_.classList.add("close-button");c.button_.textContent="close";c.parent.appendChild(c.button_);c.button_.addEventListener("click",function(){shakaDemoMain.unload()});return c};$jscomp.inherits(shakaDemo.CloseButton,shaka.ui.Element);shakaDemo.CloseButton.prototype.destroy=function(){return Promise.resolve()};
88
+ shakaDemo.CloseButton.Factory=function(){};shakaDemo.CloseButton.Factory.prototype.create=function(a,b){return new shakaDemo.CloseButton(a,b)};var ShakaDemoAssetInfo=function(a,b,c,d){this.name=a;this.shortName="";this.iconUri=b;this.manifestUri=c;this.source=d;this.disabled=this.focus=!1;this.extraText=[];this.certificateUri=null;this.description="";this.isFeatured=!1;this.drm=[shakaAssets.KeySystem.CLEAR];this.features=[];this.licenseServers=new Map;this.licenseRequestHeaders=new Map;this.drmCallback=this.responseFilter=this.requestFilter=null;this.clearKeys=new Map;this.extraConfig=null;this.storedProgress=1};
89
+ ShakaDemoAssetInfo.prototype.addDescription=function(a){this.description=a;return this};ShakaDemoAssetInfo.prototype.addCertificateUri=function(a){this.certificateUri=a;return this};ShakaDemoAssetInfo.caseLessAlphaComparator_=function(a,b){return a.toLowerCase()<b.toLowerCase()?-1:a.toLowerCase()>b.toLowerCase()?1:0};ShakaDemoAssetInfo.prototype.addFeature=function(a){this.features.push(a);this.features.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);return this};
90
+ ShakaDemoAssetInfo.prototype.addKeySystem=function(a){this.isClear()&&(this.drm=[]);this.drm.push(a);this.drm.sort(ShakaDemoAssetInfo.caseLessAlphaComparator_);return this};ShakaDemoAssetInfo.prototype.isClear=function(){return 1==this.drm.length&&this.drm[0]==shakaAssets.KeySystem.CLEAR};ShakaDemoAssetInfo.prototype.setExtraConfig=function(a){this.extraConfig=a;return this};ShakaDemoAssetInfo.prototype.setRequestFilter=function(a){this.requestFilter=a;return this};
91
+ ShakaDemoAssetInfo.prototype.setResponseFilter=function(a){this.responseFilter=a;return this};ShakaDemoAssetInfo.prototype.addLicenseServer=function(a,b){this.licenseServers.set(a,b);return this};ShakaDemoAssetInfo.prototype.addLicenseRequestHeader=function(a,b){this.licenseRequestHeaders.set(a,b);return this};ShakaDemoAssetInfo.prototype.addExtraText=function(a){this.extraText.push(a);return this};ShakaDemoAssetInfo.prototype.markAsFocused=function(){this.focus=!0;return this};
92
+ ShakaDemoAssetInfo.prototype.markAsFeatured=function(a){this.isFeatured=!0;this.shortName=a||this.shortName;return this};ShakaDemoAssetInfo.prototype.markAsDisabled=function(){this.disabled=!0;return this};ShakaDemoAssetInfo.prototype.toJSON=function(){var a={},b;for(b in this){var c=this[b];if(c instanceof Map){var d={__type__:"map"};c=$jscomp.makeIterator(c.entries());for(var e=c.next();!e.done;e=c.next())e=e.value,d[e[0]]=e[1];a[b]=d}else a[b]=c}return a};
90
93
  ShakaDemoAssetInfo.prototype.applyFilters=function(a){var b=this;a.clearAllRequestFilters();a.clearAllResponseFilters();this.licenseRequestHeaders.size&&a.registerRequestFilter(function(a,d){return b.addLicenseRequestHeaders_(b.licenseRequestHeaders,a,d)});this.requestFilter&&a.registerRequestFilter(this.requestFilter);this.responseFilter&&a.registerResponseFilter(this.responseFilter)};
91
94
  ShakaDemoAssetInfo.prototype.getConfiguration=function(){var a={drm:{},manifest:{dash:{}}};this.licenseServers.size&&(a.drm.servers={},this.licenseServers.forEach(function(b,d){a.drm.servers[d]=b}));this.drmCallback&&(a.manifest.dash.customScheme=this.drmCallback);this.clearKeys.size&&(a.drm.clearKeys={},this.clearKeys.forEach(function(b,d){a.drm.clearKeys[d]=b}));if(this.extraConfig)for(var b in this.extraConfig)a[b]=this.extraConfig[b];return a};
92
95
  ShakaDemoAssetInfo.prototype.addLicenseRequestHeaders_=function(a,b,c){b==shaka.net.NetworkingEngine.RequestType.LICENSE&&a.forEach(function(a,b){c.headers[b]=a})};ShakaDemoAssetInfo.prototype.isStored=function(){return null!=this.storedContent};ShakaDemoAssetInfo.makeBlankAsset=function(){return new ShakaDemoAssetInfo("","","",shakaAssets.Source.CUSTOM)};
93
- ShakaDemoAssetInfo.fromJSON=function(a){var b={},c;for(c in a){var d=a[c];if(d&&"object"==typeof d&&"map"==d.__type__){var e=new Map,f;for(f in d)"__type__"!=f&&e.set(f,d[f]);b[c]=e}else b[c]=d}a=ShakaDemoAssetInfo.makeBlankAsset();Object.assign(a,b);return a};var shakaAssets={Source:{UNKNOWN:"Unknown",CUSTOM:"Custom",SHAKA:"Shaka",AXINOM:"Axinom",UNIFIED_STREAMING:"Unified Streaming",DASH_IF:"DASH-IF",WOWZA:"Wowza",BITCODIN:"Bitcodin",NIMBLE_STREAMER:"Nimble Streamer",AZURE_MEDIA_SERVICES:"Azure Media Services",GPAC:"GPAC",UPLYNK:"Verizon Digital Media Services"},KeySystem:{CLEAR_KEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps.1_0",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha",CLEAR:"no drm protection"},Feature:{MULTIKEY:"multiple keys",
96
+ ShakaDemoAssetInfo.fromJSON=function(a){var b={},c;for(c in a){var d=a[c];if(d&&"object"==typeof d&&"map"==d.__type__){var e=new Map,f;for(f in d)"__type__"!=f&&e.set(f,d[f]);b[c]=e}else b[c]=d}a=ShakaDemoAssetInfo.makeBlankAsset();Object.assign(a,b);return a};var shakaAssets={Source:{UNKNOWN:"Unknown",CUSTOM:"Custom",SHAKA:"Shaka",AXINOM:"Axinom",UNIFIED_STREAMING:"Unified Streaming",DASH_IF:"DASH-IF",WOWZA:"Wowza",BITCODIN:"Bitcodin",NIMBLE_STREAMER:"Nimble Streamer",AZURE_MEDIA_SERVICES:"Azure Media Services",GPAC:"GPAC",UPLYNK:"Verizon Digital Media Services",APPLE:"Apple",IRT:"IRT"},KeySystem:{CLEAR_KEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps.1_0",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha",CLEAR:"no drm protection"},Feature:{MULTIKEY:"multiple keys",
94
97
  MULTIPERIOD:"multiple Periods",ENCRYPTED_WITH_CLEAR:"mixing encrypted and unencrypted periods",AESCTR_16_BYTE_IV:"encrypted with AES CTR Mode using a 16 byte IV",AESCTR_8_BYTE_IV:"encrypted with AES CTR Mode using a 8 byte IV",TRICK_MODE:"Special trick mode track",XLINK:"XLink",SUBTITLES:"Subtitles",CAPTIONS:"Captions",EMBEDDED_TEXT:"embedded text",MULTIPLE_LANGUAGES:"multiple languages",AUDIO_ONLY:"audio only",OFFLINE:"Downloadable",STORED:"Downloaded",LIVE:"Live",WEBM:"WebM",MP4:"MP4",MP2TS:"MPEG-2 TS",
95
98
  TTML:"TTML",WEBVTT:"WebVTT",HIGH_DEFINITION:"High definition",ULTRA_HIGH_DEFINITION:"Ultra-high definition",SURROUND:"Surround sound",DASH:"DASH",HLS:"HLS"},UplynkResponseFilter:function(a,b){a==shaka.net.NetworkingEngine.RequestType.MANIFEST&&(shakaAssets.uplynk_prefix=b.headers["x-uplynk-prefix"]?b.headers["x-uplynk-prefix"]:"")},UplynkRequestFilter:function(a,b){a==shaka.net.NetworkingEngine.RequestType.LICENSE&&(b.uris[0].includes("wv")&&shakaAssets.uplynk_prefix?b.uris[0]=shakaAssets.uplynk_prefix.concat("/wv"):
96
99
  b.uris[0].includes("ck")&&shakaAssets.uplynk_prefix?b.uris[0]=shakaAssets.uplynk_prefix.concat("/ck"):b.uris[0].includes("pr")&&shakaAssets.uplynk_prefix&&(b.uris[0]=shakaAssets.uplynk_prefix.concat("/pr")))}};
@@ -125,7 +128,8 @@ shakaAssets.Source.SHAKA)).addFeature(shakaAssets.Feature.DASH).addFeature(shaka
125
128
  (new ShakaDemoAssetInfo("Clear, multi-Period","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://media.axprod.net/TestVectors/v7-Clear/Manifest_MultiPeriod.mpd",shakaAssets.Source.AXINOM)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.MULTIPERIOD).addFeature(shakaAssets.Feature.TTML).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.ULTRA_HIGH_DEFINITION).addFeature(shakaAssets.Feature.WEBVTT).addFeature(shakaAssets.Feature.OFFLINE),
126
129
  (new ShakaDemoAssetInfo("Clear, Live DASH","https://storage.googleapis.com/shaka-asset-icons/axinom_test.png","https://akamai-axtest.akamaized.net/routes/lapd-v1-acceptance/www_c4/Manifest.mpd",shakaAssets.Source.AXINOM)).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MULTIPERIOD).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.WEBVTT),(new ShakaDemoAssetInfo("Clear, Live HLS",
127
130
  "https://storage.googleapis.com/shaka-asset-icons/axinom_test.png","https://akamai-axtest.akamaized.net/routes/lapd-v1-acceptance/www_c4/Manifest.m3u8",shakaAssets.Source.AXINOM)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.LIVE).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.HIGH_DEFINITION),(new ShakaDemoAssetInfo("Tears of Steel","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://demo.unified-streaming.com/video/tears-of-steel/tears-of-steel.ism/.mpd",
128
- shakaAssets.Source.UNIFIED_STREAMING)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Tears of Steel (Widevine)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://demo.unified-streaming.com/video/tears-of-steel/tears-of-steel-dash-widevine.ism/.mpd",shakaAssets.Source.UNIFIED_STREAMING)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.TTML).addLicenseServer("com.widevine.alpha",
131
+ shakaAssets.Source.UNIFIED_STREAMING)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Tears of Steel (HLS, Subtitles)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://demo.unified-streaming.com/video/tears-of-steel/tears-of-steel-multiple-subtitles.ism/.m3u8",shakaAssets.Source.UNIFIED_STREAMING)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.WEBVTT).addFeature(shakaAssets.Feature.OFFLINE),
132
+ (new ShakaDemoAssetInfo("Tears of Steel (Widevine)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://demo.unified-streaming.com/video/tears-of-steel/tears-of-steel-dash-widevine.ism/.mpd",shakaAssets.Source.UNIFIED_STREAMING)).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.TTML).addLicenseServer("com.widevine.alpha",
129
133
  "https://cwip-shaka-proxy.appspot.com/no_auth"),(new ShakaDemoAssetInfo("Tears of Steel (PlayReady)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://demo.unified-streaming.com/video/tears-of-steel/tears-of-steel-dash-playready.ism/.mpd",shakaAssets.Source.UNIFIED_STREAMING)).addKeySystem(shakaAssets.KeySystem.PLAYREADY).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.TTML).addLicenseServer("com.microsoft.playready",
130
134
  "https://test.playready.microsoft.com/service/rightsmanager.asmx?PlayRight=1&UseSimpleNonPersistentLicense=1"),(new ShakaDemoAssetInfo("Tears of Steel (subtitles)","https://storage.googleapis.com/shaka-asset-icons/tears_of_steel.png","https://demo.unified-streaming.com/video/tears-of-steel/tears-of-steel-en.ism/.mpd",shakaAssets.Source.UNIFIED_STREAMING)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.TTML).addFeature(shakaAssets.Feature.OFFLINE),
131
135
  (new ShakaDemoAssetInfo("Big Buck Bunny (DASH-IF)","https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png","https://dash.akamaized.net/dash264/TestCases/1c/qualcomm/2/MultiRate.mpd",shakaAssets.Source.DASH_IF)).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Live sim (2s segments)","https://storage.googleapis.com/shaka-asset-icons/dash_if_test_pattern.png",
@@ -149,134 +153,143 @@ language:"es",kind:"subtitle",mime:"text/vtt"}).addExtraText({uri:"https://ams-s
149
153
  "https://content.uplynk.com/pr").addLicenseServer("com.widevine.alpha","https://content.uplynk.com/wv").setRequestFilter(shakaAssets.UplynkRequestFilter).setResponseFilter(shakaAssets.UplynkResponseFilter),(new ShakaDemoAssetInfo("Multi DRM - MultiPeriod - 8 Byte IV","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://content.uplynk.com/054225d59be2454fabdca3e96912d847.mpd?ad=cleardash&pr.version=2&pr.playenabler=B621D91F-EDCC-4035-8D4B-DC71760D43E9&pr.securitylevel=150",shakaAssets.Source.UPLYNK)).addKeySystem(shakaAssets.KeySystem.PLAYREADY).addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.SUBTITLES).addFeature(shakaAssets.Feature.MULTIKEY).addFeature(shakaAssets.Feature.MULTIPERIOD).addFeature(shakaAssets.Feature.WEBVTT).addFeature(shakaAssets.Feature.AESCTR_8_BYTE_IV).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addLicenseServer("com.microsoft.playready",
150
154
  "https://content.uplynk.com/pr").addLicenseServer("com.widevine.alpha","https://content.uplynk.com/wv").setRequestFilter(shakaAssets.UplynkRequestFilter).setResponseFilter(shakaAssets.UplynkResponseFilter),(new ShakaDemoAssetInfo("Widevine - 16 Byte IV","https://storage.googleapis.com/shaka-asset-icons/big_buck_bunny.png","https://content.uplynk.com/224ac8717e714b68831997ab6cea4015.mpd",shakaAssets.Source.UPLYNK)).markAsDisabled().addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIKEY).addFeature(shakaAssets.Feature.AESCTR_16_BYTE_IV).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addLicenseServer("com.widevine.alpha",
151
155
  "https://content.uplynk.com/wv").setRequestFilter(shakaAssets.UplynkRequestFilter).setResponseFilter(shakaAssets.UplynkResponseFilter),(new ShakaDemoAssetInfo("Widevine - 16 Byte IV - (mix of encrypted and unencrypted periods)","https://storage.googleapis.com/shaka-asset-icons/sintel.png","https://content.uplynk.com/1eb40d8e64234f5c9879db7045c3d48c.mpd?ad=cleardash&rays=cdefg",shakaAssets.Source.UPLYNK)).markAsDisabled().addKeySystem(shakaAssets.KeySystem.WIDEVINE).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.MULTIPLE_LANGUAGES).addFeature(shakaAssets.Feature.MULTIPERIOD).addFeature(shakaAssets.Feature.MULTIKEY).addFeature(shakaAssets.Feature.HIGH_DEFINITION).addFeature(shakaAssets.Feature.AESCTR_16_BYTE_IV).addFeature(shakaAssets.Feature.ENCRYPTED_WITH_CLEAR).addLicenseServer("com.widevine.alpha",
152
- "https://content.uplynk.com/wv").setRequestFilter(shakaAssets.UplynkRequestFilter).setResponseFilter(shakaAssets.UplynkResponseFilter)];var shakaDemoConfig,ShakaDemoConfig=function(a){var b=this;this.container_=a;this.sections_=[];this.latestInput_=null;this.addedFields_=new Set;this.reload_();document.addEventListener("shaka-main-config-change",function(){b.reloadAndSaveState_()});document.addEventListener("shaka-main-drawer-state-change",function(){b.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())});this.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())};
153
- ShakaDemoConfig.init=function(){var a=shakaDemoMain.getHamburgerMenu();shakaDemoConfig=new ShakaDemoConfig(a)};ShakaDemoConfig.prototype.setContentAvailability_=function(a){a?this.container_.classList.remove("hidden"):this.container_.classList.add("hidden")};
154
- ShakaDemoConfig.prototype.reload_=function(){shaka.ui.Utils.removeAllChildren(this.container_);this.sections_=[];this.addMetaSection_();this.addLanguageSection_();this.addAbrSection_();this.addOfflineSection_();this.addDrmSection_();this.addStreamingSection_();this.addManifestSection_();this.addRetrictionsSection_("","");this.checkSectionCompleteness_();this.checkSectionValidity_()};
155
- ShakaDemoConfig.prototype.reloadAndSaveState_=function(){var a=this.sections_.map(function(a){return a.getIsOpen()});this.reload_();for(var b=0;b<a.length;b++){var c=this.sections_[b];a[b]&&c.open()}componentHandler.upgradeDom()};
156
- ShakaDemoConfig.prototype.addDrmSection_=function(){var a=this,b=this.resolveExternLink_(".DrmConfiguration");this.addSection_("DRM",b).addBoolInput_("Delay License Request Until Played","drm.delayLicenseRequestUntilPlayed");var c=shakaDemoMain.getConfiguration().drm.advanced,d=["SW_SECURE_CRYPTO","SW_SECURE_DECODE","HW_SECURE_CRYPTO","HW_SECURE_DECODE","HW_SECURE_ALL"];b=function(b,f){a.addDatalistInput_(b,d,function(a){for(var b=$jscomp.makeIterator(ShakaDemoMain.commonDrmSystems),d=b.next();!d.done;d=
156
+ "https://content.uplynk.com/wv").setRequestFilter(shakaAssets.UplynkRequestFilter).setResponseFilter(shakaAssets.UplynkResponseFilter),(new ShakaDemoAssetInfo("Apple Advanced HLS Stream (fMP4)","https://storage.googleapis.com/shaka-asset-icons/apple_test_pattern.png","https://storage.googleapis.com/shaka-demo-assets/apple-advanced-stream-fmp4/master.m3u8",shakaAssets.Source.APPLE)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.CAPTIONS).addFeature(shakaAssets.Feature.WEBVTT).addFeature(shakaAssets.Feature.OFFLINE),
157
+ (new ShakaDemoAssetInfo("Apple Advanced HLS Stream (TS)","https://storage.googleapis.com/shaka-asset-icons/apple_test_pattern.png","https://storage.googleapis.com/shaka-demo-assets/apple-advanced-stream-ts/master.m3u8",shakaAssets.Source.APPLE)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP2TS).addFeature(shakaAssets.Feature.CAPTIONS).addFeature(shakaAssets.Feature.WEBVTT).addFeature(shakaAssets.Feature.OFFLINE),(new ShakaDemoAssetInfo("Bayerischer Rundfunk Recorded Loop (DASH)",
158
+ "https://storage.googleapis.com/shaka-asset-icons/bayerischer_rundfunk.png","https://irtdashreference-i.akamaihd.net/dash/live/901161/keepixo1/manifestBR2.mpd",shakaAssets.Source.IRT)).addFeature(shakaAssets.Feature.DASH).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.LIVE),(new ShakaDemoAssetInfo("Bayerischer Rundfunk Recorded Loop (HLS)","https://storage.googleapis.com/shaka-asset-icons/bayerischer_rundfunk.png","https://irtdashreference-i.akamaihd.net/dash/live/901161/keepixo1/playlistBR2.m3u8",
159
+ shakaAssets.Source.IRT)).addFeature(shakaAssets.Feature.HLS).addFeature(shakaAssets.Feature.MP4).addFeature(shakaAssets.Feature.LIVE)];var shakaDemoConfig;shakaDemo.Config=function(a){var b=this;this.container_=a;this.sections_=[];this.latestInput_=null;this.addedFields_=new Set;this.reload_();document.addEventListener("shaka-main-config-change",function(){b.reloadAndSaveState_()});document.addEventListener("shaka-main-drawer-state-change",function(){b.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())});this.setContentAvailability_(shakaDemoMain.getIsDrawerOpen())};
160
+ shakaDemo.Config.init=function(){var a=shakaDemoMain.getHamburgerMenu();shakaDemoConfig=new shakaDemo.Config(a)};shakaDemo.Config.prototype.setContentAvailability_=function(a){a?this.container_.classList.remove("hidden"):this.container_.classList.add("hidden")};
161
+ shakaDemo.Config.prototype.reload_=function(){shaka.ui.Utils.removeAllChildren(this.container_);this.sections_=[];this.addMetaSection_();this.addLanguageSection_();this.addAbrSection_();this.addOfflineSection_();this.addDrmSection_();this.addStreamingSection_();this.addManifestSection_();this.addRetrictionsSection_("","");this.checkSectionCompleteness_();this.checkSectionValidity_()};
162
+ shakaDemo.Config.prototype.reloadAndSaveState_=function(){var a=this.sections_.map(function(a){return a.getIsOpen()});this.reload_();for(var b=0;b<a.length;b++){var c=this.sections_[b];a[b]&&c.open()}componentHandler.upgradeDom()};
163
+ shakaDemo.Config.prototype.addDrmSection_=function(){var a=this,b=this.resolveExternLink_(".DrmConfiguration");this.addSection_("DRM",b).addBoolInput_("Delay License Request Until Played","drm.delayLicenseRequestUntilPlayed");var c=shakaDemoMain.getConfiguration().drm.advanced,d=["SW_SECURE_CRYPTO","SW_SECURE_DECODE","HW_SECURE_CRYPTO","HW_SECURE_DECODE","HW_SECURE_ALL"];b=function(b,f){a.addDatalistInput_(b,d,function(a){for(var b=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),d=b.next();!d.done;d=
157
164
  b.next())d=d.value,d in c||(c[d]={distinctiveIdentifierRequired:!1,persistentStateRequired:!1,videoRobustness:"",audioRobustness:"",serverCertificate:null,individualizationServer:""});for(var e in c)c[e][f]=a.value;shakaDemoMain.configure("drm.advanced",c);shakaDemoMain.remakeHash()});goog.asserts.assert(c,"Advanced config should exist!");var e=Object.keys(c)[0];e&&(e=c[e][f],a.latestInput_.input().value=e)};b("Video Robustness","videoRobustness");b("Audio Robustness","audioRobustness");this.addRetrySection_("drm",
158
165
  "DRM")};
159
- ShakaDemoConfig.prototype.addManifestSection_=function(){var a=this.resolveExternLink_(".ManifestConfiguration");this.addSection_("Manifest",a).addBoolInput_("Ignore DASH DRM Info","manifest.dash.ignoreDrmInfo").addBoolInput_("Auto-Correct DASH Drift","manifest.dash.autoCorrectDrift").addBoolInput_("Xlink Should Fail Gracefully","manifest.dash.xlinkFailGracefully").addNumberInput_("Availability Window Override","manifest.availabilityWindowOverride",!0,!1,!0).addTextInput_("Clock Sync URI","manifest.dash.clockSyncUri").addBoolInput_("Ignore DRM Info",
166
+ shakaDemo.Config.prototype.addManifestSection_=function(){var a=this.resolveExternLink_(".ManifestConfiguration");this.addSection_("Manifest",a).addBoolInput_("Ignore DASH DRM Info","manifest.dash.ignoreDrmInfo").addBoolInput_("Auto-Correct DASH Drift","manifest.dash.autoCorrectDrift").addBoolInput_("Xlink Should Fail Gracefully","manifest.dash.xlinkFailGracefully").addNumberInput_("Availability Window Override","manifest.availabilityWindowOverride",!0,!1,!0).addTextInput_("Clock Sync URI","manifest.dash.clockSyncUri").addBoolInput_("Ignore DRM Info",
160
167
  "manifest.dash.ignoreDrmInfo").addNumberInput_("Default Presentation Delay","manifest.dash.defaultPresentationDelay").addBoolInput_("Ignore Min Buffer Time","manifest.dash.ignoreMinBufferTime");this.addRetrySection_("manifest","Manifest")};
161
- ShakaDemoConfig.prototype.addAbrSection_=function(){var a=this.resolveExternLink_(".AbrConfiguration");this.addSection_("Adaptation",a).addBoolInput_("Enabled","abr.enabled").addNumberInput_("Default Bandwidth Estimate","abr.defaultBandwidthEstimate").addNumberInput_("Bandwidth Downgrade Target","abr.bandwidthDowngradeTarget",!0).addNumberInput_("Bandwidth Upgrade Target","abr.bandwidthUpgradeTarget",!0).addNumberInput_("Switch Interval","abr.switchInterval",!0);this.addRetrictionsSection_("abr",
168
+ shakaDemo.Config.prototype.addAbrSection_=function(){var a=this.resolveExternLink_(".AbrConfiguration");this.addSection_("Adaptation",a).addBoolInput_("Enabled","abr.enabled").addNumberInput_("Default Bandwidth Estimate","abr.defaultBandwidthEstimate").addNumberInput_("Bandwidth Downgrade Target","abr.bandwidthDowngradeTarget",!0).addNumberInput_("Bandwidth Upgrade Target","abr.bandwidthUpgradeTarget",!0).addNumberInput_("Switch Interval","abr.switchInterval",!0);this.addRetrictionsSection_("abr",
162
169
  "Adaptation")};
163
- ShakaDemoConfig.prototype.addRetrictionsSection_=function(a,b){var c=(a?a+".":"")+"restrictions.",d=(b?b+" ":"")+"Restrictions",e=this.resolveExternLink_(".Restrictions");this.addSection_(d,e).addNumberInput_("Min Width",c+"minWidth").addNumberInput_("Max Width",c+"maxWidth").addNumberInput_("Min Height",c+"minHeight").addNumberInput_("Max Height",c+"maxHeight").addNumberInput_("Min Pixels",c+"minPixels").addNumberInput_("Max Pixels",c+"maxPixels").addNumberInput_("Min Bandwidth",c+"minBandwidth").addNumberInput_("Max Bandwidth",
164
- c+"maxBandwidth")};ShakaDemoConfig.prototype.addRetrySection_=function(a,b){var c=a+".retryParameters.",d=this.resolveExternLink_(".RetryParameters");this.addSection_(b+" Retry Parameters",d).addNumberInput_("Max Attempts",c+"maxAttempts").addNumberInput_("Base Delay",c+"baseDelay",!0).addNumberInput_("Backoff Factor",c+"backoffFactor",!0).addNumberInput_("Fuzz Factor",c+"fuzzFactor",!0).addNumberInput_("Timeout",c+"timeout",!0)};
165
- ShakaDemoConfig.prototype.addOfflineSection_=function(){var a=this.resolveExternLink_(".OfflineConfiguration");this.addSection_("Offline",a).addBoolInput_("Use Persistent Licenses","offline.usePersistentLicense")};
166
- ShakaDemoConfig.prototype.addStreamingSection_=function(){var a=this.resolveExternLink_(".StreamingConfiguration");this.addSection_("Streaming",a).addNumberInput_("Maximum Small Gap Size","streaming.smallGapLimit",!0).addNumberInput_("Buffering Goal","streaming.bufferingGoal",!0).addNumberInput_("Duration Backoff","streaming.durationBackoff",!0).addNumberInput_("Rebuffering Goal","streaming.rebufferingGoal",!0).addNumberInput_("Buffer Behind","streaming.bufferBehind",!0).addNumberInput_("Safe Seek Offset",
170
+ shakaDemo.Config.prototype.addRetrictionsSection_=function(a,b){var c=(a?a+".":"")+"restrictions.",d=(b?b+" ":"")+"Restrictions",e=this.resolveExternLink_(".Restrictions");this.addSection_(d,e).addNumberInput_("Min Width",c+"minWidth").addNumberInput_("Max Width",c+"maxWidth").addNumberInput_("Min Height",c+"minHeight").addNumberInput_("Max Height",c+"maxHeight").addNumberInput_("Min Pixels",c+"minPixels").addNumberInput_("Max Pixels",c+"maxPixels").addNumberInput_("Min Bandwidth",c+"minBandwidth").addNumberInput_("Max Bandwidth",
171
+ c+"maxBandwidth")};shakaDemo.Config.prototype.addRetrySection_=function(a,b){var c=a+".retryParameters.",d=this.resolveExternLink_(".RetryParameters");this.addSection_(b+" Retry Parameters",d).addNumberInput_("Max Attempts",c+"maxAttempts").addNumberInput_("Base Delay",c+"baseDelay",!0).addNumberInput_("Backoff Factor",c+"backoffFactor",!0).addNumberInput_("Fuzz Factor",c+"fuzzFactor",!0).addNumberInput_("Timeout",c+"timeout",!0)};
172
+ shakaDemo.Config.prototype.addOfflineSection_=function(){var a=this.resolveExternLink_(".OfflineConfiguration");this.addSection_("Offline",a).addBoolInput_("Use Persistent Licenses","offline.usePersistentLicense")};
173
+ shakaDemo.Config.prototype.addStreamingSection_=function(){var a=this.resolveExternLink_(".StreamingConfiguration");this.addSection_("Streaming",a).addNumberInput_("Maximum Small Gap Size","streaming.smallGapLimit",!0).addNumberInput_("Buffering Goal","streaming.bufferingGoal",!0).addNumberInput_("Duration Backoff","streaming.durationBackoff",!0).addNumberInput_("Rebuffering Goal","streaming.rebufferingGoal",!0).addNumberInput_("Buffer Behind","streaming.bufferBehind",!0).addNumberInput_("Safe Seek Offset",
167
174
  "streaming.safeSeekOffset",!0).addNumberInput_("Stall Threshold","streaming.stallThreshold",!0).addNumberInput_("Safe Skip Distance","streaming.stallSkip",!0);shakaDemoMain.getNativeControlsEnabled()?(this.addCustomBoolInput_("Always Stream Text",function(a){},"Text must always be streamed while native controls are enabled, for captions to work."),this.latestInput_.input().disabled=!0,this.latestInput_.input().checked=!0):this.addBoolInput_("Always Stream Text","streaming.alwaysStreamText");this.addBoolInput_("Jump Large Gaps",
168
175
  "streaming.jumpLargeGaps").addBoolInput_("Force Transmux TS","streaming.forceTransmuxTS").addBoolInput_("Start At Segment Boundary","streaming.startAtSegmentBoundary").addBoolInput_("Ignore Text Stream Failures","streaming.ignoreTextStreamFailures").addBoolInput_("Stall Detector Enabled","streaming.stallEnabled");this.addRetrySection_("streaming","Streaming")};
169
- ShakaDemoConfig.prototype.addLanguageSection_=function(){var a=this.resolveExternLink_(".PlayerConfiguration");this.addSection_("Language",a).addTextInput_("Preferred Audio Language","preferredAudioLanguage").addTextInput_("Preferred Text Language","preferredTextLanguage");this.addCustomTextInput_("Preferred UI Locale",function(a){shakaDemoMain.setUILocale(a.value)});this.latestInput_.input().value=shakaDemoMain.getUILocale();this.addNumberInput_("Preferred Audio Channel Count","preferredAudioChannelCount")};
170
- ShakaDemoConfig.prototype.addMetaSection_=function(){var a=this;this.addSection_("",null);this.addCustomBoolInput_("Shaka Controls",function(b){shakaDemoMain.setNativeControlsEnabled(!b.checked);b.checked&&(shakaDemoMain.configure("streaming.alwaysStreamText",!0),shakaDemoMain.remakeHash());a.reloadAndSaveState_()});shakaDemoMain.getNativeControlsEnabled()||(this.latestInput_.input().checked=!0);if(shaka.log){var b=shaka.log.Level,c=shaka.log.setLevel;this.addSelectInput_("Log Level",{info:"Info",
171
- debug:"Debug",v:"Verbose",vv:"Very Verbose"},function(a){switch(a.value){case "info":c(b.INFO);break;case "debug":c(b.DEBUG);break;case "vv":c(b.V2);break;case "v":c(b.V1)}shakaDemoMain.remakeHash()});var d=this.latestInput_.input();switch(shaka.log.currentLevel){case b.DEBUG:d.value="debug";break;case b.V2:d.value="vv";break;case b.V1:d.value="v";break;default:d.value="info"}}};ShakaDemoConfig.prototype.resolveExternLink_=function(a){return"../docs/api/shaka.extern.html#"+a};
172
- ShakaDemoConfig.prototype.addSection_=function(a,b){this.sections_.push(new ShakaDemoInputContainer(this.container_,a,a?ShakaDemoInputContainer.Style.ACCORDION:ShakaDemoInputContainer.Style.VERTICAL,b));return this};ShakaDemoConfig.prototype.addBoolInput_=function(a,b,c){this.addCustomBoolInput_(a,function(a){shakaDemoMain.configure(b,a.checked);shakaDemoMain.remakeHash()},c);shakaDemoMain.getCurrentConfigValue(b)&&(this.latestInput_.input().checked=!0);this.addedFields_.add(b);return this};
173
- ShakaDemoConfig.prototype.addCustomBoolInput_=function(a,b,c){this.createRow_(a,c);this.latestInput_=new ShakaDemoBoolInput(this.getLatestSection_(),a,b);return this};ShakaDemoConfig.prototype.addTextInput_=function(a,b,c){this.addCustomTextInput_(a,function(a){shakaDemoMain.configure(b,a.value);shakaDemoMain.remakeHash()},c);this.latestInput_.input().value=shakaDemoMain.getCurrentConfigValue(b);this.addedFields_.add(b);return this};
174
- ShakaDemoConfig.prototype.addCustomTextInput_=function(a,b,c){this.createRow_(a,c);this.latestInput_=new ShakaDemoTextInput(this.getLatestSection_(),a,b);return this};
175
- ShakaDemoConfig.prototype.addNumberInput_=function(a,b,c,d,e,f){c=void 0===c?!1:c;d=void 0===d?!0:d;e=void 0===e?!1:e;this.createRow_(a,f);this.latestInput_=new ShakaDemoNumberInput(this.getLatestSection_(),a,function(a){shakaDemoMain.resetConfiguration(b);shakaDemoMain.remakeHash();"Infinity"==a.value?(shakaDemoMain.configure(b,Infinity),shakaDemoMain.remakeHash()):""==a.value&&e||(a=Number(a.value),0==a&&!d||isNaN(a)||Math.floor(a)!=a&&!c||(shakaDemoMain.configure(b,a),shakaDemoMain.remakeHash()))},
176
- c,d,e);this.latestInput_.input().value=shakaDemoMain.getCurrentConfigValue(b);isNaN(Number(this.latestInput_.input().value))&&e&&(this.latestInput_.input().value="");this.addedFields_.add(b);return this};ShakaDemoConfig.prototype.addDatalistInput_=function(a,b,c,d){this.createRow_(a,d);this.latestInput_=new ShakaDemoDatalistInput(this.getLatestSection_(),a,c,b);return this};
177
- ShakaDemoConfig.prototype.addSelectInput_=function(a,b,c,d){this.createRow_(a,d);this.latestInput_=new ShakaDemoSelectInput(this.getLatestSection_(),a,c,b);return this};ShakaDemoConfig.prototype.createRow_=function(a,b){this.getLatestSection_().addRow(a,b||null)};
178
- ShakaDemoConfig.prototype.checkSectionCompleteness_=function(){var a=this,b=new Set(["number","string","boolean"]),c=function(d,e){for(var f in d){var g=e?e+"."+f:f,h=d[f];b.has(typeof h)?a.addedFields_.has(g)||console.warn("WARNING: Does not have config field for "+g):c(h,g)}};c(shakaDemoMain.getConfiguration(),"")};
179
- ShakaDemoConfig.prototype.checkSectionValidity_=function(){for(var a=$jscomp.makeIterator(this.addedFields_),b=a.next();!b.done;b=a.next())b=b.value,void 0==shakaDemoMain.getCurrentConfigValue(b)&&console.warn("WARNING: Invalid config field "+b)};ShakaDemoConfig.prototype.getLatestSection_=function(){goog.asserts.assert(0<this.sections_.length,"Must have at least one section.");return this.sections_[this.sections_.length-1]};document.addEventListener("shaka-main-loaded",ShakaDemoConfig.init);var shakaDemoCustom,ShakaDemoCustom=function(a){var b=this;this.dialog_=document.createElement("dialog");this.dialog_.classList.add("mdl-dialog");a.appendChild(this.dialog_);this.dialog_.showModal||dialogPolyfill.registerDialog(this.dialog_);this.assets_=this.loadAssetInfos_();this.assetCards_=[];this.savedList_=document.createElement("div");a.appendChild(this.savedList_);var c=document.createElement("div");c.classList.add("add-button-container");a.appendChild(c);var d=this.makeButton_("add",!0,function(){b.showAssetDialog_(ShakaDemoAssetInfo.makeBlankAsset())});
180
- c.appendChild(d);document.addEventListener("shaka-main-selected-asset-changed",function(){b.updateSelected_()});document.addEventListener("shaka-main-offline-progress",function(){b.updateOfflineProgress_()});document.addEventListener("shaka-main-page-changed",function(){b.savedList_.childNodes.length||a.classList.contains("hidden")||b.remakeSavedList_()})};ShakaDemoCustom.init=function(){var a=shakaDemoMain.addNavButton("custom");shakaDemoCustom=new ShakaDemoCustom(a)};
181
- ShakaDemoCustom.prototype.assets=function(){return Array.from(this.assets_)};ShakaDemoCustom.prototype.updateOfflineProgress_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.updateProgress()};
182
- ShakaDemoCustom.prototype.showAssetDialog_=function(a){var b=this;shaka.ui.Utils.removeAllChildren(this.dialog_);var c=document.createElement("div");this.dialog_.appendChild(c);var d=document.createElement("div");this.dialog_.appendChild(d);var e=[],f,g,h=function(){var b=f.value,c=g.value;if(b){a.licenseServers.clear();for(var d=$jscomp.makeIterator(ShakaDemoMain.commonDrmSystems),e=d.next();!e.done;e=d.next())a.licenseServers.set(e.value,b);c&&a.licenseServers.set(c,b)}else a.licenseServers.clear()},
183
- l=new ShakaDemoInputContainer(c,null,ShakaDemoInputContainer.Style.VERTICAL,null),k=function(a,b,c){l.addRow(null,null);c=new ShakaDemoTextInput(l,a,c);c.extra().textContent=a;b(c.input(),c.container())};k("Manifest URL",function(b,c){b.value=a.manifestUri;e.push(b);var d=document.createElement("span");d.classList.add("mdl-textfield__error");d.textContent="Must have a manifest URL.";c.appendChild(d);b.required=!0;b.pattern="^(?!([\r\n\t\f\v ]+)$).*$"},function(b){a.manifestUri=b.value});k("Custom License Server URL",
184
- function(b,c){f=b;var d=a.licenseServers.keys().next();d&&d.value&&(b.value=a.licenseServers.get(d.value))},function(a){h()});k("Custom License Certificate URL",function(b,c){a.certificateUri&&(b.value=a.certificateUri)},function(b){a.certificateUri=b.value});k("Custom DRM System",function(b,c){g=b;var d=a.licenseServers.keys();d=$jscomp.makeIterator(d);for(var e=d.next();!e.done;e=d.next())if(e=e.value,!ShakaDemoMain.commonDrmSystems.includes(e)){b.value=e;break}},function(a){h()});k("Name",function(c,
176
+ shakaDemo.Config.prototype.addLanguageSection_=function(){var a=this.resolveExternLink_(".PlayerConfiguration");this.addSection_("Language",a).addTextInput_("Preferred Audio Language","preferredAudioLanguage").addTextInput_("Preferred Text Language","preferredTextLanguage");this.addCustomTextInput_("Preferred UI Locale",function(a){shakaDemoMain.setUILocale(a.value)});this.latestInput_.input().value=shakaDemoMain.getUILocale();this.addNumberInput_("Preferred Audio Channel Count","preferredAudioChannelCount")};
177
+ shakaDemo.Config.prototype.addMetaSection_=function(){var a=this;this.addSection_("",null);this.addCustomBoolInput_("Shaka Controls",function(b){shakaDemoMain.setNativeControlsEnabled(!b.checked);b.checked&&(shakaDemoMain.configure("streaming.alwaysStreamText",!0),shakaDemoMain.remakeHash());a.reloadAndSaveState_()});shakaDemoMain.getNativeControlsEnabled()||(this.latestInput_.input().checked=!0);if(shaka.log){var b=shaka.log.Level,c=shaka.log.setLevel;this.addSelectInput_("Log Level",{info:"Info",
178
+ debug:"Debug",v:"Verbose",vv:"Very Verbose"},function(a){switch(a.value){case "info":c(b.INFO);break;case "debug":c(b.DEBUG);break;case "vv":c(b.V2);break;case "v":c(b.V1)}shakaDemoMain.remakeHash()});var d=this.latestInput_.input();switch(shaka.log.currentLevel){case b.DEBUG:d.value="debug";break;case b.V2:d.value="vv";break;case b.V1:d.value="v";break;default:d.value="info"}}};shakaDemo.Config.prototype.resolveExternLink_=function(a){return"../docs/api/shaka.extern.html#"+a};
179
+ shakaDemo.Config.prototype.addSection_=function(a,b){this.sections_.push(new shakaDemo.InputContainer(this.container_,a,a?shakaDemo.InputContainer.Style.ACCORDION:shakaDemo.InputContainer.Style.VERTICAL,b));return this};shakaDemo.Config.prototype.addBoolInput_=function(a,b,c){this.addCustomBoolInput_(a,function(a){shakaDemoMain.configure(b,a.checked);shakaDemoMain.remakeHash()},c);shakaDemoMain.getCurrentConfigValue(b)&&(this.latestInput_.input().checked=!0);this.addedFields_.add(b);return this};
180
+ shakaDemo.Config.prototype.addCustomBoolInput_=function(a,b,c){this.createRow_(a,c);this.latestInput_=new shakaDemo.BoolInput(this.getLatestSection_(),a,b);return this};shakaDemo.Config.prototype.addTextInput_=function(a,b,c){this.addCustomTextInput_(a,function(a){shakaDemoMain.configure(b,a.value);shakaDemoMain.remakeHash()},c);this.latestInput_.input().value=shakaDemoMain.getCurrentConfigValue(b);this.addedFields_.add(b);return this};
181
+ shakaDemo.Config.prototype.addCustomTextInput_=function(a,b,c){this.createRow_(a,c);this.latestInput_=new shakaDemo.TextInput(this.getLatestSection_(),a,b);return this};
182
+ shakaDemo.Config.prototype.addNumberInput_=function(a,b,c,d,e,f){c=void 0===c?!1:c;d=void 0===d?!0:d;e=void 0===e?!1:e;this.createRow_(a,f);this.latestInput_=new shakaDemo.NumberInput(this.getLatestSection_(),a,function(a){shakaDemoMain.resetConfiguration(b);shakaDemoMain.remakeHash();"Infinity"==a.value?(shakaDemoMain.configure(b,Infinity),shakaDemoMain.remakeHash()):""==a.value&&e||(a=Number(a.value),0==a&&!d||isNaN(a)||Math.floor(a)!=a&&!c||(shakaDemoMain.configure(b,a),shakaDemoMain.remakeHash()))},
183
+ c,d,e);this.latestInput_.input().value=shakaDemoMain.getCurrentConfigValue(b);isNaN(Number(this.latestInput_.input().value))&&e&&(this.latestInput_.input().value="");this.addedFields_.add(b);return this};shakaDemo.Config.prototype.addDatalistInput_=function(a,b,c,d){this.createRow_(a,d);this.latestInput_=new shakaDemo.DatalistInput(this.getLatestSection_(),a,c,b);return this};
184
+ shakaDemo.Config.prototype.addSelectInput_=function(a,b,c,d){this.createRow_(a,d);this.latestInput_=new shakaDemo.SelectInput(this.getLatestSection_(),a,c,b);return this};shakaDemo.Config.prototype.createRow_=function(a,b){this.getLatestSection_().addRow(a,b||null)};
185
+ shakaDemo.Config.prototype.checkSectionCompleteness_=function(){var a=this,b=new Set(["number","string","boolean"]),c=function(d,e){for(var f in d){var g=e?e+"."+f:f,h=d[f];b.has(typeof h)?a.addedFields_.has(g)||console.warn("WARNING: Does not have config field for "+g):c(h,g)}};c(shakaDemoMain.getConfiguration(),"")};
186
+ shakaDemo.Config.prototype.checkSectionValidity_=function(){for(var a=$jscomp.makeIterator(this.addedFields_),b=a.next();!b.done;b=a.next())b=b.value,void 0==shakaDemoMain.getCurrentConfigValue(b)&&console.warn("WARNING: Invalid config field "+b)};shakaDemo.Config.prototype.getLatestSection_=function(){goog.asserts.assert(0<this.sections_.length,"Must have at least one section.");return this.sections_[this.sections_.length-1]};document.addEventListener("shaka-main-loaded",shakaDemo.Config.init);var shakaDemoCustom;
187
+ shakaDemo.Custom=function(a){var b=this;this.dialog_=document.createElement("dialog");this.dialog_.classList.add("mdl-dialog");a.appendChild(this.dialog_);this.dialog_.showModal||dialogPolyfill.registerDialog(this.dialog_);this.assets_=this.loadAssetInfos_();this.assetCards_=[];this.savedList_=document.createElement("div");a.appendChild(this.savedList_);var c=document.createElement("div");c.classList.add("add-button-container");a.appendChild(c);var d=this.makeButton_("add",!0,function(){b.showAssetDialog_(ShakaDemoAssetInfo.makeBlankAsset())});
188
+ c.appendChild(d);document.addEventListener("shaka-main-selected-asset-changed",function(){b.updateSelected_()});document.addEventListener("shaka-main-offline-progress",function(){b.updateOfflineProgress_()});document.addEventListener("shaka-main-page-changed",function(){b.savedList_.childNodes.length||a.classList.contains("hidden")||b.remakeSavedList_()})};shakaDemo.Custom.init=function(){var a=shakaDemoMain.addNavButton("custom");shakaDemoCustom=new shakaDemo.Custom(a)};
189
+ shakaDemo.Custom.prototype.assets=function(){return Array.from(this.assets_)};shakaDemo.Custom.prototype.updateOfflineProgress_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.updateProgress()};
190
+ shakaDemo.Custom.prototype.showAssetDialog_=function(a){var b=this;shaka.ui.Utils.removeAllChildren(this.dialog_);var c=document.createElement("div");this.dialog_.appendChild(c);var d=document.createElement("div");this.dialog_.appendChild(d);var e=[],f,g,h=function(){var b=f.value,c=g.value;if(b){a.licenseServers.clear();for(var d=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems),e=d.next();!e.done;e=d.next())a.licenseServers.set(e.value,b);c&&a.licenseServers.set(c,b)}else a.licenseServers.clear()},
191
+ l=new shakaDemo.InputContainer(c,null,shakaDemo.InputContainer.Style.VERTICAL,null),k=function(a,b,c){l.addRow(null,null);c=new shakaDemo.TextInput(l,a,c);c.extra().textContent=a;b(c.input(),c.container())};k("Manifest URL",function(b,c){b.value=a.manifestUri;e.push(b);var d=document.createElement("span");d.classList.add("mdl-textfield__error");d.textContent="Must have a manifest URL.";c.appendChild(d);b.required=!0;b.pattern="^(?!([\r\n\t\f\v ]+)$).*$"},function(b){a.manifestUri=b.value});k("Custom License Server URL",
192
+ function(b,c){f=b;var d=a.licenseServers.keys().next();d&&d.value&&(b.value=a.licenseServers.get(d.value))},function(a){h()});k("Custom License Certificate URL",function(b,c){a.certificateUri&&(b.value=a.certificateUri)},function(b){a.certificateUri=b.value});k("Custom DRM System",function(b,c){g=b;var d=a.licenseServers.keys();d=$jscomp.makeIterator(d);for(var e=d.next();!e.done;e=d.next())if(e=e.value,!shakaDemo.Main.commonDrmSystems.includes(e)){b.value=e;break}},function(a){h()});k("Name",function(c,
185
193
  d){c.value=a.name;e.push(c);var f=document.createElement("span");f.classList.add("mdl-textfield__error");f.textContent="Must be a unique name.";d.appendChild(f);c.required=!0;c.pattern="^(?!( *";f=$jscomp.makeIterator(b.assets_);for(var g=f.next();!g.done;g=f.next())g=g.value,g!=a&&(c.pattern+="|"+g.name.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));c.pattern+=")$).*$"},function(b){a.name=b.value});k("Icon URL",function(b,c){if(a.iconUri){b.value=a.iconUri;var e=document.createElement("img");e.src=b.value;
186
194
  e.alt="";d.appendChild(e)}},function(b){shaka.ui.Utils.removeAllChildren(d);if(a.iconUri=b.value){var c=document.createElement("img");c.src=b.value;c.alt="";d.appendChild(c)}});k=document.createElement("tr");c.appendChild(k);k.appendChild(this.makeButton_("Save",!1,function(){for(var c=$jscomp.makeIterator(e),d=c.next();!d.done;d=c.next())if(!d.value.validity.valid)return;shakaDemoMain.setupOfflineSupport(a);b.assets_.add(a);b.saveAssetInfos_(b.assets_);b.remakeSavedList_();b.dialog_.close()}));k.appendChild(this.makeButton_("Cancel",
187
- !1,function(){b.dialog_.close()}));componentHandler.upgradeDom();this.dialog_.showModal()};ShakaDemoCustom.prototype.loadAssetInfos_=function(){var a=window.localStorage.getItem(ShakaDemoCustom.saveId_);return a?(a=JSON.parse(a),new Set(a.map(function(a){a=ShakaDemoAssetInfo.fromJSON(a);shakaDemoMain.setupOfflineSupport(a);return a}))):new Set};ShakaDemoCustom.prototype.saveAssetInfos_=function(a){var b=ShakaDemoCustom.saveId_;a=Array.from(a);window.localStorage.setItem(b,JSON.stringify(a))};
188
- ShakaDemoCustom.prototype.makeButton_=function(a,b,c){var d=document.createElement("button");b?(d.classList.add("mdl-button--fab"),d.classList.add("mdl-button--colored"),b=document.createElement("i"),b.classList.add("material-icons"),b.textContent=a,d.appendChild(b)):(d.textContent=a,d.classList.add("mdl-button--raised"));d.addEventListener("click",c);d.classList.add("mdl-button");d.classList.add("mdl-js-button");d.classList.add("mdl-js-ripple-effect");return d};
189
- ShakaDemoCustom.prototype.createAssetCardFor_=function(a){var b=this;return new AssetCard(this.savedList_,a,!1,function(c){c.addButton("Play",function(){shakaDemoMain.loadAsset(a);b.updateSelected_()});c.addButton("Edit",function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function e(){return $jscomp.generator.createGenerator(e,function(c){switch(c.nextAddress){case 1:if(!a.unstoreCallback){c.jumpTo(2);break}return c.yield(a.unstoreCallback(),2);case 2:b.showAssetDialog_(a),c.jumpToEnd()}})})});
195
+ !1,function(){b.dialog_.close()}));componentHandler.upgradeDom();this.dialog_.showModal()};shakaDemo.Custom.prototype.loadAssetInfos_=function(){var a=window.localStorage.getItem(shakaDemo.Custom.saveId_);return a?(a=JSON.parse(a),new Set(a.map(function(a){a=ShakaDemoAssetInfo.fromJSON(a);shakaDemoMain.setupOfflineSupport(a);return a}))):new Set};shakaDemo.Custom.prototype.saveAssetInfos_=function(a){var b=shakaDemo.Custom.saveId_;a=Array.from(a);window.localStorage.setItem(b,JSON.stringify(a))};
196
+ shakaDemo.Custom.prototype.makeButton_=function(a,b,c){var d=document.createElement("button");b?(d.classList.add("mdl-button--fab"),d.classList.add("mdl-button--colored"),b=document.createElement("i"),b.classList.add("material-icons"),b.textContent=a,d.appendChild(b)):(d.textContent=a,d.classList.add("mdl-button--raised"));d.addEventListener("click",c);d.classList.add("mdl-button");d.classList.add("mdl-js-button");d.classList.add("mdl-js-ripple-effect");return d};
197
+ shakaDemo.Custom.prototype.createAssetCardFor_=function(a){var b=this;return new shakaDemo.AssetCard(this.savedList_,a,!1,function(c){c.addButton("Play",function(){shakaDemoMain.loadAsset(a);b.updateSelected_()});c.addButton("Edit",function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function e(){return $jscomp.generator.createGenerator(e,function(c){switch(c.nextAddress){case 1:if(!a.unstoreCallback){c.jumpTo(2);break}return c.yield(a.unstoreCallback(),2);case 2:b.showAssetDialog_(a),c.jumpToEnd()}})})});
190
198
  c.addButton("Delete",function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function e(){return $jscomp.generator.createGenerator(e,function(c){switch(c.nextAddress){case 1:b.assets_["delete"](a);if(!a.unstoreCallback){c.jumpTo(2);break}return c.yield(a.unstoreCallback(),2);case 2:b.saveAssetInfos_(b.assets_),b.remakeSavedList_(),c.jumpToEnd()}})})});c.addStoreButton()})};
191
- ShakaDemoCustom.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};
192
- ShakaDemoCustom.prototype.remakeSavedList_=function(){var a=this;shaka.ui.Utils.removeAllChildren(this.savedList_);if(0==this.assets_.size){var b=function(b,d){var c=document.createElement("h2");c.classList.add("mdl-typography--"+b);c.textContent=d;a.savedList_.appendChild(c)};b("title","Try Shaka Player with your own content!");b("body-2","Press the button below to add a custom asset.");b("body-1","Custom assets will remain even after reloading the page.")}else this.assetCards_=Array.from(this.assets_).map(function(b){return a.createAssetCardFor_(b)}),
193
- this.updateSelected_()};ShakaDemoCustom.saveId_="shakaPlayerDemoSavedAssets";document.addEventListener("shaka-main-loaded",ShakaDemoCustom.init);var ShakaDemoUtils={runThroughHashParams:function(a,b){var c=[],d=function(b,d){c.push(d);a(b,d)};d("audiolang","preferredAudioLanguage");d("textlang","preferredTextLanguage");d("channels","preferredAudioChannelCount");c.push("abr.enabled");c.push("streaming.jumpLargeGaps");c.push("drm.advanced");c.push("drm.servers");var e=[],f=[],g=function(a){for(var b in a){e.includes(b)&&!f.includes(b)&&f.push(b);e.push(b);var c=a[b];"number"!=typeof c&&"string"!=typeof c&&"boolean"!=typeof c&&g(c)}};g(b);var h=
194
- function(b,d){for(var e in b){var g=e,k=d+e;if(!c.includes(k)){f.includes(e)&&(g=k);var l=b[e];"number"==typeof l||"string"==typeof l||"boolean"==typeof l?a(g,k):h(l,k+".")}}};h(b,"")},browserSupportsUncompiledMode:function(){try{return eval("async ()=>{}"),!0}catch(a){return!1}}};var shakaDemoFront,ShakaDemoFront=function(a){var b=this;this.assetCards_=[];this.messageDiv_=document.createElement("div");this.assetCardDiv_=document.createElement("div");a.appendChild(this.messageDiv_);this.makeMessage_();a.appendChild(this.assetCardDiv_);document.addEventListener("shaka-main-selected-asset-changed",function(){b.updateSelected_()});document.addEventListener("shaka-main-offline-progress",function(){b.updateOfflineProgress_()});document.addEventListener("shaka-main-page-changed",
195
- function(){b.assetCardDiv_.childNodes.length||a.classList.contains("hidden")||b.remakeAssetCards_()})};ShakaDemoFront.init=function(){var a=shakaDemoMain.addNavButton("front");shakaDemoFront=new ShakaDemoFront(a)};
196
- ShakaDemoFront.prototype.makeMessage_=function(){var a=this;if(!window.localStorage.getItem("shakaPlayerHideFrontMessage")){var b=function(b,d){var c=document.createElement("h2");c.classList.add("mdl-typography--"+b);c.textContent=d;a.messageDiv_.appendChild(c)};b("body-2","This is a demo of Google's Shaka Player, a JavaScript library for adaptive video streaming.");b("body-1","Choose a video to playback; more assets are available via the search tab.");b=document.createElement("button");b.classList.add("mdl-button");
199
+ shakaDemo.Custom.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};
200
+ shakaDemo.Custom.prototype.remakeSavedList_=function(){var a=this;shaka.ui.Utils.removeAllChildren(this.savedList_);if(0==this.assets_.size){var b=function(b,d){var c=document.createElement("h2");c.classList.add("mdl-typography--"+b);c.textContent=d;a.savedList_.appendChild(c)};b("title","Try Shaka Player with your own content!");b("body-2","Press the button below to add a custom asset.");b("body-1","Custom assets will remain even after reloading the page.")}else this.assetCards_=Array.from(this.assets_).map(function(b){return a.createAssetCardFor_(b)}),
201
+ this.updateSelected_()};shakaDemo.Custom.saveId_="shakaPlayerDemoSavedAssets";document.addEventListener("shaka-main-loaded",shakaDemo.Custom.init);shakaDemo.Utils={};
202
+ shakaDemo.Utils.runThroughHashParams=function(a,b){var c=[],d=function(b,d){c.push(d);a(b,d)};d("audiolang","preferredAudioLanguage");d("textlang","preferredTextLanguage");d("channels","preferredAudioChannelCount");c.push("abr.enabled");c.push("streaming.jumpLargeGaps");c.push("drm.advanced");c.push("drm.servers");var e=[],f=[],g=function(a){for(var b in a){e.includes(b)&&!f.includes(b)&&f.push(b);e.push(b);var c=a[b];"number"!=typeof c&&"string"!=typeof c&&"boolean"!=typeof c&&g(c)}};g(b);var h=
203
+ function(b,d){for(var e in b){var g=e,k=d+e;if(!c.includes(k)){f.includes(e)&&(g=k);var l=b[e];"number"==typeof l||"string"==typeof l||"boolean"==typeof l?a(g,k):h(l,k+".")}}};h(b,"")};shakaDemo.Utils.browserSupportsUncompiledMode=function(){try{return eval("async ()=>{}"),!0}catch(a){return!1}};var shakaDemoFront;
204
+ shakaDemo.Front=function(a){var b=this;this.assetCards_=[];this.messageDiv_=document.createElement("div");this.assetCardDiv_=document.createElement("div");a.appendChild(this.messageDiv_);this.makeMessage_();a.appendChild(this.assetCardDiv_);document.addEventListener("shaka-main-selected-asset-changed",function(){b.updateSelected_()});document.addEventListener("shaka-main-offline-progress",function(){b.updateOfflineProgress_()});document.addEventListener("shaka-main-page-changed",function(){b.assetCardDiv_.childNodes.length||
205
+ a.classList.contains("hidden")||b.remakeAssetCards_()})};shakaDemo.Front.init=function(){var a=shakaDemoMain.addNavButton("front");shakaDemoFront=new shakaDemo.Front(a)};
206
+ shakaDemo.Front.prototype.makeMessage_=function(){var a=this;if(!window.localStorage.getItem("shakaPlayerHideFrontMessage")){var b=function(b,d){var c=document.createElement("h2");c.classList.add("mdl-typography--"+b);c.textContent=d;a.messageDiv_.appendChild(c)};b("body-2","This is a demo of Google's Shaka Player, a JavaScript library for adaptive video streaming.");b("body-1","Choose a video to playback; more assets are available via the search tab.");b=document.createElement("button");b.classList.add("mdl-button");
197
207
  b.classList.add("mdl-button--colored");b.classList.add("mdl-js-button");b.classList.add("mdl-js-ripple-effect");b.textContent="Dismiss";b.addEventListener("click",function(){shaka.ui.Utils.removeAllChildren(a.messageDiv_);window.localStorage.setItem("shakaPlayerHideFrontMessage","true")});this.messageDiv_.appendChild(b)}};
198
- ShakaDemoFront.prototype.remakeAssetCards_=function(){var a=this;shaka.ui.Utils.removeAllChildren(this.assetCardDiv_);this.assetCards_=shakaAssets.testAssets.filter(function(a){return a.isFeatured&&!a.disabled}).map(function(b){return a.createAssetCardFor_(b,a.assetCardDiv_)});this.updateSelected_()};
199
- ShakaDemoFront.prototype.createAssetCardFor_=function(a,b){var c=this;return new AssetCard(b,a,!0,function(b){var d=shakaDemoMain.getAssetUnsupportedReason(a,!1);d?b.markAsUnsupported(d):(b.addButton("Play",function(){shakaDemoMain.loadAsset(a);c.updateSelected_()}),b.addStoreButton())})};ShakaDemoFront.prototype.updateOfflineProgress_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.updateProgress()};
200
- ShakaDemoFront.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};document.addEventListener("shaka-main-loaded",ShakaDemoFront.init);var ShakaDemoInput=function(a,b,c,d,e){var f=this;this.container_=document.createElement(c);a.latestElementContainer.appendChild(this.container_);this.input_=document.createElement(b);this.input_.onchange=function(){e(f.input_)};this.input_.id=ShakaDemoInput.generateNewId_("input");this.container_.appendChild(this.input_);a.latestTooltip&&(b=document.createElement("span"),b.textContent=a.latestTooltip,b.classList.add("hidden"),b.id=ShakaDemoInput.generateNewId_("extra-info"),this.container_.appendChild(b),
201
- this.input_.setAttribute("aria-describedby",b.id));this.extra_=null;d&&(this.extra_=document.createElement(d),this.container_.appendChild(this.extra_))};ShakaDemoInput.prototype.input=function(){return this.input_};ShakaDemoInput.prototype.container=function(){return this.container_};ShakaDemoInput.prototype.extra=function(){return this.extra_};ShakaDemoInput.generateNewId_=function(a){var b=ShakaDemoInput.lastId_;ShakaDemoInput.lastId_+=1;return a+"-labeled-"+b};ShakaDemoInput.lastId_=0;
202
- var ShakaDemoSelectInput=function(a,b,c,d){ShakaDemoInput.call(this,a,"select","div","label",c);this.container_.classList.add("mdl-textfield");this.container_.classList.add("mdl-js-textfield");this.container_.classList.add("mdl-textfield--floating-label");this.input_.classList.add("mdl-textfield__input");this.extra_.classList.add("mdl-textfield__label");this.extra_.setAttribute("for",this.input_.id);a=$jscomp.makeIterator(Object.keys(d));for(b=a.next();!b.done;b=a.next())b=b.value,c=document.createElement("option"),
203
- c.textContent=d[b],c.value=b,this.input_.appendChild(c)};$jscomp.inherits(ShakaDemoSelectInput,ShakaDemoInput);ShakaDemoSelectInput.lastId_=ShakaDemoInput.lastId_;ShakaDemoSelectInput.generateNewId_=ShakaDemoInput.generateNewId_;
204
- var ShakaDemoBoolInput=function(a,b,c){ShakaDemoInput.call(this,a,"input","label","span",c);this.input_.type="checkbox";this.container_.classList.add("mdl-switch");this.container_.classList.add("mdl-js-switch");this.container_.classList.add("mdl-js-ripple-effect");this.container_.setAttribute("for",this.input_.id);this.input_.classList.add("mdl-switch__input");this.extra_.classList.add("mdl-switch__label")};$jscomp.inherits(ShakaDemoBoolInput,ShakaDemoInput);ShakaDemoBoolInput.lastId_=ShakaDemoInput.lastId_;
205
- ShakaDemoBoolInput.generateNewId_=ShakaDemoInput.generateNewId_;var ShakaDemoTextInput=function(a,b,c){ShakaDemoInput.call(this,a,"input","div","label",c);this.container_.classList.add("mdl-textfield");this.container_.classList.add("mdl-js-textfield");this.container_.classList.add("mdl-textfield--floating-label");this.input_.classList.add("mdl-textfield__input");this.extra_.classList.add("mdl-textfield__label");this.extra_.setAttribute("for",this.input_.id)};$jscomp.inherits(ShakaDemoTextInput,ShakaDemoInput);
206
- ShakaDemoTextInput.lastId_=ShakaDemoInput.lastId_;ShakaDemoTextInput.generateNewId_=ShakaDemoInput.generateNewId_;var ShakaDemoDatalistInput=function(a,b,c,d){ShakaDemoTextInput.call(this,a,b,c);var e=new Awesomplete(this.input_);e.list=d.slice();e.minChars=0;this.input_.addEventListener("focus",function(){e.evaluate()})};$jscomp.inherits(ShakaDemoDatalistInput,ShakaDemoTextInput);ShakaDemoDatalistInput.lastId_=ShakaDemoTextInput.lastId_;ShakaDemoDatalistInput.generateNewId_=ShakaDemoTextInput.generateNewId_;
207
- var ShakaDemoNumberInput=function(a,b,c,d,e,f){ShakaDemoTextInput.call(this,a,b,c);a=document.createElement("span");a.classList.add("mdl-textfield__error");this.container_.appendChild(a);a.textContent="Must be a positive";this.input_.pattern="(Infinity|";e?this.input_.pattern+="[0-9]*":(this.input_.pattern+="[0-9]*[1-9][0-9]*",a.textContent+=", nonzero");d?(this.input_.pattern+="(.[0-9]+)?",a.textContent+=" number."):a.textContent+=" integer.";this.input_.pattern+=")";f&&(this.input_.pattern+="?")};
208
- $jscomp.inherits(ShakaDemoNumberInput,ShakaDemoTextInput);ShakaDemoNumberInput.lastId_=ShakaDemoTextInput.lastId_;ShakaDemoNumberInput.generateNewId_=ShakaDemoTextInput.generateNewId_;var ShakaDemoInputContainer=function(a,b,c,d){this.style_=c;this.table_=document.createElement("div");this.numRows_=0;b&&this.createHeader_(a,b);this.table_.classList.add(c);c==ShakaDemoInputContainer.Style.ACCORDION&&this.table_.classList.add("hidden");a.appendChild(this.table_);d&&this.addDocLink_(this.table_,d)};ShakaDemoInputContainer.prototype.getIsOpen=function(){return this.style_==ShakaDemoInputContainer.Style.ACCORDION?this.table_.classList.contains("show"):!1};
209
- ShakaDemoInputContainer.prototype.open=function(){var a=this;!this.style_!=ShakaDemoInputContainer.Style.ACCORDION&&(this.table_.classList.remove("hidden"),setTimeout(function(){a.table_.classList.add("show")},20),this.header_.classList.add("mdl-button--colored"))};
210
- ShakaDemoInputContainer.prototype.close=function(){var a=this;this.style_==ShakaDemoInputContainer.Style.ACCORDION&&(this.table_.classList.remove("show"),this.table_.addEventListener("transitionend",function(b){a.table_.classList.add("hidden")},{once:!0}),this.header_.classList.remove("mdl-button--colored"))};
211
- ShakaDemoInputContainer.prototype.createHeader_=function(a,b){var c=this;this.style_==ShakaDemoInputContainer.Style.ACCORDION?(this.header_=document.createElement("button"),this.header_.classList.add("mdl-button--raised"),this.header_.classList.add("mdl-button"),this.header_.classList.add("mdl-js-button"),this.header_.classList.add("mdl-js-ripple-effect"),this.header_.addEventListener("click",function(){c.getIsOpen()?c.close():c.open()})):this.header_=document.createElement("h3");this.header_.textContent=
212
- b;a.appendChild(this.header_)};ShakaDemoInputContainer.prototype.addDocLink_=function(a,b){var c=document.createElement("a");c.href=b;c.target="_blank";c.classList.add("mdl-button");c.classList.add("mdl-js-button");c.classList.add("mdl-js-ripple-effect");c.classList.add("mdl-button--colored");var d=document.createElement("i");d.classList.add("material-icons");d.textContent="help";c.appendChild(d);a.appendChild(c)};
213
- ShakaDemoInputContainer.prototype.addRow=function(a,b,c){this.latestRow_=document.createElement("div");c&&this.latestRow_.classList.add(c);this.table_.appendChild(this.latestRow_);c="input-container-row-"+this.numRows_;this.numRows_+=1;if(a){var d=document.createElement("label");d.setAttribute("for",c);d.classList.add("input-container-label");var e=document.createElement("b");e.textContent=a;d.appendChild(e);this.latestRow_.appendChild(d)}this.latestElementContainer=document.createElement("div");
214
- this.latestRow_.appendChild(this.latestElementContainer);this.latestElementContainer.classList.add("input-container-row");this.latestElementContainer.id=c;if(this.latestTooltip=b)ShakaDemoTooltips.make(this.table_,this.latestRow_,b),this.latestRow_.setAttribute("tabindex",-1),this.latestRow_.classList.add("borderless")};ShakaDemoInputContainer.Style={VERTICAL:"input-container-style-vertical",ACCORDION:"input-container-style-accordion",FLEX:"input-container-style-flex"};var ShakaDemoMain=function(){this.selectedAsset=this.player_=this.container_=this.video_=null;this.fullyLoaded_=!1;this.controls_=null;this.nativeControlsEnabled_=!1;this.uiLocale_=""};ShakaDemoMain.prototype.initCommon_=function(){var a=this;window.addEventListener("error",function(b){if(!b.message.includes("cvox.ApiImplementation"))a.onError_(b.error)});document.getElementById("error-display-close-button").addEventListener("click",function(b){return a.closeError_()});this.setUpVersionString_()};
215
- ShakaDemoMain.prototype.initFailed=function(){this.initCommon_();this.handleError_(shaka.util.Error.Severity.CRITICAL,"Your browser is not supported!","https://github.com/google/shaka-player#platform-and-browser-support-matrix");componentHandler.upgradeDom();for(var a=[],b=$jscomp.makeIterator(document.getElementsByClassName("should-disable-on-fail")),c=b.next();!c.done;c=b.next())a.push(c.value);a.push(document.getElementsByClassName("mdl-layout__drawer-button"));a=$jscomp.makeIterator(a);for(c=
208
+ shakaDemo.Front.prototype.remakeAssetCards_=function(){var a=this;shaka.ui.Utils.removeAllChildren(this.assetCardDiv_);this.assetCards_=shakaAssets.testAssets.filter(function(a){return a.isFeatured&&!a.disabled}).map(function(b){return a.createAssetCardFor_(b,a.assetCardDiv_)});this.updateSelected_()};
209
+ shakaDemo.Front.prototype.createAssetCardFor_=function(a,b){var c=this;return new shakaDemo.AssetCard(b,a,!0,function(b){var d=shakaDemoMain.getAssetUnsupportedReason(a,!1);d?b.markAsUnsupported(d):(b.addButton("Play",function(){shakaDemoMain.loadAsset(a);c.updateSelected_()}),b.addStoreButton())})};shakaDemo.Front.prototype.updateOfflineProgress_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.updateProgress()};
210
+ shakaDemo.Front.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};document.addEventListener("shaka-main-loaded",shakaDemo.Front.init);shakaDemo.Input=function(a,b,c,d,e){var f=this;this.container_=document.createElement(c);a.latestElementContainer.appendChild(this.container_);this.input_=document.createElement(b);this.input_.onchange=function(){e(f.input_)};this.input_.id=shakaDemo.Input.generateNewId_("input");this.container_.appendChild(this.input_);a.latestTooltip&&(b=document.createElement("span"),b.textContent=a.latestTooltip,b.classList.add("hidden"),b.id=shakaDemo.Input.generateNewId_("extra-info"),this.container_.appendChild(b),
211
+ this.input_.setAttribute("aria-describedby",b.id));this.extra_=null;d&&(this.extra_=document.createElement(d),this.container_.appendChild(this.extra_))};shakaDemo.Input.prototype.input=function(){return this.input_};shakaDemo.Input.prototype.container=function(){return this.container_};shakaDemo.Input.prototype.extra=function(){return this.extra_};shakaDemo.Input.generateNewId_=function(a){var b=shakaDemo.Input.lastId_;shakaDemo.Input.lastId_+=1;return a+"-labeled-"+b};shakaDemo.Input.lastId_=0;
212
+ shakaDemo.SelectInput=function(a,b,c,d){shakaDemo.Input.call(this,a,"select","div","label",c);this.container_.classList.add("mdl-textfield");this.container_.classList.add("mdl-js-textfield");this.container_.classList.add("mdl-textfield--floating-label");this.input_.classList.add("mdl-textfield__input");this.extra_.classList.add("mdl-textfield__label");this.extra_.setAttribute("for",this.input_.id);a=$jscomp.makeIterator(Object.keys(d));for(b=a.next();!b.done;b=a.next())b=b.value,c=document.createElement("option"),
213
+ c.textContent=d[b],c.value=b,this.input_.appendChild(c)};$jscomp.inherits(shakaDemo.SelectInput,shakaDemo.Input);shakaDemo.SelectInput.lastId_=shakaDemo.Input.lastId_;shakaDemo.SelectInput.generateNewId_=shakaDemo.Input.generateNewId_;
214
+ shakaDemo.BoolInput=function(a,b,c){shakaDemo.Input.call(this,a,"input","label","span",c);this.input_.type="checkbox";this.container_.classList.add("mdl-switch");this.container_.classList.add("mdl-js-switch");this.container_.classList.add("mdl-js-ripple-effect");this.container_.setAttribute("for",this.input_.id);this.input_.classList.add("mdl-switch__input");this.extra_.classList.add("mdl-switch__label")};$jscomp.inherits(shakaDemo.BoolInput,shakaDemo.Input);shakaDemo.BoolInput.lastId_=shakaDemo.Input.lastId_;
215
+ shakaDemo.BoolInput.generateNewId_=shakaDemo.Input.generateNewId_;shakaDemo.TextInput=function(a,b,c){shakaDemo.Input.call(this,a,"input","div","label",c);this.container_.classList.add("mdl-textfield");this.container_.classList.add("mdl-js-textfield");this.container_.classList.add("mdl-textfield--floating-label");this.input_.classList.add("mdl-textfield__input");this.extra_.classList.add("mdl-textfield__label");this.extra_.setAttribute("for",this.input_.id)};$jscomp.inherits(shakaDemo.TextInput,shakaDemo.Input);
216
+ shakaDemo.TextInput.lastId_=shakaDemo.Input.lastId_;shakaDemo.TextInput.generateNewId_=shakaDemo.Input.generateNewId_;shakaDemo.DatalistInput=function(a,b,c,d){shakaDemo.TextInput.call(this,a,b,c);var e=new Awesomplete(this.input_);e.list=d.slice();e.minChars=0;this.input_.addEventListener("focus",function(){e.evaluate()})};$jscomp.inherits(shakaDemo.DatalistInput,shakaDemo.TextInput);shakaDemo.DatalistInput.lastId_=shakaDemo.TextInput.lastId_;shakaDemo.DatalistInput.generateNewId_=shakaDemo.TextInput.generateNewId_;
217
+ shakaDemo.NumberInput=function(a,b,c,d,e,f){shakaDemo.TextInput.call(this,a,b,c);a=document.createElement("span");a.classList.add("mdl-textfield__error");this.container_.appendChild(a);a.textContent="Must be a positive";this.input_.pattern="(Infinity|";e?this.input_.pattern+="[0-9]*":(this.input_.pattern+="[0-9]*[1-9][0-9]*",a.textContent+=", nonzero");d?(this.input_.pattern+="(.[0-9]+)?",a.textContent+=" number."):a.textContent+=" integer.";this.input_.pattern+=")";f&&(this.input_.pattern+="?")};
218
+ $jscomp.inherits(shakaDemo.NumberInput,shakaDemo.TextInput);shakaDemo.NumberInput.lastId_=shakaDemo.TextInput.lastId_;shakaDemo.NumberInput.generateNewId_=shakaDemo.TextInput.generateNewId_;shakaDemo.InputContainer=function(a,b,c,d){this.style_=c;this.table_=document.createElement("div");this.numRows_=0;b&&this.createHeader_(a,b);this.table_.classList.add(c);c==shakaDemo.InputContainer.Style.ACCORDION&&this.table_.classList.add("hidden");a.appendChild(this.table_);d&&this.addDocLink_(this.table_,d)};shakaDemo.InputContainer.prototype.getIsOpen=function(){return this.style_==shakaDemo.InputContainer.Style.ACCORDION?this.table_.classList.contains("show"):!1};
219
+ shakaDemo.InputContainer.prototype.open=function(){var a=this;!this.style_!=shakaDemo.InputContainer.Style.ACCORDION&&(this.table_.classList.remove("hidden"),setTimeout(function(){a.table_.classList.add("show")},20),this.header_.classList.add("mdl-button--colored"))};
220
+ shakaDemo.InputContainer.prototype.close=function(){var a=this;this.style_==shakaDemo.InputContainer.Style.ACCORDION&&(this.table_.classList.remove("show"),this.table_.addEventListener("transitionend",function(b){a.table_.classList.add("hidden")},{once:!0}),this.header_.classList.remove("mdl-button--colored"))};
221
+ shakaDemo.InputContainer.prototype.createHeader_=function(a,b){var c=this;this.style_==shakaDemo.InputContainer.Style.ACCORDION?(this.header_=document.createElement("button"),this.header_.classList.add("mdl-button--raised"),this.header_.classList.add("mdl-button"),this.header_.classList.add("mdl-js-button"),this.header_.classList.add("mdl-js-ripple-effect"),this.header_.addEventListener("click",function(){c.getIsOpen()?c.close():c.open()})):this.header_=document.createElement("h3");this.header_.textContent=
222
+ b;a.appendChild(this.header_)};shakaDemo.InputContainer.prototype.addDocLink_=function(a,b){var c=document.createElement("a");c.href=b;c.target="_blank";c.classList.add("mdl-button");c.classList.add("mdl-js-button");c.classList.add("mdl-js-ripple-effect");c.classList.add("mdl-button--colored");var d=document.createElement("i");d.classList.add("material-icons");d.textContent="help";c.appendChild(d);a.appendChild(c)};
223
+ shakaDemo.InputContainer.prototype.addRow=function(a,b,c){this.latestRow_=document.createElement("div");c&&this.latestRow_.classList.add(c);this.table_.appendChild(this.latestRow_);c="input-container-row-"+this.numRows_;this.numRows_+=1;if(a){var d=document.createElement("label");d.setAttribute("for",c);d.classList.add("input-container-label");var e=document.createElement("b");e.textContent=a;d.appendChild(e);this.latestRow_.appendChild(d)}this.latestElementContainer=document.createElement("div");
224
+ this.latestRow_.appendChild(this.latestElementContainer);this.latestElementContainer.classList.add("input-container-row");this.latestElementContainer.id=c;if(this.latestTooltip=b)shakaDemo.Tooltips.make(this.latestRow_,b),this.latestRow_.setAttribute("tabindex",-1),this.latestRow_.classList.add("borderless")};shakaDemo.InputContainer.Style={VERTICAL:"input-container-style-vertical",ACCORDION:"input-container-style-accordion",FLEX:"input-container-style-flex"};shakaDemo.Main=function(){this.selectedAsset=this.player_=this.container_=this.video_=null;this.fullyLoaded_=!1;this.controls_=null;this.nativeControlsEnabled_=!1;this.uiLocale_="";this.noInput_=!1};shakaDemo.Main.prototype.initCommon_=function(){var a=this;window.addEventListener("error",function(b){if(!b.message.includes("cvox.Api"))a.onError_(b.error)});document.getElementById("error-display-close-button").addEventListener("click",function(b){return a.closeError_()});this.setUpVersionStrings_()};
225
+ shakaDemo.Main.prototype.initFailed=function(){this.initCommon_();this.handleError_(shaka.util.Error.Severity.CRITICAL,"Your browser is not supported!","https://github.com/google/shaka-player#platform-and-browser-support-matrix");componentHandler.upgradeDom();for(var a=[],b=$jscomp.makeIterator(document.getElementsByClassName("should-disable-on-fail")),c=b.next();!c.done;c=b.next())a.push(c.value);a.push(document.getElementsByClassName("mdl-layout__drawer-button"));a=$jscomp.makeIterator(a);for(c=
216
226
  a.next();!c.done;c=a.next())c=c.value,c.tabIndex=-1,c.classList.add("disabled-by-fail")};
217
- ShakaDemoMain.prototype.init=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function c(){var d,e,f,g;return $jscomp.generator.createGenerator(c,function(c){switch(c.nextAddress){case 1:return a.initCommon_(),d=a,c.yield(shaka.Player.probeSupport(),2);case 2:d.support_=c.yieldResult;a.video_=document.getElementById("video");a.video_.poster=ShakaDemoMain.mainPoster_;a.container_=document.getElementsByClassName("video-container")[0];if(!navigator.serviceWorker){c.jumpTo(3);
218
- break}console.debug("Registering service worker.");c.setCatchFinallyBlocks(4);return c.yield(navigator.serviceWorker.register("service_worker.js"),6);case 6:e=c.yieldResult;console.debug("Service worker registered!",e.scope);c.leaveTryBlock(3);break;case 4:f=c.enterCatchBlock(),console.error("Service worker registration failed!",f);case 3:return a.setupPlayer_(),a.readHash_(),window.addEventListener("hashchange",function(){return a.hashChanged_()}),c.yield(a.setupStorage_(),7);case 7:a.dispatchEventWithName_("shaka-main-loaded"),
219
- componentHandler.upgradeDom(),g=a.getLastAssetFromHash_(),a.fullyLoaded_=!0,a.remakeHash(),g&&!a.selectedAsset&&a.loadAsset(g),c.jumpToEnd()}})})};
220
- ShakaDemoMain.prototype.setupPlayer_=function(){var a=this,b=this.video_.ui;this.player_=b.getControls().getPlayer();shaka.ui.Controls.registerElement("close",new CloseButton.Factory);var c=b.getConfiguration();c.controlPanelElements.push("close");b.configure(c);this.player_.configure("manifest.dash.clockSyncUri","https://shaka-player-demo.appspot.com/time.txt");this.defaultConfig_=this.player_.getConfiguration();c=navigator.languages||["en-us"];this.player_.configure("preferredAudioLanguage",c[0]);
221
- this.player_.configure("preferredTextLanguage",c[0]);this.uiLocale_=c[0];c=function(b){return a.onErrorEvent_(b)};this.player_.addEventListener("error",c);this.controls_=b.getControls();this.controls_.addEventListener("error",c);this.controls_.addEventListener("caststatuschanged",function(b){a.onCastStatusChange_(b.newStatus)});this.controls_.getLocalization().addEventListener(shaka.ui.Localization.UNKNOWN_LOCALES,function(b){b=$jscomp.makeIterator(b.locales);for(var c=b.next();!c.done;c=b.next())a.loadUILocale_(c.value)});
222
- this.loadUILocale_(this.uiLocale_);var d=document.getElementById("drawer-close-button");d.addEventListener("click",function(){document.getElementById("main-layout").MaterialLayout.toggleDrawer();a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideNode_(d)});b=document.querySelector(".mdl-layout__drawer-button");goog.asserts.assert(b,"There should be a drawer button.");b.addEventListener("click",function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.showNode_(d)});b=document.querySelector(".mdl-layout__obfuscator");
223
- goog.asserts.assert(b,"There should be an obfuscator.");b.addEventListener("click",function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideNode_(d)});this.hideNode_(d)};ShakaDemoMain.prototype.getIsDrawerOpen=function(){var a=document.querySelector(".mdl-layout__drawer");goog.asserts.assert(a,"There should be a drawer.");return a.classList.contains("is-visible")};
224
- ShakaDemoMain.prototype.getIdentifierFromAsset_=function(a){return a.name+(a.source==shakaAssets.Source.CUSTOM?" [CUSTOM]":"")};
225
- ShakaDemoMain.prototype.makeStorageInstance_=function(){var a=this;if(!shaka.offline.Storage.support())return null;var b=new shaka.offline.Storage;b.configure("offline.progressCallback",function(b,d){var c=b.appMetadata.identifier;a:{for(var f=$jscomp.makeIterator(shakaAssets.testAssets),g=f.next();!g.done;g=f.next())if(g=g.value,a.getIdentifierFromAsset_(g)==c){c=g;break a}if(shakaDemoCustom)for(f=$jscomp.makeIterator(shakaDemoCustom.assets()),g=f.next();!g.done;g=f.next())if(g=g.value,a.getIdentifierFromAsset_(g)==
227
+ shakaDemo.Main.prototype.init=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function c(){var d,e,f,g,h,l;return $jscomp.generator.createGenerator(c,function(c){switch(c.nextAddress){case 1:return a.initCommon_(),d=a,c.yield(shaka.Player.probeSupport(),2);case 2:d.support_=c.yieldResult;a.video_=document.getElementById("video");a.video_.poster=shakaDemo.Main.mainPoster_;a.container_=document.getElementsByClassName("video-container")[0];if(!navigator.serviceWorker){c.jumpTo(3);
228
+ break}console.debug("Registering service worker.");c.setCatchFinallyBlocks(4);return c.yield(navigator.serviceWorker.register("service_worker.js"),6);case 6:e=c.yieldResult;console.debug("Service worker registered!",e.scope);c.leaveTryBlock(3);break;case 4:f=c.enterCatchBlock(),console.error("Service worker registration failed!",f);case 3:return a.noInput_="noinput"in a.getParams_(),a.setupPlayer_(),a.readHash_(),window.addEventListener("hashchange",function(){return a.hashChanged_()}),c.yield(a.setupStorage_(),
229
+ 7);case 7:if(a.noInput_){for(var k=$jscomp.makeIterator(document.getElementsByClassName("should-hide-in-no-input-mode")),m=k.next();!m.done;m=k.next())g=m.value,a.hideNode_(g);k=$jscomp.makeIterator(document.getElementsByClassName("should-show-in-no-input-mode"));for(m=k.next();!m.done;m=k.next())h=m.value,a.showNode_(h);a.container_.classList.add("no-input-sized");document.getElementById("video-bar").classList.add("no-input-sized")}a.dispatchEventWithName_("shaka-main-loaded");return c.yield(Promise.resolve(),
230
+ 8);case 8:componentHandler.upgradeDom(),l=a.getLastAssetFromHash_(),a.fullyLoaded_=!0,a.remakeHash(),l&&!a.selectedAsset&&a.loadAsset(l),c.jumpToEnd()}})})};
231
+ shakaDemo.Main.prototype.setupPlayer_=function(){var a=this,b=this.video_.ui;this.player_=b.getControls().getPlayer();if(!this.noInput_){var c=new shakaDemo.CloseButton.Factory;shaka.ui.Controls.registerElement("close",c);c=b.getConfiguration();c.controlPanelElements.push("close");b.configure(c)}this.player_.configure("manifest.dash.clockSyncUri","https://shaka-player-demo.appspot.com/time.txt");this.defaultConfig_=this.player_.getConfiguration();this.desiredConfig_=this.player_.getConfiguration();
232
+ c=navigator.languages||["en-us"];this.configure("preferredAudioLanguage",c[0]);this.configure("preferredTextLanguage",c[0]);this.uiLocale_=c[0];c=function(b){return a.onErrorEvent_(b)};this.player_.addEventListener("error",c);this.controls_=b.getControls();this.controls_.addEventListener("error",c);this.controls_.addEventListener("caststatuschanged",function(b){a.onCastStatusChange_(b.newStatus)});this.controls_.getLocalization().addEventListener(shaka.ui.Localization.UNKNOWN_LOCALES,function(b){b=
233
+ $jscomp.makeIterator(b.locales);for(var c=b.next();!c.done;c=b.next())a.loadUILocale_(c.value)});this.loadUILocale_(this.uiLocale_);var d=document.getElementById("drawer-close-button");d.addEventListener("click",function(){document.getElementById("main-layout").MaterialLayout.toggleDrawer();a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideNode_(d)});b=document.querySelector(".mdl-layout__drawer-button");goog.asserts.assert(b,"There should be a drawer button.");b.addEventListener("click",
234
+ function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.showNode_(d)});b=document.querySelector(".mdl-layout__obfuscator");goog.asserts.assert(b,"There should be an obfuscator.");b.addEventListener("click",function(){a.dispatchEventWithName_("shaka-main-drawer-state-change");a.hideNode_(d)});this.hideNode_(d)};shakaDemo.Main.prototype.getIsDrawerOpen=function(){var a=document.querySelector(".mdl-layout__drawer");goog.asserts.assert(a,"There should be a drawer.");return a.classList.contains("is-visible")};
235
+ shakaDemo.Main.prototype.getIdentifierFromAsset_=function(a){return a.name+(a.source==shakaAssets.Source.CUSTOM?" [CUSTOM]":"")};
236
+ shakaDemo.Main.prototype.makeStorageInstance_=function(){var a=this;if(!shaka.offline.Storage.support())return null;var b=new shaka.offline.Storage;b.configure("offline.progressCallback",function(b,d){var c=b.appMetadata.identifier;a:{for(var f=$jscomp.makeIterator(shakaAssets.testAssets),g=f.next();!g.done;g=f.next())if(g=g.value,a.getIdentifierFromAsset_(g)==c){c=g;break a}if(shakaDemoCustom)for(f=$jscomp.makeIterator(shakaDemoCustom.assets()),g=f.next();!g.done;g=f.next())if(g=g.value,a.getIdentifierFromAsset_(g)==
226
237
  c){c=g;break a}c=null}c&&(c.storedProgress=d,a.dispatchEventWithName_("shaka-main-offline-progress"))});return b};
227
- ShakaDemoMain.prototype.setupOfflineSupport=function(a){var b=this;if(this.initialStoredList_){for(var c=$jscomp.makeIterator(this.initialStoredList_),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.appMetadata.identifier;this.getIdentifierFromAsset_(a)==e&&(a.storedContent=d)}a.storeCallback=function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function g(){var c,d,e,n;return $jscomp.generator.createGenerator(g,function(g){switch(g.nextAddress){case 1:c=b.makeStorageInstance_();if(!c)return g["return"]();
228
- g.setCatchFinallyBlocks(2);return g.yield(b.drmConfiguration_(a,c),4);case 4:return d={identifier:b.getIdentifierFromAsset_(a),downloaded:new Date},a.storedProgress=0,b.dispatchEventWithName_("shaka-main-offline-progress"),g.yield(c.store(a.manifestUri,d),5);case 5:e=g.yieldResult;a.storedContent=e;g.leaveTryBlock(3);break;case 2:n=g.enterCatchBlock(),b.onError_(n),a.storedContent=null;case 3:c.destroy(),a.storedProgress=1,b.dispatchEventWithName_("shaka-main-offline-progress"),g.jumpToEnd()}})})};
238
+ shakaDemo.Main.prototype.setupOfflineSupport=function(a){var b=this;if(this.initialStoredList_){for(var c=$jscomp.makeIterator(this.initialStoredList_),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.appMetadata.identifier;this.getIdentifierFromAsset_(a)==e&&(a.storedContent=d)}a.storeCallback=function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function g(){var c,d,e,p;return $jscomp.generator.createGenerator(g,function(g){switch(g.nextAddress){case 1:c=b.makeStorageInstance_();if(!c)return g["return"]();
239
+ g.setCatchFinallyBlocks(2);return g.yield(b.drmConfiguration_(a,c),4);case 4:return d={identifier:b.getIdentifierFromAsset_(a),downloaded:new Date},a.storedProgress=0,b.dispatchEventWithName_("shaka-main-offline-progress"),g.yield(c.store(a.manifestUri,d),5);case 5:e=g.yieldResult;a.storedContent=e;g.leaveTryBlock(3);break;case 2:p=g.enterCatchBlock(),b.onError_(p),a.storedContent=null;case 3:c.destroy(),a.storedProgress=1,b.dispatchEventWithName_("shaka-main-offline-progress"),g.jumpToEnd()}})})};
229
240
  a.unstoreCallback=function(){return $jscomp.asyncExecutePromiseGeneratorFunction(function g(){var c,d;return $jscomp.generator.createGenerator(g,function(e){switch(e.nextAddress){case 1:a==b.selectedAsset&&b.unload();if(!a.storedContent||!a.storedContent.offlineUri){e.jumpTo(0);break}c=b.makeStorageInstance_();if(!c)return e["return"]();e.setCatchFinallyBlocks(3);a.storedProgress=0;b.dispatchEventWithName_("shaka-main-offline-progress");return e.yield(c.remove(a.storedContent.offlineUri),5);case 5:a.storedContent=
230
241
  null;e.leaveTryBlock(4);break;case 3:d=e.enterCatchBlock(),b.onError_(d);case 4:c.destroy(),a.storedProgress=1,b.dispatchEventWithName_("shaka-main-offline-progress"),e.jumpToEnd()}})})}}};
231
- ShakaDemoMain.prototype.setupStorage_=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function c(){var d,e,f,g;return $jscomp.generator.createGenerator(c,function(c){switch(c.nextAddress){case 1:d=a.makeStorageInstance_();if(!d)return c["return"]();c.setCatchFinallyBlocks(2,3);e=a;return c.yield(d.list(),5);case 5:e.initialStoredList_=c.yieldResult;case 3:c.enterFinallyBlock();d.destroy();c.leaveFinallyBlock(4);break;case 2:f=c.enterCatchBlock();console.error(f);a.initialStoredList_=
232
- null;c.jumpTo(3);break;case 4:for(var h=$jscomp.makeIterator(shakaAssets.testAssets),k=h.next();!k.done;k=h.next())g=k.value,a.getAssetUnsupportedReason(g,!0)||a.setupOfflineSupport(g);c.jumpToEnd()}})})};ShakaDemoMain.prototype.hashChanged_=function(){this.readHash_();this.dispatchEventWithName_("shaka-main-config-change")};
233
- ShakaDemoMain.prototype.getAssetUnsupportedReason=function(a,b){var c=this;if(a.source==shakaAssets.Source.CUSTOM)return null;if(a.disabled)return"This asset is disabled.";if(b&&!a.features.includes(shakaAssets.Feature.OFFLINE))return"This asset cannot be downloaded.";if(b&&!shaka.offline.Storage.support())return"Your browser does not support offline storage.";if(!a.drm.includes(shakaAssets.KeySystem.CLEAR)){if(!a.drm.some(function(a){return c.support_.drm[a]}))return"Your browser does not support the required key systems.";
242
+ shakaDemo.Main.prototype.setupStorage_=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function c(){var d,e,f,g;return $jscomp.generator.createGenerator(c,function(c){switch(c.nextAddress){case 1:d=a.makeStorageInstance_();if(!d)return c["return"]();c.setCatchFinallyBlocks(2,3);e=a;return c.yield(d.list(),5);case 5:e.initialStoredList_=c.yieldResult;case 3:c.enterFinallyBlock();d.destroy();c.leaveFinallyBlock(4);break;case 2:f=c.enterCatchBlock();console.error(f);a.initialStoredList_=
243
+ null;c.jumpTo(3);break;case 4:for(var h=$jscomp.makeIterator(shakaAssets.testAssets),k=h.next();!k.done;k=h.next())g=k.value,a.getAssetUnsupportedReason(g,!0)||a.setupOfflineSupport(g);c.jumpToEnd()}})})};shakaDemo.Main.prototype.hashChanged_=function(){this.readHash_();this.dispatchEventWithName_("shaka-main-config-change")};
244
+ shakaDemo.Main.prototype.getAssetUnsupportedReason=function(a,b){var c=this;if(b&&(!shaka.offline.Storage.support()||!this.initialStoredList_))return"Your browser does not support offline storage.";if(a.source==shakaAssets.Source.CUSTOM)return null;if(a.disabled)return"This asset is disabled.";if(b&&!a.features.includes(shakaAssets.Feature.OFFLINE))return"This asset cannot be downloaded.";if(!a.isClear()){if(!a.drm.some(function(a){return c.support_.drm[a]}))return"Your browser does not support the required key systems.";
234
245
  if(b&&!a.drm.some(function(a){return c.support_.drm[a]&&c.support_.drm[a].persistentState}))return"Your browser does not support offline licenses for the required key systems."}if(a.features.includes(shakaAssets.Feature.DASH)&&!this.support_.manifest.mpd)return"Your browser does not support MPEG-DASH manifests.";if(a.features.includes(shakaAssets.Feature.HLS)&&!this.support_.manifest.m3u8)return"Your browser does not support HLS manifests.";var d=[];a.features.includes(shakaAssets.Feature.WEBM)&&
235
- d.push("video/webm");a.features.includes(shakaAssets.Feature.MP4)&&d.push("video/mp4");a.features.includes(shakaAssets.Feature.MP2TS)&&d.push("video/mp2t");return d.some(function(a){return c.support_.media[a]})?null:"Your browser does not support the required video format."};ShakaDemoMain.prototype.setNativeControlsEnabled=function(a){this.nativeControlsEnabled_=a;this.remakeHash()};ShakaDemoMain.prototype.getNativeControlsEnabled=function(){return this.nativeControlsEnabled_};
236
- ShakaDemoMain.prototype.loadUILocale_=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function d(){var e,f,g,h,l;return $jscomp.generator.createGenerator(d,function(d){switch(d.nextAddress){case 1:if(!a)return d["return"]();e="../ui/locales/"+a+".json";return d.yield(fetch(e),2);case 2:return f=d.yieldResult,f.ok?d.yield(f.json(),3):(console.warn("Unable to load locale",a),d["return"]());case 3:g=d.yieldResult;h=new Map;for(var k in g)h.set(k,g[k]);l=b.controls_.getLocalization();
237
- l.insert(a,h);d.jumpToEnd()}})})};ShakaDemoMain.prototype.setUILocale=function(a){this.uiLocale_=a;a=[a].concat(navigator.languages);this.controls_.getLocalization().changeLocale(a)};ShakaDemoMain.prototype.getUILocale=function(){return this.uiLocale_};
238
- ShakaDemoMain.prototype.getLastAssetFromHash_=function(){var a=this.getParams_(),b=a.asset;if(b){for(var c=$jscomp.makeIterator(shakaAssets.testAssets),d=c.next();!d.done;d=c.next())if(d=d.value,d.manifestUri==b)return d;c=$jscomp.makeIterator(shakaDemoCustom.assets());for(d=c.next();!d.done;d=c.next())if(d=d.value,d.manifestUri==b)return d;b=new ShakaDemoAssetInfo("loaded asset","",b,shakaAssets.Source.UNKNOWN);if("license"in a)for(c=ShakaDemoMain.commonDrmSystems,("drmSystem"in a)&&(c=[a.drmSystem]),
246
+ d.push("video/webm");a.features.includes(shakaAssets.Feature.MP4)&&d.push("video/mp4");a.features.includes(shakaAssets.Feature.MP2TS)&&d.push("video/mp2t");return d.some(function(a){return c.support_.media[a]})?null:"Your browser does not support the required video format."};shakaDemo.Main.prototype.setNativeControlsEnabled=function(a){this.nativeControlsEnabled_=a;this.remakeHash()};shakaDemo.Main.prototype.getNativeControlsEnabled=function(){return this.nativeControlsEnabled_};
247
+ shakaDemo.Main.prototype.loadUILocale_=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function d(){var e,f,g,h,l;return $jscomp.generator.createGenerator(d,function(d){switch(d.nextAddress){case 1:if(!a)return d["return"]();e="../ui/locales/"+a+".json";return d.yield(fetch(e),2);case 2:return f=d.yieldResult,f.ok?d.yield(f.json(),3):(console.warn("Unable to load locale",a),d["return"]());case 3:g=d.yieldResult;h=new Map;for(var k in g)h.set(k,g[k]);l=b.controls_.getLocalization();
248
+ l.insert(a,h);d.jumpToEnd()}})})};shakaDemo.Main.prototype.setUILocale=function(a){this.uiLocale_=a;a=[a].concat(navigator.languages);this.controls_.getLocalization().changeLocale(a)};shakaDemo.Main.prototype.getUILocale=function(){return this.uiLocale_};
249
+ shakaDemo.Main.prototype.getLastAssetFromHash_=function(){var a=this.getParams_(),b=a.asset;if(b){for(var c=$jscomp.makeIterator(shakaAssets.testAssets),d=c.next();!d.done;d=c.next())if(d=d.value,d.manifestUri==b)return d;c=$jscomp.makeIterator(shakaDemoCustom.assets());for(d=c.next();!d.done;d=c.next())if(d=d.value,d.manifestUri==b)return d;b=new ShakaDemoAssetInfo("loaded asset","",b,shakaAssets.Source.UNKNOWN);if("license"in a)for(c=shakaDemo.Main.commonDrmSystems,("drmSystem"in a)&&(c=[a.drmSystem]),
239
250
  c=$jscomp.makeIterator(c),d=c.next();!d.done;d=c.next())b.addLicenseServer(d.value,a.license);"certificate"in a&&b.addCertificateUri(a.certificate);return b}return null};
240
- ShakaDemoMain.prototype.readHash_=function(){var a=this,b=this.getParams_();if(this.player_){var c=this.player_.getConfiguration();ShakaDemoUtils.runThroughHashParams(function(c,d){if(c in b){var e=a.getCurrentConfigValue(d),f=b[c];"boolean"==typeof e?f="true"==f:"number"==typeof e&&(f=parseFloat(f));a.player_.configure(d,f)}},c)}"lang"in b&&(c=b.lang,this.player_.configure("preferredAudioLanguage",c),this.player_.configure("preferredTextLanguage",c),this.setUILocale(c));"uilang"in b&&this.setUILocale(b.uilang);
241
- "noadaptation"in b&&this.player_.configure("abr.enabled",!1);"jumpLargeGaps"in b&&this.player_.configure("streaming.jumpLargeGaps",!0);c="uncompiled";"build"in b?c=b.build:"compiled"in b&&(c="compiled");for(var d={},e=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]),f=e.next();!f.done;d={type:d.type},f=e.next())d.type=f.value,f=document.getElementById(d.type.split("_").join("-")+"-link"),c==d.type?(f.setAttribute("disabled",""),f.removeAttribute("href"),f.title="currently selected"):
242
- (f.removeAttribute("disabled"),f.addEventListener("click",function(b){return function(){var c=location.hash.substr(1).split(";").filter(function(a){return"compiled"!=a&&"build"!=a.split("=")[0]});c.push("build="+b.type);a.setNewHashSilent_(c.join(";"));location.reload();return!1}}(d)));this.nativeControlsEnabled_="nativecontrols"in b;ShakaDemoUtils.browserSupportsUncompiledMode()||(c=document.getElementById("uncompiled-link"),c.setAttribute("disabled",""),c.removeAttribute("href"),c.title="requires a newer browser");
243
- shaka.log&&("vv"in b?shaka.log.setLevel(shaka.log.Level.V2):"v"in b?shaka.log.setLevel(shaka.log.Level.V1):"debug"in b?shaka.log.setLevel(shaka.log.Level.DEBUG):"info"in b&&shaka.log.setLevel(shaka.log.Level.INFO))};ShakaDemoMain.prototype.getParams_=function(){var a=location.search.substr(1);a=a?a.split(";"):[];var b=location.hash.substr(1);b=b?b.split(";"):[];a=a.concat(b);b={};for(var c=0;c<a.length;++c){var d=a[c].split("=");b[d[0]]=d.slice(1).join("=")}return b};
244
- ShakaDemoMain.prototype.getValueFromGivenConfig_=function(a,b){for(var c=b,d=a;d;){var e=d.split(/\.(.+)/);if(3==e.length)d=e[1],c=c[e[0]];else return c[e[0]]}};ShakaDemoMain.prototype.getCurrentConfigValue=function(a){var b=this.player_.getConfiguration();return this.getValueFromGivenConfig_(a,b)};ShakaDemoMain.prototype.resetConfiguration=function(a){this.configure(a,void 0)};ShakaDemoMain.prototype.configure=function(a,b){this.player_.configure(a,b)};ShakaDemoMain.prototype.getConfiguration=function(){return this.player_.getConfiguration()};
245
- ShakaDemoMain.prototype.requestCertificate_=function(a,b){return $jscomp.asyncExecutePromiseGeneratorFunction(function d(){var e,f,g;return $jscomp.generator.createGenerator(d,function(d){switch(d.nextAddress){case 1:return e=shaka.net.NetworkingEngine.RequestType.APP,f={uris:[a]},d.yield(b.request(e,f).promise,2);case 2:return g=d.yieldResult,d["return"](g.data)}})})};
246
- ShakaDemoMain.prototype.unload=function(){this.selectedAsset=null;var a=document.getElementById("video-bar");this.hideNode_(a);this.video_.poster=ShakaDemoMain.mainPoster_;this.player_.unload();this.dispatchEventWithName_("shaka-main-selected-asset-changed");this.remakeHash()};
247
- ShakaDemoMain.prototype.drmConfiguration_=function(a,b){var c=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function e(){var f,g,h,l,k,n,q;return $jscomp.generator.createGenerator(e,function(e){switch(e.nextAddress){case 1:f=b?b.getNetworkingEngine():c.player_.getNetworkingEngine();goog.asserts.assert(f,"There should be a net engine.");a.applyFilters(f);g=a.getConfiguration();b?b.configure(g):(c.player_.resetConfiguration(),c.player_.configure(g));h=b?b.getConfiguration():c.player_.getConfiguration();
248
- if(!a.certificateUri){for(var p=$jscomp.makeIterator(a.licenseServers.keys()),m=p.next();!m.done;m=p.next())l=m.value,h.drm.advanced[l]&&delete h.drm.advanced[l].serverCertificate;e.jumpTo(2);break}return e.yield(c.requestCertificate_(a.certificateUri,f),3);case 3:for(k=e.yieldResult,n=new Uint8Array(k),p=$jscomp.makeIterator(a.licenseServers.keys()),m=p.next();!m.done;m=p.next())q=m.value,h.drm.advanced[q]=h.drm.advanced[q]||{},h.drm.advanced[q].serverCertificate=n;case 2:b?b.configure(h):c.player_.configure("drm.advanced",
249
- h.drm.advanced),c.remakeHash(),e.jumpToEnd()}})})};ShakaDemoMain.prototype.showPlayer_=function(){var a=document.getElementById("video-bar");this.showNode_(a);this.closeError_();this.video_.poster=ShakaDemoMain.mainPoster_;a.scrollIntoView({behavior:"smooth",block:"start"})};
250
- ShakaDemoMain.prototype.loadAsset=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function d(){var e,f,g,h,l;return $jscomp.generator.createGenerator(d,function(d){switch(d.nextAddress){case 1:return d.setCatchFinallyBlocks(2),b.selectedAsset=a,b.showPlayer_(),b.dispatchEventWithName_("shaka-main-selected-asset-changed"),d.yield(b.drmConfiguration_(a),4);case 4:return b.controls_.getCastProxy().setAppData({asset:a}),b.nativeControlsEnabled_?(b.controls_.setEnabledShakaControls(!1),
251
- b.controls_.setEnabledNativeControls(!0)):(b.controls_.setEnabledShakaControls(!0),b.controls_.setEnabledNativeControls(!1)),e=b,f=function(){return e.nativeControlsEnabled_?new shaka.text.SimpleTextDisplayer(e.video_):new shaka.ui.TextDisplayer(e.video_,e.container_)},b.player_.configure("textDisplayFactory",f),g=(a.storedContent?a.storedContent.offlineUri:null)||a.manifestUri,d.yield(b.player_.load(g),5);case 5:b.player_.isAudioOnly()&&(b.video_.poster=ShakaDemoMain.audioOnlyPoster_);d.leaveTryBlock(3);
252
- break;case 2:if(l=h=d.enterCatchBlock(),l.code==shaka.util.Error.Code.LOAD_INTERRUPTED)console.debug("load() interrupted");else b.onError_(l);case 3:b.remakeHash(),d.jumpToEnd()}})})};
253
- ShakaDemoMain.prototype.remakeHash=function(){var a=this;if(this.fullyLoaded_){var b=[];if(this.player_){var c=this.player_.getConfiguration();ShakaDemoUtils.runThroughHashParams(function(c,d){var e=a.getCurrentConfigValue(d),f=a.getValueFromGivenConfig_(d,a.defaultConfig_),g=isNaN(e)&&isNaN(f);e==f||g||b.push(c+"="+e)},c)}this.getCurrentConfigValue("abr.enabled")||b.push("noadaptation");this.getCurrentConfigValue("streaming.jumpLargeGaps")&&b.push("jumpLargeGaps");b.push("uilang="+this.getUILocale());
254
- if(this.selectedAsset){c=shakaAssets.testAssets.includes(this.selectedAsset);b.push("asset="+this.selectedAsset.manifestUri);if(!c&&this.selectedAsset.licenseServers.size){var d=this.selectedAsset.licenseServers.values().next().value;b.push("license="+d);d=$jscomp.makeIterator(this.selectedAsset.licenseServers.keys());for(var e=d.next();!e.done;e=d.next())if(e=e.value,!ShakaDemoMain.commonDrmSystems.includes(e)){b.push("drmSystem="+e);break}}!c&&this.selectedAsset.certificateUri&&b.push("certificate="+
255
- this.selectedAsset.certificateUri)}c=document.getElementById("nav-button-container");c=$jscomp.makeIterator(c.childNodes);for(d=c.next();!d.done;d=c.next())if(d=d.value,d.nodeType==Node.ELEMENT_NODE&&d.classList.contains("mdl-button--accent")){b.push("panel="+d.textContent);break}c=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]);for(d=c.next();!d.done;d=c.next())d=d.value,document.getElementById(d.split("_").join("-")+"-link").hasAttribute("disabled")&&b.push("build="+d);this.nativeControlsEnabled_&&
256
- b.push("nativecontrols");if(shaka.log&&shaka.log.currentLevel!=shaka.log.MAX_LOG_LEVEL)switch(shaka.log.currentLevel){case shaka.log.Level.INFO:b.push("info");break;case shaka.log.Level.DEBUG:b.push("debug");break;case shaka.log.Level.V2:b.push("vv");break;case shaka.log.Level.V1:b.push("v")}this.setNewHashSilent_(b.join(";"))}};ShakaDemoMain.prototype.setNewHashSilent_=function(a){history.replaceState(null,"",document.location.pathname+"#"+a)};ShakaDemoMain.prototype.getHamburgerMenu=function(){return document.getElementById("hamburger-menu-contents")};
257
- ShakaDemoMain.prototype.hideNode_=function(a){a.classList.add("hidden")};ShakaDemoMain.prototype.showNode_=function(a){a.classList.remove("hidden")};
258
- ShakaDemoMain.prototype.addNavButton=function(a){var b=this,c=document.getElementById("nav-button-container"),d=document.getElementById("contents"),e=document.getElementById("nav-button-"+a),f=this.getParams_();(a=f.panel==encodeURI(e.textContent))||f.panel||(a=null!=e.getAttribute("defaultselected"));var g=document.createElement("div");this.hideNode_(g);d.appendChild(g);f=function(){for(var a=$jscomp.makeIterator(c.childNodes),f=a.next();!f.done;f=a.next())f=f.value,f.nodeType==Node.ELEMENT_NODE&&
251
+ shakaDemo.Main.prototype.readHash_=function(){var a=this,b=this.getParams_();if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(c,d){if(c in b){var e=a.getCurrentConfigValue(d),f=b[c];"boolean"==typeof e?f="true"==f:"number"==typeof e&&(f=parseFloat(f));a.configure(d,f)}},c)}"lang"in b&&(c=b.lang,this.configure("preferredAudioLanguage",c),this.configure("preferredTextLanguage",c),this.setUILocale(c));"uilang"in b&&this.setUILocale(b.uilang);"noadaptation"in
252
+ b&&this.configure("abr.enabled",!1);"jumpLargeGaps"in b&&this.configure("streaming.jumpLargeGaps",!0);c="uncompiled";"build"in b?c=b.build:"compiled"in b&&(c="compiled");for(var d={},e=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]),f=e.next();!f.done;d={type:d.type},f=e.next())d.type=f.value,f=document.getElementById(d.type.split("_").join("-")+"-link"),c==d.type?(f.setAttribute("disabled",""),f.removeAttribute("href"),f.title="currently selected"):(f.removeAttribute("disabled"),
253
+ f.addEventListener("click",function(b){return function(){var c=location.hash.substr(1).split(";").filter(function(a){return"compiled"!=a&&"build"!=a.split("=")[0]});c.push("build="+b.type);a.setNewHashSilent_(c.join(";"));location.reload();return!1}}(d)));this.nativeControlsEnabled_="nativecontrols"in b;shakaDemo.Utils.browserSupportsUncompiledMode()||(c=document.getElementById("uncompiled-link"),c.setAttribute("disabled",""),c.removeAttribute("href"),c.title="requires a newer browser");shaka.log&&
254
+ ("vv"in b?shaka.log.setLevel(shaka.log.Level.V2):"v"in b?shaka.log.setLevel(shaka.log.Level.V1):"debug"in b?shaka.log.setLevel(shaka.log.Level.DEBUG):"info"in b&&shaka.log.setLevel(shaka.log.Level.INFO))};shakaDemo.Main.prototype.getParams_=function(){var a=location.search.substr(1);a=a?a.split(";"):[];var b=location.hash.substr(1);b=b?b.split(";"):[];a=a.concat(b);b={};for(var c=0;c<a.length;++c){var d=a[c].split("=");b[d[0]]=d.slice(1).join("=")}return b};
255
+ shakaDemo.Main.prototype.getValueFromGivenConfig_=function(a,b){for(var c=b,d=a;d;){var e=d.split(/\.(.+)/);if(3==e.length)d=e[1],c=c[e[0]];else return c[e[0]]}};shakaDemo.Main.prototype.getCurrentConfigValue=function(a){return this.getValueFromGivenConfig_(a,this.desiredConfig_)};shakaDemo.Main.prototype.resetConfiguration=function(a){this.configure(a,void 0)};
256
+ shakaDemo.Main.prototype.configure=function(a,b){2==arguments.length&&"string"==typeof a&&(a=shaka.util.ConfigUtils.convertToConfigObject(a,b));shaka.util.PlayerConfiguration.mergeConfigObjects(this.desiredConfig_,a,this.defaultConfig_);this.player_.configure(a,b)};shakaDemo.Main.prototype.getConfiguration=function(){return this.desiredConfig_};
257
+ shakaDemo.Main.prototype.requestCertificate_=function(a,b){return $jscomp.asyncExecutePromiseGeneratorFunction(function d(){var e,f,g;return $jscomp.generator.createGenerator(d,function(d){switch(d.nextAddress){case 1:return e=shaka.net.NetworkingEngine.RequestType.APP,f={uris:[a]},d.yield(b.request(e,f).promise,2);case 2:return g=d.yieldResult,d["return"](g.data)}})})};
258
+ shakaDemo.Main.prototype.unload=function(){this.selectedAsset=null;var a=document.getElementById("video-bar");this.hideNode_(a);this.video_.poster=shakaDemo.Main.mainPoster_;document.fullscreenElement&&document.exitFullscreen();document.pictureInPictureElement&&document.exitPictureInPicture();this.player_.unload();this.dispatchEventWithName_("shaka-main-selected-asset-changed");navigator.mediaSession&&(navigator.mediaSession.metadata=null);this.remakeHash()};
259
+ shakaDemo.Main.prototype.drmConfiguration_=function(a,b){var c=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function e(){var f,g,h,l,k,p,m;return $jscomp.generator.createGenerator(e,function(e){switch(e.nextAddress){case 1:f=b?b.getNetworkingEngine():c.player_.getNetworkingEngine();goog.asserts.assert(f,"There should be a net engine.");a.applyFilters(f);g=a.getConfiguration();b?b.configure(g):(c.player_.configure(c.desiredConfig_),c.player_.configure(g));h=b?b.getConfiguration():c.player_.getConfiguration();
260
+ if(!a.certificateUri){for(var q=$jscomp.makeIterator(a.licenseServers.keys()),n=q.next();!n.done;n=q.next())l=n.value,h.drm.advanced[l]&&delete h.drm.advanced[l].serverCertificate;e.jumpTo(2);break}return e.yield(c.requestCertificate_(a.certificateUri,f),3);case 3:for(k=e.yieldResult,p=new Uint8Array(k),q=$jscomp.makeIterator(a.licenseServers.keys()),n=q.next();!n.done;n=q.next())m=n.value,h.drm.advanced[m]=h.drm.advanced[m]||{},h.drm.advanced[m].serverCertificate=p;case 2:b?b.configure(h):c.player_.configure("drm.advanced",
261
+ h.drm.advanced),c.remakeHash(),e.jumpToEnd()}})})};shakaDemo.Main.prototype.showPlayer_=function(){var a=document.getElementById("video-bar");this.showNode_(a);this.closeError_();this.video_.poster=shakaDemo.Main.mainPoster_;a.scrollIntoView({behavior:"smooth",block:"start"})};
262
+ shakaDemo.Main.prototype.loadAsset=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorFunction(function d(){var e,f,g,h,l,k;return $jscomp.generator.createGenerator(d,function(d){switch(d.nextAddress){case 1:return d.setCatchFinallyBlocks(2),b.selectedAsset=a,b.showPlayer_(),b.dispatchEventWithName_("shaka-main-selected-asset-changed"),d.yield(b.drmConfiguration_(a),4);case 4:return b.controls_.getCastProxy().setAppData({asset:a}),b.nativeControlsEnabled_?(b.controls_.setEnabledShakaControls(!1),
263
+ b.controls_.setEnabledNativeControls(!0)):(b.controls_.setEnabledShakaControls(!0),b.controls_.setEnabledNativeControls(!1)),e=b,f=function(){return e.nativeControlsEnabled_?new shaka.text.SimpleTextDisplayer(e.video_):new shaka.ui.TextDisplayer(e.video_,e.container_)},b.player_.configure("textDisplayFactory",f),g=(a.storedContent?a.storedContent.offlineUri:null)||a.manifestUri,d.yield(b.player_.load(g),5);case 5:b.player_.isAudioOnly()&&(b.video_.poster=shakaDemo.Main.audioOnlyPoster_);navigator.mediaSession&&
264
+ (h={title:a.name,artwork:[{src:a.iconUri}]},a.source!=shakaAssets.Source.UNKNOWN&&(h.artist=a.source),navigator.mediaSession.metadata=new MediaMetadata(h));d.leaveTryBlock(3);break;case 2:if(k=l=d.enterCatchBlock(),k.code==shaka.util.Error.Code.LOAD_INTERRUPTED)console.debug("load() interrupted");else b.onError_(k);case 3:b.remakeHash(),d.jumpToEnd()}})})};
265
+ shakaDemo.Main.prototype.remakeHash=function(){var a=this;if(this.fullyLoaded_){var b=[];if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(c,d){var e=a.getCurrentConfigValue(d),f=a.getValueFromGivenConfig_(d,a.defaultConfig_),g=isNaN(e)&&isNaN(f);e==f||g||b.push(c+"="+e)},c)}this.getCurrentConfigValue("abr.enabled")||b.push("noadaptation");this.getCurrentConfigValue("streaming.jumpLargeGaps")&&b.push("jumpLargeGaps");b.push("uilang="+this.getUILocale());
266
+ if(this.selectedAsset){c=shakaAssets.testAssets.includes(this.selectedAsset);b.push("asset="+this.selectedAsset.manifestUri);if(!c&&this.selectedAsset.licenseServers.size){var d=this.selectedAsset.licenseServers.values().next().value;b.push("license="+d);d=$jscomp.makeIterator(this.selectedAsset.licenseServers.keys());for(var e=d.next();!e.done;e=d.next())if(e=e.value,!shakaDemo.Main.commonDrmSystems.includes(e)){b.push("drmSystem="+e);break}}!c&&this.selectedAsset.certificateUri&&b.push("certificate="+
267
+ this.selectedAsset.certificateUri)}c=document.getElementById("nav-button-container");c=$jscomp.makeIterator(c.childNodes);for(d=c.next();!d.done;d=c.next())if(d=d.value,d.nodeType==Node.ELEMENT_NODE&&d.classList.contains("mdl-button--accent")){b.push("panel="+d.textContent);break}c=$jscomp.makeIterator(["compiled","debug_compiled","uncompiled"]);for(d=c.next();!d.done;d=c.next())d=d.value,document.getElementById(d.split("_").join("-")+"-link").hasAttribute("disabled")&&b.push("build="+d);this.noInput_&&
268
+ b.push("noinput");this.nativeControlsEnabled_&&b.push("nativecontrols");if(shaka.log&&shaka.log.currentLevel!=shaka.log.MAX_LOG_LEVEL)switch(shaka.log.currentLevel){case shaka.log.Level.INFO:b.push("info");break;case shaka.log.Level.DEBUG:b.push("debug");break;case shaka.log.Level.V2:b.push("vv");break;case shaka.log.Level.V1:b.push("v")}this.setNewHashSilent_(b.join(";"))}};shakaDemo.Main.prototype.setNewHashSilent_=function(a){history.replaceState(null,"",document.location.pathname+"#"+a)};
269
+ shakaDemo.Main.prototype.getHamburgerMenu=function(){return document.getElementById("hamburger-menu-contents")};shakaDemo.Main.prototype.hideNode_=function(a){a.classList.add("hidden")};shakaDemo.Main.prototype.showNode_=function(a){a.classList.remove("hidden")};
270
+ shakaDemo.Main.prototype.addNavButton=function(a){var b=this,c=document.getElementById("nav-button-container"),d=document.getElementById("contents"),e=document.getElementById("nav-button-"+a),f=this.getParams_();(a=f.panel==encodeURI(e.textContent))||f.panel||(a=null!=e.getAttribute("defaultselected"));var g=document.createElement("div");this.hideNode_(g);d.appendChild(g);f=function(){for(var a=$jscomp.makeIterator(c.childNodes),f=a.next();!f.done;f=a.next())f=f.value,f.nodeType==Node.ELEMENT_NODE&&
259
271
  f.classList.remove("mdl-button--accent");a=$jscomp.makeIterator(d.childNodes);for(f=a.next();!f.done;f=a.next())f=f.value,f.nodeType==Node.ELEMENT_NODE&&b.hideNode_(f);e.classList.add("mdl-button--accent");b.showNode_(g);b.remakeHash();b.dispatchEventWithName_("shaka-main-page-changed");g.scrollIntoView({behavior:"smooth",block:"start"})};e.addEventListener("click",f);a&&Promise.resolve().then(f);return g};
260
- ShakaDemoMain.prototype.dispatchEventWithName_=function(a){var b=document.createEvent("CustomEvent");b.initCustomEvent(a,!1,!1,null);document.dispatchEvent(b)};
261
- ShakaDemoMain.prototype.setUpVersionString_=function(){for(var a=shaka.Player.version.split("-"),b=[],c={},d=$jscomp.makeIterator(["debug","uncompiled"]),e=d.next();!e.done;c={whitelisted:c.whitelisted},e=d.next())c.whitelisted=e.value,a.includes(c.whitelisted)&&(b.push(c.whitelisted),a=a.filter(function(a){return function(b){return b!=a.whitelisted}}(c)));c=document.getElementById("version-string");c.textContent=a.join("-");0<b.length&&(c.textContent+=" ("+b.join(", ")+")")};
262
- ShakaDemoMain.prototype.closeError_=function(){document.getElementById("error-display").classList.add("hidden");var a=document.getElementById("error-display-link");a.href="";a.textContent="";a.severity=null};ShakaDemoMain.prototype.onErrorEvent_=function(a){this.onError_(a.detail)};
263
- ShakaDemoMain.prototype.onError_=function(a){var b=a.severity;if(null==b||void 0==a.severity)b=shaka.util.Error.Severity.CRITICAL;var c=a.message||"Error code "+a.code,d="";a.code&&(d="../docs/api/shaka.util.Error.html#value:"+a.code);console.error(a);this.handleError_(b,c,d)};
264
- ShakaDemoMain.prototype.handleError_=function(a,b,c){var d=document.getElementById("error-display-link");if(null==d.severity||a>d.severity)d.href=c,void 0===d.textContent?d.innerText=b:d.textContent=b,d.severity=a,d.href?d.classList.remove("input-disabled"):d.classList.add("input-disabled"),document.getElementById("error-display").classList.remove("hidden")};ShakaDemoMain.prototype.onCastStatusChange_=function(a){a&&!this.selectedAsset&&(this.selectedAsset=ShakaDemoAssetInfo.makeBlankAsset(),this.showPlayer_())};
265
- ShakaDemoMain.commonDrmSystems=["com.widevine.alpha","com.microsoft.playready","com.apple.fps.1_0","com.adobe.primetime","org.w3.clearkey"];var shakaDemoMain=new ShakaDemoMain;ShakaDemoMain.mainPoster_="https://shaka-player-demo.appspot.com/assets/poster.jpg";ShakaDemoMain.audioOnlyPoster_="https://shaka-player-demo.appspot.com/assets/audioOnly.gif";
266
- ShakaDemoMain.initWrapper=function(a){return $jscomp.asyncExecutePromiseGeneratorFunction(function c(){var d;return $jscomp.generator.createGenerator(c,function(c){switch(c.nextAddress){case 1:return c.setCatchFinallyBlocks(2),c.yield(a(),4);case 4:c.leaveTryBlock(0);break;case 2:d=c.enterCatchBlock(),shakaDemoMain.onError_(d),console.error(d),c.jumpToEnd()}})})};document.addEventListener("shaka-ui-loaded",function(){ShakaDemoMain.initWrapper(function(){return shakaDemoMain.init()})});
267
- document.addEventListener("shaka-ui-load-failed",function(a){ShakaDemoMain.initWrapper(function(){return shakaDemoMain.initFailed()})});var shakaDemoSearch,ShakaDemoSearch=function(a){var b=this;this.desiredFeatures_=[];this.makeSearchDiv_(a);this.assetCards_=[];this.resultsDiv_=document.createElement("div");a.appendChild(this.resultsDiv_);document.addEventListener("shaka-main-selected-asset-changed",function(){b.updateSelected_()});document.addEventListener("shaka-main-offline-progress",function(){b.updateOfflineProgress_()});document.addEventListener("shaka-main-page-changed",function(){b.resultsDiv_.childNodes.length||a.classList.contains("hidden")||
268
- b.remakeResultsDiv_()})};ShakaDemoSearch.init=function(){var a=shakaDemoMain.addNavButton("search");shakaDemoSearch=new ShakaDemoSearch(a)};ShakaDemoSearch.prototype.createAssetCardFor_=function(a){var b=this;return new AssetCard(this.resultsDiv_,a,!1,function(c){var d=shakaDemoMain.getAssetUnsupportedReason(a,!1);d?c.markAsUnsupported(d):(c.addButton("Play",function(){shakaDemoMain.loadAsset(a);b.updateSelected_()}),c.addStoreButton())})};
269
- ShakaDemoSearch.prototype.updateOfflineProgress_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.updateProgress()};ShakaDemoSearch.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};
270
- ShakaDemoSearch.prototype.remakeResultsDiv_=function(){var a=this;shaka.ui.Utils.removeAllChildren(this.resultsDiv_);this.assetCards_=this.searchResults_().map(function(b){return a.createAssetCardFor_(b)});this.updateSelected_()};
271
- ShakaDemoSearch.prototype.addDesiredTerm_=function(a,b,c){switch(b){case ShakaDemoSearch.TermType.DRM:this.desiredDRM_=a;break;case ShakaDemoSearch.TermType.SOURCE:this.desiredSource_=a;break;case ShakaDemoSearch.TermType.FEATURE:b=$jscomp.makeIterator(c);for(c=b.next();!c.done;c=b.next())c=this.desiredFeatures_.indexOf(c.value),-1!=c&&this.desiredFeatures_.splice(c,1);this.desiredFeatures_.push(a)}};
272
- ShakaDemoSearch.prototype.removeDesiredTerm_=function(a,b){switch(b){case ShakaDemoSearch.TermType.DRM:this.desiredDRM_=null;break;case ShakaDemoSearch.TermType.SOURCE:this.desiredSource_=null;break;case ShakaDemoSearch.TermType.FEATURE:var c=this.desiredFeatures_.indexOf(a);-1!=c&&this.desiredFeatures_.splice(c,1)}};
273
- ShakaDemoSearch.prototype.makeBooleanInput_=function(a,b,c){var d=this;a.addRow(b,null,"significant-right-padding");new ShakaDemoBoolInput(a,b,function(a){a.checked?d.addDesiredTerm_(b,c,[b]):d.removeDesiredTerm_(b,c);d.remakeResultsDiv_();componentHandler.upgradeDom()})};
274
- ShakaDemoSearch.prototype.makeSelectInput_=function(a,b,c,d){var e=this;a.addRow(null,null);for(var f={},g=$jscomp.makeIterator(c),h=g.next();!h.done;h=g.next())if(h=h.value,"DRM"==d)for(var l in shakaAssets.KeySystem){if(shakaAssets.KeySystem[l]==h){f[h]=l.split("_").map(function(a){return a[0]+a.substr(1).toLowerCase()}).join(" ");break}}else f[h]=h;var k=f.Unspecified="Unspecified";a=new ShakaDemoSelectInput(a,b,function(a){"Unspecified"!=a.value?e.addDesiredTerm_(a.value,d,c):e.removeDesiredTerm_(k,
272
+ shakaDemo.Main.prototype.dispatchEventWithName_=function(a){var b=document.createEvent("CustomEvent");b.initCustomEvent(a,!1,!1,null);document.dispatchEvent(b)};
273
+ shakaDemo.Main.prototype.setUpVersionStrings_=function(){for(var a=shaka.Player.version.split("-"),b=[],c={},d=$jscomp.makeIterator(["debug","uncompiled"]),e=d.next();!e.done;c={whitelisted:c.whitelisted},e=d.next())c.whitelisted=e.value,a.includes(c.whitelisted)&&(b.push(c.whitelisted),a=a.filter(function(a){return function(b){return b!=a.whitelisted}}(c)));c=document.getElementsByClassName("version-string");c=$jscomp.makeIterator(c);for(d=c.next();!d.done;d=c.next())d=d.value,d.textContent=a.join("-"),
274
+ 0<b.length&&(d.textContent+=" ("+b.join(", ")+")")};shakaDemo.Main.prototype.closeError_=function(){document.getElementById("error-display").classList.add("hidden");var a=document.getElementById("error-display-link");a.href="";a.textContent="";a.severity=null};shakaDemo.Main.prototype.onErrorEvent_=function(a){this.onError_(a.detail)};
275
+ shakaDemo.Main.prototype.onError_=function(a){var b=a.severity;if(null==b||void 0==a.severity)b=shaka.util.Error.Severity.CRITICAL;var c=a.message||"Error code "+a.code,d="";a.code&&(d="../docs/api/shaka.util.Error.html#value:"+a.code);console.error(a);this.handleError_(b,c,d)};
276
+ shakaDemo.Main.prototype.handleError_=function(a,b,c){var d=document.getElementById("error-display-link");if(null==d.severity||a>d.severity)d.href=c,void 0===d.textContent?d.innerText=b:d.textContent=b,d.severity=a,d.href?d.classList.remove("input-disabled"):d.classList.add("input-disabled"),document.getElementById("error-display").classList.remove("hidden")};shakaDemo.Main.prototype.onCastStatusChange_=function(a){a&&!this.selectedAsset&&(this.selectedAsset=ShakaDemoAssetInfo.makeBlankAsset(),this.showPlayer_())};
277
+ shakaDemo.Main.commonDrmSystems=["com.widevine.alpha","com.microsoft.playready","com.apple.fps.1_0","com.adobe.primetime","org.w3.clearkey"];var shakaDemoMain=new shakaDemo.Main;shakaDemo.Main.mainPoster_="https://shaka-player-demo.appspot.com/assets/poster.jpg";shakaDemo.Main.audioOnlyPoster_="https://shaka-player-demo.appspot.com/assets/audioOnly.gif";
278
+ shakaDemo.Main.initWrapper=function(a){return $jscomp.asyncExecutePromiseGeneratorFunction(function c(){var d;return $jscomp.generator.createGenerator(c,function(c){switch(c.nextAddress){case 1:return c.setCatchFinallyBlocks(2),c.yield(a(),4);case 4:c.leaveTryBlock(0);break;case 2:d=c.enterCatchBlock(),shakaDemoMain.onError_(d),console.error(d),c.jumpToEnd()}})})};document.addEventListener("shaka-ui-loaded",function(){shakaDemo.Main.initWrapper(function(){return shakaDemoMain.init()})});
279
+ document.addEventListener("shaka-ui-load-failed",function(a){shakaDemo.Main.initWrapper(function(){return shakaDemoMain.initFailed()})});var shakaDemoSearch;
280
+ shakaDemo.Search=function(a){var b=this;this.desiredFeatures_=[];this.makeSearchDiv_(a);this.assetCards_=[];this.resultsDiv_=document.createElement("div");a.appendChild(this.resultsDiv_);document.addEventListener("shaka-main-selected-asset-changed",function(){b.updateSelected_()});document.addEventListener("shaka-main-offline-progress",function(){b.updateOfflineProgress_()});document.addEventListener("shaka-main-page-changed",function(){b.resultsDiv_.childNodes.length||a.classList.contains("hidden")||b.remakeResultsDiv_()})};
281
+ shakaDemo.Search.init=function(){var a=shakaDemoMain.addNavButton("search");shakaDemoSearch=new shakaDemo.Search(a)};shakaDemo.Search.prototype.createAssetCardFor_=function(a){var b=this;return new shakaDemo.AssetCard(this.resultsDiv_,a,!1,function(c){var d=shakaDemoMain.getAssetUnsupportedReason(a,!1);d?c.markAsUnsupported(d):(c.addButton("Play",function(){shakaDemoMain.loadAsset(a);b.updateSelected_()}),c.addStoreButton())})};
282
+ shakaDemo.Search.prototype.updateOfflineProgress_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.updateProgress()};shakaDemo.Search.prototype.updateSelected_=function(){for(var a=$jscomp.makeIterator(this.assetCards_),b=a.next();!b.done;b=a.next())b.value.selectByAsset(shakaDemoMain.selectedAsset)};
283
+ shakaDemo.Search.prototype.remakeResultsDiv_=function(){var a=this;shaka.ui.Utils.removeAllChildren(this.resultsDiv_);this.assetCards_=this.searchResults_().map(function(b){return a.createAssetCardFor_(b)});this.updateSelected_()};
284
+ shakaDemo.Search.prototype.addDesiredTerm_=function(a,b,c){switch(b){case shakaDemo.Search.TermType.DRM:this.desiredDRM_=a;break;case shakaDemo.Search.TermType.SOURCE:this.desiredSource_=a;break;case shakaDemo.Search.TermType.FEATURE:b=$jscomp.makeIterator(c);for(c=b.next();!c.done;c=b.next())c=this.desiredFeatures_.indexOf(c.value),-1!=c&&this.desiredFeatures_.splice(c,1);this.desiredFeatures_.push(a)}};
285
+ shakaDemo.Search.prototype.removeDesiredTerm_=function(a,b){switch(b){case shakaDemo.Search.TermType.DRM:this.desiredDRM_=null;break;case shakaDemo.Search.TermType.SOURCE:this.desiredSource_=null;break;case shakaDemo.Search.TermType.FEATURE:var c=this.desiredFeatures_.indexOf(a);-1!=c&&this.desiredFeatures_.splice(c,1)}};
286
+ shakaDemo.Search.prototype.makeBooleanInput_=function(a,b,c){var d=this;a.addRow(b,null,"significant-right-padding");new shakaDemo.BoolInput(a,b,function(a){a.checked?d.addDesiredTerm_(b,c,[b]):d.removeDesiredTerm_(b,c);d.remakeResultsDiv_();componentHandler.upgradeDom()})};
287
+ shakaDemo.Search.prototype.makeSelectInput_=function(a,b,c,d){var e=this;a.addRow(null,null);for(var f={},g=$jscomp.makeIterator(c),h=g.next();!h.done;h=g.next())if(h=h.value,"DRM"==d)for(var l in shakaAssets.KeySystem){if(shakaAssets.KeySystem[l]==h){f[h]=l.split("_").map(function(a){return a[0]+a.substr(1).toLowerCase()}).join(" ");break}}else f[h]=h;var k=f.Unspecified="Unspecified";a=new shakaDemo.SelectInput(a,b,function(a){"Unspecified"!=a.value?e.addDesiredTerm_(a.value,d,c):e.removeDesiredTerm_(k,
275
288
  d);k=a.value;e.remakeResultsDiv_();componentHandler.upgradeDom()},f);a.extra().textContent=b;a.input().value="Unspecified"};
276
- ShakaDemoSearch.prototype.makeSearchDiv_=function(a){var b=shakaAssets.Feature,c=ShakaDemoSearch.TermType.FEATURE,d=ShakaDemoSearch.TermType.DRM,e=ShakaDemoSearch.TermType.SOURCE,f=new ShakaDemoInputContainer(a,null,ShakaDemoInputContainer.Style.FLEX,null);this.makeSelectInput_(f,"Manifest",[b.DASH,b.HLS],c);this.makeSelectInput_(f,"Container",[b.MP4,b.MP2TS,b.WEBM],c);this.makeSelectInput_(f,"DRM",Object.values(shakaAssets.KeySystem),d);this.makeSelectInput_(f,"Source",Object.values(shakaAssets.Source).filter(function(a){return"Custom"!=
277
- a}),e);a=new ShakaDemoInputContainer(a,null,ShakaDemoInputContainer.Style.FLEX,null);this.makeBooleanInput_(a,b.LIVE,c);this.makeBooleanInput_(a,b.HIGH_DEFINITION,c);this.makeBooleanInput_(a,b.XLINK,c);this.makeBooleanInput_(a,b.SUBTITLES,c);this.makeBooleanInput_(a,b.TRICK_MODE,c);this.makeBooleanInput_(a,b.SURROUND,c);this.makeBooleanInput_(a,b.OFFLINE,c);this.makeBooleanInput_(a,b.STORED,c)};
278
- ShakaDemoSearch.prototype.searchResults_=function(){var a=this;return shakaAssets.testAssets.filter(function(b){if(b.disabled||a.desiredDRM_&&!b.drm.includes(a.desiredDRM_)||a.desiredSource_&&b.source!=a.desiredSource_)return!1;for(var c=$jscomp.makeIterator(a.desiredFeatures_),d=c.next();!d.done;d=c.next())if(d=d.value,d==shakaAssets.Feature.STORED){if(!b.isStored())return!1}else if(!b.features.includes(d))return!1;return!0})};ShakaDemoSearch.TermType={FEATURE:"Feature",DRM:"DRM",SOURCE:"Source"};
279
- document.addEventListener("shaka-main-loaded",ShakaDemoSearch.init);var ShakaDemoTooltips=function(){};ShakaDemoTooltips.make=function(a,b,c){b.id=ShakaDemoTooltips.generateNewId_();var d=document.createElement("div");d.classList.add("mdl-tooltip");d.classList.add("mdl-tooltip--large");d.setAttribute("for",b.id);d.textContent=c;a.appendChild(d)};ShakaDemoTooltips.generateNewId_=function(){var a=ShakaDemoTooltips.lastId_;ShakaDemoTooltips.lastId_+=1;return"tooltip-labeled-"+a};ShakaDemoTooltips.lastId_=0;goog.uri={};goog.uri.utils={};goog.uri.utils.splitRe_=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/;goog.uri.utils.ComponentIndex={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7};goog.uri.utils.split=function(a){return a.match(goog.uri.utils.splitRe_)};goog.Uri=function(a){var b;a instanceof goog.Uri?(this.setScheme(a.getScheme()),this.setUserInfo(a.getUserInfo()),this.setDomain(a.getDomain()),this.setPort(a.getPort()),this.setPath(a.getPath()),this.setQueryData(a.getQueryData().clone()),this.setFragment(a.getFragment())):a&&(b=goog.uri.utils.split(String(a)))?(this.setScheme(b[goog.uri.utils.ComponentIndex.SCHEME]||"",!0),this.setUserInfo(b[goog.uri.utils.ComponentIndex.USER_INFO]||"",!0),this.setDomain(b[goog.uri.utils.ComponentIndex.DOMAIN]||
289
+ shakaDemo.Search.prototype.makeSearchDiv_=function(a){var b=shakaAssets.Feature,c=shakaDemo.Search.TermType.FEATURE,d=shakaDemo.Search.TermType.DRM,e=shakaDemo.Search.TermType.SOURCE,f=new shakaDemo.InputContainer(a,null,shakaDemo.InputContainer.Style.FLEX,null);this.makeSelectInput_(f,"Manifest",[b.DASH,b.HLS],c);this.makeSelectInput_(f,"Container",[b.MP4,b.MP2TS,b.WEBM],c);this.makeSelectInput_(f,"DRM",Object.values(shakaAssets.KeySystem),d);this.makeSelectInput_(f,"Source",Object.values(shakaAssets.Source).filter(function(a){return"Custom"!=
290
+ a}),e);a=new shakaDemo.InputContainer(a,null,shakaDemo.InputContainer.Style.FLEX,null);this.makeBooleanInput_(a,b.LIVE,c);this.makeBooleanInput_(a,b.HIGH_DEFINITION,c);this.makeBooleanInput_(a,b.XLINK,c);this.makeBooleanInput_(a,b.SUBTITLES,c);this.makeBooleanInput_(a,b.TRICK_MODE,c);this.makeBooleanInput_(a,b.SURROUND,c);this.makeBooleanInput_(a,b.OFFLINE,c);this.makeBooleanInput_(a,b.STORED,c)};
291
+ shakaDemo.Search.prototype.searchResults_=function(){var a=this;return shakaAssets.testAssets.filter(function(b){if(b.disabled||a.desiredDRM_&&!b.drm.includes(a.desiredDRM_)||a.desiredSource_&&b.source!=a.desiredSource_)return!1;for(var c=$jscomp.makeIterator(a.desiredFeatures_),d=c.next();!d.done;d=c.next())if(d=d.value,d==shakaAssets.Feature.STORED){if(!b.isStored())return!1}else if(!b.features.includes(d))return!1;return!0})};shakaDemo.Search.TermType={FEATURE:"Feature",DRM:"DRM",SOURCE:"Source"};
292
+ document.addEventListener("shaka-main-loaded",shakaDemo.Search.init);shakaDemo.Tooltips=function(){};shakaDemo.Tooltips.make=function(a,b){tippy(a,{content:b,placement:"bottom",arrow:!0,animation:"scale",size:"large"})};goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.assert=function(){};goog.asserts.patchAssert_=function(){var a=console.assert;a?a.bind||(console.assert=function(){a.apply(console,arguments)}):console.assert=function(){}};goog.asserts.ENABLE_ASSERTS&&(goog.asserts.patchAssert_(),goog.asserts.assert=console.assert.bind(console));goog.uri={};goog.uri.utils={};goog.uri.utils.splitRe_=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/;goog.uri.utils.ComponentIndex={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7};goog.uri.utils.split=function(a){return a.match(goog.uri.utils.splitRe_)};goog.Uri=function(a){var b;a instanceof goog.Uri?(this.setScheme(a.getScheme()),this.setUserInfo(a.getUserInfo()),this.setDomain(a.getDomain()),this.setPort(a.getPort()),this.setPath(a.getPath()),this.setQueryData(a.getQueryData().clone()),this.setFragment(a.getFragment())):a&&(b=goog.uri.utils.split(String(a)))?(this.setScheme(b[goog.uri.utils.ComponentIndex.SCHEME]||"",!0),this.setUserInfo(b[goog.uri.utils.ComponentIndex.USER_INFO]||"",!0),this.setDomain(b[goog.uri.utils.ComponentIndex.DOMAIN]||
280
293
  "",!0),this.setPort(b[goog.uri.utils.ComponentIndex.PORT]),this.setPath(b[goog.uri.utils.ComponentIndex.PATH]||"",!0),this.setQueryData(b[goog.uri.utils.ComponentIndex.QUERY_DATA]||"",!0),this.setFragment(b[goog.uri.utils.ComponentIndex.FRAGMENT]||"",!0)):this.queryData_=new goog.Uri.QueryData(null,null)};goog.Uri.prototype.scheme_="";goog.Uri.prototype.userInfo_="";goog.Uri.prototype.domain_="";goog.Uri.prototype.port_=null;goog.Uri.prototype.path_="";goog.Uri.prototype.fragment_="";
281
294
  goog.Uri.prototype.toString=function(){var a=[],b=this.getScheme();b&&a.push(goog.Uri.encodeSpecialChars_(b,goog.Uri.reDisallowedInSchemeOrUserInfo_,!0),":");if(b=this.getDomain()){a.push("//");var c=this.getUserInfo();c&&a.push(goog.Uri.encodeSpecialChars_(c,goog.Uri.reDisallowedInSchemeOrUserInfo_,!0),"@");a.push(goog.Uri.removeDoubleEncoding_(encodeURIComponent(b)));b=this.getPort();null!=b&&a.push(":",String(b))}if(b=this.getPath())this.hasDomain()&&"/"!=b.charAt(0)&&a.push("/"),a.push(goog.Uri.encodeSpecialChars_(b,
282
295
  "/"==b.charAt(0)?goog.Uri.reDisallowedInAbsolutePath_:goog.Uri.reDisallowedInRelativePath_,!0));(b=this.getEncodedQuery())&&a.push("?",b);(b=this.getFragment())&&a.push("#",goog.Uri.encodeSpecialChars_(b,goog.Uri.reDisallowedInFragment_));return a.join("")};