window.webOS=function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e){e.exports=JSON.parse('{"name":"webostv-js","version":"1.2.10","description":"","main":"index.js","scripts":{"belazy":"npm run lint && npm run release","build":"node scripts/build.js","build:dev":"node scripts/build.js develop","clean":"git clean -xdf","lint":"eslint . --cache","format":"prettier --write \\"{src,tests,config,scripts}/**/*.{js,json}\\"","release":"node scripts/release.js","zip":"node scripts/zip.js","test":"node scripts/test.js app","test:mocha":"node scripts/test.js mocha"},"repository":{"type":"git","url":"http://mod.lge.com/hub/tvsdk/webostv-js.git"},"keywords":[],"author":"LGE TV Lab","license":"Apache-2.0","devDependencies":{"@babel/cli":"^7.10.1","@babel/core":"^7.10.2","@babel/polyfill":"^7.10.1","@babel/preset-env":"^7.10.2","address":"^1.0.3","archiver":"^4.0.1","babel-loader":"^8.1.0","chalk":"^2.4.1","command-exists":"^1.2.7","eslint":"^4.19.1","eslint-config-airbnb-base":"^12.1.0","eslint-loader":"^2.0.0","eslint-plugin-import":"^2.12.0","fs-extra":"^8.1.0","html-webpack-plugin":"^4.3.0","mocha":"^5.2.0","mocha-loader":"^1.1.3","prettier":"^3.2.5","webpack":"^4.10.1","webpack-dev-server":"^3.1.4","webpack-merge":"^4.1.2"}}')},function(e,t,n){"use strict";n.r(t),n.d(t,"deviceInfo",(function(){return I})),n.d(t,"fetchAppId",(function(){return o})),n.d(t,"fetchAppInfo",(function(){return i})),n.d(t,"fetchAppRootPath",(function(){return s})),n.d(t,"keyboard",(function(){return H})),n.d(t,"libVersion",(function(){return K})),n.d(t,"platformBack",(function(){return u})),n.d(t,"platform",(function(){return k})),n.d(t,"service",(function(){return b})),n.d(t,"systemInfo",(function(){return L}));var o=function(){return window.PalmSystem&&window.PalmSystem.identifier?window.PalmSystem.identifier.split(" ")[0]:""},r={},i=function(e,t){if(0===Object.keys(r).length){var n=function(t,n){if(!t&&n)try{r=JSON.parse(n),e&&e(r)}catch(t){console.error("Unable to parse appinfo.json file for",o()),e&&e()}else e&&e()},i=new window.XMLHttpRequest;i.onreadystatechange=function(){4===i.readyState&&(i.status>=200&&i.status<300||0===i.status?n(null,i.responseText):n({status:404}))};try{i.open("GET",t||"appinfo.json",!0),i.send(null)}catch(e){n({status:404})}}else e&&e(r)},s=function(){var e=window.location.href;if("baseURI"in window.document)e=window.document.baseURI;else{var t=window.document.getElementsByTagName("base");t.length>0&&(e=t[0].href)}var n=e.match(/.*:\/\/[^#]*\//);return n?n[0]:""},u=function(){if(window.PalmSystem&&window.PalmSystem.platformBack)return window.PalmSystem.platformBack()};function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function l(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:function(){},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(!this.cancelled){var r={};try{r=JSON.parse(o)}catch(e){r={errorCode:-1,errorText:o,returnValue:!1}}var i=r,s=i.errorCode,u=i.returnValue;s||!1===u?(r.returnValue=!1,t(r)):(r.returnValue=!0,e(r)),n(r),this.subscribe||this.cancel()}}},{key:"cancel",value:function(){this.cancelled=!0,null!==this.bridge&&(this.bridge.cancel(),this.bridge=null),this.ts&&p[this.ts]&&delete p[this.ts]}}])&&f(t.prototype,n),o&&f(t,o),Object.defineProperty(t,"prototype",{writable:!1}),e}(),b={request:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=l({service:e},t);return(new v).send(n)}};function y(e){return(y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var g={};if("object"===("undefined"==typeof window?"undefined":y(window))&&window.PalmSystem){if(window.navigator.userAgent.indexOf("SmartWatch")>-1)g.watch=!0;else if(window.navigator.userAgent.indexOf("SmartTV")>-1||window.navigator.userAgent.indexOf("Large Screen")>-1)g.tv=!0;else{try{var w=JSON.parse(window.PalmSystem.deviceInfo||"{}");if(w.platformVersionMajor&&w.platformVersionMinor){var h=Number(w.platformVersionMajor),O=Number(w.platformVersionMinor);h<3||3===h&&O<=0?g.legacy=!0:g.open=!0}}catch(e){g.open=!0}window.Mojo=window.Mojo||{relaunch:function(){}},window.PalmSystem.stageReady&&window.PalmSystem.stageReady()}if(window.navigator.userAgent.indexOf("Chr0me")>-1||window.navigator.userAgent.indexOf("Chrome")>-1){var S=window.navigator.userAgent.indexOf("Chr0me")>-1?window.navigator.userAgent.indexOf("Chr0me"):window.navigator.userAgent.indexOf("Chrome"),V=window.navigator.userAgent.slice(S).indexOf(" "),j=window.navigator.userAgent.slice(S+7,S+V).split(".");g.chrome=Number(j[0])}else g.chrome=0}else g.unknown=!0;var k=g,T={},P={},x=!1,D=!1,A=!1,C=[];function M(e){D&&A?(C.length&&(C.forEach((function(t){t!==e&&t(T)})),C=[]),e(T)):C.push(e)}function _(e){P.soundOutput&&0===P.soundOutput.indexOf("external_arc")&&"external_arc_sound_alive"!==P.soundOutput?e(!0):!P.soundOutput||0!==P.soundOutput.indexOf("tv_")&&"external_arc_sound_alive"!==P.soundOutput?e(null):e(!1)}function N(e){"auto"===P.soundOutputDigital||"passThrough"===P.soundOutputDigital?e(!0):e(!1)}function z(e,t){T.dolbyAtmos!==e&&(T.dolbyAtmos=e,D=!0,M(t))}function B(e){!function(e){T.sdkVersion&&e(T.sdkVersion.split(".")),(new v).send({service:"luna://com.webos.service.tv.systemproperty",method:"getSystemInfo",parameters:{keys:["sdkVersion"]},onSuccess:function(t){T.sdkVersion=t.sdkVersion||T.sdkVersion,e(T.sdkVersion.split("."))},onFailure:function(){e([0,0,0])}})}((function(t){parseInt(t[0],10)>=5?(new v).send({service:"luna://com.webos.service.arccontroller",method:"getARCState",subscribe:!0,onComplete:function(t){_((function(n){(n||!P.dolbyAtmosConfig&&"tv_speaker_external_arc_harmony"===P.soundOutput)&&N((function(n){z(!!n&&(t.returnValue&&"ATMOS"===t.arcProfile),e)}))}))},onFailure:function(){console.log("[webOSTV.js] getARCState failed"),z(!1,e)}}):(new v).send({service:"luna://com.webos.service.eim",method:"getAllInputStatus",subscribe:!0,onComplete:function(t){_((function(n){!n&&(P.dolbyAtmosConfig||"tv_speaker_external_arc_harmony"!==P.soundOutput&&void 0!==P.soundOutput)||N((function(n){z(!!n&&(t.returnValue&&!0===t.atmosDevice),e)}))}))},onFailure:function(){console.log("[webOSTV.js] getAllInputStatus failed"),z(!1,e)}})}))}function R(e){void 0===P.dolbyAtmosConfig?(new v).send({service:"luna://com.webos.service.config",method:"getConfigs",parameters:{configNames:["tv.config.supportDolbyTVATMOS","tv.model.soundModeType"]},onComplete:function(t){P.dolbyAtmosConfig=t.configs?t.configs["tv.config.supportDolbyTVATMOS"]||"Dolby Atmos"===t.configs["tv.model.soundModeType"]:"failure",R(e)}}):!0===P.dolbyAtmosConfig?z(!0,e):!1===P.dolbyAtmosConfig?"tv_speaker_external_arc_harmony"===P.soundOutput?N((function(t){t?B(e):z(!1,e)})):void 0===P.soundOutput?(console.log("[webOSTV.js] soundOutput value is",P.soundOutput),B(e)):z(!1,e):(console.log("[webOSTV.js] dolbyAtmos config is",P.dolbyAtmosConfig),z(!1,e))}function E(e){(new v).send({service:"luna://com.webos.service.config",method:"getConfigs",parameters:{configNames:["com.webos.app.home.uiStyle","com.webos.service.utp.supportTunerless","profile.list","tv.config.supportDolbyHDRContents","tv.hw.ddrSize","tv.hw.displayType","tv.hw.panelResolution","tv.model.mainboardMaker","tv.model.modelname","tv.model.supportHDR","tv.model.supportTemp8K","tv.model.TVBrandName","tv.model.TVManufacturer","tv.nyx.firmwareVersion","tv.nyx.platformVersion","wee.platformBizType"]},onComplete:function(t){if(t.configs){if(T.modelName=t.configs["tv.model.modelname"]||T.modelName,t.configs["tv.nyx.firmwareVersion"]&&"0.0.0"!==t.configs["tv.nyx.firmwareVersion"]||(t.configs["tv.nyx.firmwareVersion"]=t.configs["tv.nyx.platformVersion"]),t.configs["tv.nyx.firmwareVersion"]){T.version=t.configs["tv.nyx.firmwareVersion"];for(var n=T.version.split("."),o=["versionMajor","versionMinor","versionDot"],r=0;r