Latest News

The ‘writing is on the wall’ for ‘Chimerica’ on U.S. stock exchanges as $318 billion of Chinese equity flees Wall Street

0

‘,panelEmptyTemplate=’

{emptyPanelMsg}

‘,panelErrorTemplate=’

{errorMsg}

‘,panelParentTemplate=”,notifOnboardPromoTemplate=”,EXPANDED_PANEL=”expanded_panel”,ERROR_PANEL=”error_panel”,NotificationView=function(){function e(n,t){classCallCheck(this,e);var i=this;i._config=n,i._panelNode=null,i._store=t}return createClass(e,[{key:”_generatePanelMarkup”,value:function(e,n){var t=this._config,i=void 0,o=void 0;”undefined”!=typeof window&&(i=window.Notification&&”default”===window.Notification.permission,o=t.promos.bypassEligibleClassCheck||hasClass(document.body,t.promos.eligibleBodyClass));var r=t.promos.enableNotifOnboard&&i&&o?notifOnboardPromoTemplate:””;if(r){var s=t.promos.showYahooLogo?””:”yns-no-logo”;r=r.replace(“{notifOnboardBtnLabel}”,t.promos.notifOnboardBtnLabel).replace(“{notifOnboardMsg}”,t.promos.notifOnboardMsg).replace(“{subscriptionTopic}”,t.promos.subscriptionTopic).replace(“{noLogoClass}”,s).replace(“{promoLogo}”,t.promos.promoLogo)}var a=n.newCount>t.panel.maxCount?n.newCount:””,c=t.panel.notificationCenterPath,l=c?””:constants.panelHideElement,d=t.panel.headerMsg?””:” “+constants.panelHideElement,u=c?constants.panelPaddingBtm:””,p=void 0;n.count?p=n.markup:p=panelEmptyTemplate.replace(“{emptyPanelMsg}”,t.panel.emptyPanelMsg);return e=e.replace(“{notifMarkup}”,p).replace(“{promoMarkup}”,r).replace(“{hideClass}”,l).replace(“{notifCenterLink}”,c).replace(“{paddingClass}”,u).replace(“{headerMsg}”,t.panel.headerMsg).replace(“{hideHeaderClass}”,d).replace(/{notificationCenterNavMsg}/g,t.panel.notificationCenterNavMsg).replace(/{newCount}/g,a)}},{key:”render”,value:function(e,n){var t=this;if(t._panelNode){var i=void 0,o=t._panelNode,r=void 0,s=void 0;switch(e){case EXPANDED_PANEL:i=panelTemplate,s=t._store.getNotifications(),r=t._generatePanelMarkup(i,s),o.innerHTML=r;break;case ERROR_PANEL:r=(i=panelErrorTemplate).replace(“{errorMsg}”,t._config.panel.errorMsg),o.innerHTML=r}n&&n()}else n&&n(new Error(“No panel parent”))}},{key:”createPanelParentNode”,value:function(e){e&&(e.innerHTML=panelParentTemplate,this._panelNode=document.getElementById(constants.panelNodeId))}},{key:”updateBadgeNode”,value:function(e){if(e){var n=this._store.getNotifications().newCount,t=this._config.badge.maxCount;if(n){var i=n>t?t+”+”:n;e.innerHTML=i}else e.innerHTML=””}}},{key:”addStyles”,value:function(e){if(e&&”undefined”!=typeof window){var n=document.getElementById(this._config.panel.styleTagId);n||((n=document.createElement(“style”)).type=”text/css”,n.id=this._config.panel.styleTagId,n.innerText=e,document.head.appendChild(n))}}}]),e}(),EXPANDED_PANEL$1=”expanded_panel”,ERROR_PANEL$1=”error_panel”,PanelController=function(){function e(n,t,i){classCallCheck(this,e);var o=this;o._store=t,o._view=i,o._config=n;var r=o._config.panel;o._panelParentNode=document.querySelector(r.parentSelector),o._badgeNode=o._config.badge.selector&&document.querySelector(o._config.badge.selector),o._indicatorNode=r.indicatorSelector&&document.querySelector(r.indicatorSelector)}return createClass(e,[{key:”createPanelParentNode”,value:function(){this._view.createPanelParentNode(this._panelParentNode),this._notifPanelNode=document.getElementById(constants.panelNodeId)}},{key:”refreshPanelNode”,value:function(e,n){var t=this;addClass(t._notifPanelNode,constants.panelLoading),t._store.fetchNotifications(e,(function(e,i){var o=window.wafer&&window.wafer.base;o&&o.destroy(t._notifPanelNode),e?t._notifPanelNode.innerHTML||(t._view.render(ERROR_PANEL$1),addClass(t._notifPanelNode,constants.panelLoading)):(t._view.render(EXPANDED_PANEL$1),t._view.updateBadgeNode(t._badgeNode),t._showBadge(),t._showIndicator(),t._view.addStyles(i.css)),removeClass(t._notifPanelNode,constants.panelLoading),o&&o.sync(t._notifPanelNode.parentNode),n&&n(e,i)}))}},{key:”resetBadge”,value:function(){var e=this;e._store.resetNewCount(),e._view.updateBadgeNode(e._badgeNode),addClass(e._badgeNode,e._config.badge.hideClass)}},{key:”_showIndicator”,value:function(){this._indicatorNode&&(this._store.getNotifications().newCount?addClass(this._indicatorNode,this._config.panel.indicatorClass):removeClass(this._indicatorNode,this._config.panel.indicatorClass))}},{key:”_showBadge”,value:function(){var e=this;e._store.getNotifications().newCount?removeClass(e._badgeNode,e._config.badge.hideClass):addClass(e._badgeNode,e._config.badge.hideClass)}}]),e}(),config={promos:{eligibleBodyClass:”display-push-promos”,enableNotifOnboard:!0,bypassEligibleClassCheck:!1,notifOnboardBtnLabel:”Notify Me”,notifOnboardMsg:”Get alerts for breaking news and top stories”,promoLogo:”https://s.yimg.com/cv/apiv2/ae/news/circle_bell.png”,showYahooLogo:!0,subscriptionTopic:”gondor_homerun_news”},badge:{hideClass:””,maxCount:5,selector:””},panel:{emptyPanelMsg:”You have no new notifications.”,errorMsg:””,headerMsg:”Notifications”,imageTag:”img:40×40|2|80″,indicatorClass:”yns-indicator”,indicatorSelector:null,maxCount:6,notificationCenterNavMsg:”View all {newCount} notifications”,notificationCenterPath:””,notificationTypes:””,parentSelector:null,styleTagId:”notificationStyles”,theme:”default”},service:{attemptCount:2,attemptDelay:1,url:null,resetUrl:null,isRMP:!1,responseType:”json”,timeout:1500}},Main=function(){function e(n){classCallCheck(this,e);var t=this;t.config=t._parseConfig(n),t._validateRequiredConfigs()&&(t._request=new NotificationRequest(t.config),t._store=new NotificationStore(t.config,t._request),t._view=new NotificationView(t.config,t._store),t._panelController=new PanelController(t.config,t._store,t._view),t._panelController.createPanelParentNode(),t._assignHelperMethods())}return createClass(e,[{key:”_parseConfig”,value:function(e){var n={};for(var t in objectAssign(n,config),n)if(n.hasOwnProperty(t)){var i=n[t],o=e[t];”object”===(void 0===i?”undefined”:_typeof(i))?objectAssign(i,o):n[t]=e[t]}return n}},{key:”_validateRequiredConfigs”,value:function(){var e=this.config;return!(!e.panel.parentSelector||!e.service.url)}},{key:”_assignHelperMethods”,value:function(){var e=this;e.helpers={refreshPanelNode:e._panelController.refreshPanelNode.bind(e._panelController),resetBadge:e._panelController.resetBadge.bind(e._panelController),resetIndicator:function(){removeClass(e._panelController._indicatorNode,e.config.panel.indicatorClass)}}}}]),e}(),notificationClient_module_min=Main,notificationClient={NotificationClient:notificationClient_module_min},CONSUMPTION_STORAGE_KEY=”lnct”,NotifClient=function(){function e(){var e,n;this.personalized=!1,this.ybarElem=document.getElementById(“ybar”),this.partnerClasses=null===(n=null===(e=this.ybarElem)||void 0===e?void 0:e.className)||void 0===n?void 0:n.match(/ybar-variant-([a-z]*)/),this.client=new notificationClient.NotificationClient(this.getConfig())}return e.prototype.refreshPanel=function(){var e,n,t,i=this,o={lastUpdate:this.getTimeStamp()||this.setTimeStamp(),loadInHpViewer:!0,includePersonalized:this.personalized},r=(null===(e=window.YAHOO)||void 0===e?void 0:e.context)||(null===(n=window.Af)||void 0===n?void 0:n.context)||{};return r.region&&r.lang&&(o.lang=r.lang,o.region=r.region),(null===(t=this.partnerClasses)||void 0===t?void 0:t.length)&&(o.partner=this.partnerClasses[1]),new Promise((function(e,n){i.client.helpers.refreshPanelNode({matrixParams:o},(function(t,i){t&&(logError(“Notification refresh error:”,t),n(t)),e(i)}))}))},e.prototype.resetBadge=function(){this.client.helpers.resetBadge(),this.setTimeStamp()},e.prototype.getConfig=function(){var e,n,t={promos:{eligibleBodyClass:”display-push-promos”,enableNotifOnboard:!0},badge:{selector:”#notif-badge”,hideClass:”ybar-notification-hidden”},panel:{emptyPanelMsg:”You have no new notifications.”,errorMsg:”Please check back later.”,headerMsg:”Notifications”,maxCount:5,parentSelector:”#ybarNotificationBody”,notificationTypes:”breakingNews”},service:{url:”/tdv2_fp/api/resource/NotificationHistory.getHistory”,isRMP:!1}},i=document.getElementById(“notification-container”),o=null===(e=null==i?void 0:i.dataset)||void 0===e?void 0:e.config,r={};if(o){“att”===(null===(n=this.partnerClasses)||void 0===n?void 0:n[1])&&(t.promos.showYahooLogo=!1);try{var s=JSON.parse(o);r=__assign({},s),this.personalized=1===s.personalize}catch(e){logError(“Notifications config parsing error”,e)}i&&delete i.dataset.config}return this.mergeConfigs(t,r)},e.prototype.mergeConfigs=function(e,n){var t=__assign({},e);for(var i in e)t[i]=__assign(__assign({},e[i]),n[i]);return t},e.prototype.getTimeStamp=function(){var e;return null===(e=window.localStorage)||void 0===e?void 0:e.getItem(CONSUMPTION_STORAGE_KEY)},e.prototype.setTimeStamp=function(){var e,n=””+Math.floor((new Date).getTime()/1e3);return null===(e=window.localStorage)||void 0===e||e.setItem(CONSUMPTION_STORAGE_KEY,n),n},e}(),notifClient=new NotifClient,getNotifClient=function(){return notifClient},reInit=function(){notifClient=new NotifClient},ybarRapid,ybarRapidInterval,ybarRapidErrMsg=””,beaconQueue=[],noop=function(){},logRapidError=function(){window.removeEventListener(“beforeunload”,logRapidError),””!==ybarRapidErrMsg&&logError(“Rapid not found on page”,new Error(ybarRapidErrMsg))},findRapidWithSpaceid=function(e){var n=void 0;if(e&&e.length>0)for(var t=0;t0){if(ybarRapid.addModules(o,!1,i),beaconQueue.length>0)for(e=0;e90&&fireImageBeacon(“performance”,e)}catch(e){}}),1e3)}))},measureInit=measure(“ybar-init”);initYbar(),measureInit.stop(),initPerformanceMetricsBeaconListener(),initRapid(),initErrorBeaconListener();var selected=”_yb_1g5sa”,Css$7={“right-item”:”_yb_xn04p”,selected:selected,”ybar-mod-topnavigation”:”_yb_10g5p”,”ybar-mod-topnavigation-teaser-imp”:”_yb_k78vv”},DOCUMENT_NODE_TYPE=9;if(“undefined”!=typeof Element&&!Element.prototype.matches){var proto=Element.prototype;proto.matches=proto.matchesSelector||proto.mozMatchesSelector||proto.msMatchesSelector||proto.oMatchesSelector||proto.webkitMatchesSelector}function closest(e,n){for(;e&&e.nodeType!==DOCUMENT_NODE_TYPE;){if(“function”==typeof e.matches&&e.matches(n))return e;e=e.parentNode}}var closest_1=closest;function _delegate(e,n,t,i,o){var r=listener.apply(this,arguments);return e.addEventListener(t,r,o),{destroy:function(){e.removeEventListener(t,r,o)}}}function delegate(e,n,t,i,o){return”function”==typeof e.addEventListener?_delegate.apply(null,arguments):”function”==typeof t?_delegate.bind(null,document).apply(null,arguments):(“string”==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,(function(e){return _delegate(e,n,t,i,o)})))}function listener(e,n,t,i){return function(t){t.delegateTarget=closest_1(t.target,n),t.delegateTarget&&i.call(e,t)}}var delegate_1=delegate,ListNode=function(e){this.data=e,this.next=null,this.prev=null},LinkedList=function(){function e(){this.head=null,this.tail=null}return e.prototype.push=function(e){var n=new ListNode(e);return this.head?this.tail?(n.prev=this.tail,this.tail.next=n,this.tail=n):(this.tail=n,this.tail.prev=this.head,this.head.next=this.tail):(this.head=n,n.next=this.tail),n},e.prototype.size=function(){for(var e=0,n=this.head;n;)e+=1,n=n.next;return e},e.prototype.getHead=function(){return this.head},e.prototype.getTail=function(){return this.tail},e.prototype.get=function(e){if(e>=this.size())return null;for(var n=0,t=this.head;(null==t?void 0:t.next)&&n0&&Array.prototype.forEach.call(e,(function(e){e.onerror=function(){e.onerror=null,e.style.display=”none”}}))},fixLogoOutline=function(e,n){e&&(hideOutlineOnMouseDown(“#ybar-logo”,”#ybar-logo”,n),n.onDestroy((function(){e.classList.remove(“ybar-show-outline”),e.classList.remove(“ybar-hide-outline”)})))},logoClick=function(e,n){n&&e.addElementListener(n,”click”,(function(){e.triggerEvent(“logo-click”)}))},init$4=function(e,n){n.logoImages&&hideLogosOnError(n.logoImages),n.wrapper&&(fixLogoOutline(n.wrapper,e),logoClick(e,n.wrapper))};initModule(“ybar-mod-logo”,(function(e){var n={wrapper:document.getElementById(“ybar-logo”),logoImages:document.querySelectorAll(“.”.concat(Css$6[“logo-image”]))};init$4(e,n)}));var overlay$1=”_yb_75qb0″,tooltip=”_yb_q1l3x”,tooltip__text=”_yb_1xirw”,tooltip__voice=”_yb_1nqu1″,tooltip__web=”_yb_1x6xk”,dark=”_yb_cfhz2″,darker=”_yb_10ny1″,light=”_yb_1iygt”,midnight60=”_yb_17ncq”,Css$5={“dropdown-open”:”_yb_44uim”,”merchant-is-selected”:”_yb_1npyn”,overlay:overlay$1,”selected-merchant-clear-button”:”_yb_f5cuw”,”shops-buttons”:”_yb_pjuil”,”styled-select”:”_yb_r4mcq”,tooltip:tooltip,”tooltip–show”:”_yb_bto00″,tooltip__text:tooltip__text,tooltip__voice:tooltip__voice,tooltip__web:tooltip__web,dark:dark,darker:darker,light:light,midnight60:midnight60},range=function(e,n){var t=Math.max(e,n),i=Math.min(e,n),o=Math.abs(t-i);return __spreadArray([],new Array(o+1),!0).map((function(e,n){return i+n}))},openSearchOverlay=function(e,n,t){var i=e.getConfig().bucketConfig,o=(void 0===i?{}:i).enable_search_ui,r=void 0!==o&&o;if(n.ybar){n.ybar.classList.add(“ybar-searchbox-assist-fullscreen”),document.documentElement.classList.add(“ybar-overlay”),document.body.classList.add(“ybar-overlay-noscroll”);beaconClick(“ybar”,”websrch”,””,{elm:”expand”,subsec:”searchbox”,itc:”1″}),setTimeout((function(){n.searchInput instanceof HTMLInputElement&&(t&&(n.searchInput.value=t),n.searchInput.focus(),r&&n.searchInput.click())}))}},closeSearchOverlay=function(e){var n;null===(n=e.ybar)||void 0===n||n.classList.remove(“ybar-searchbox-assist-fullscreen”),document.documentElement.classList.remove(“ybar-overlay”),document.body.classList.remove(“ybar-overlay-noscroll”),e.searchInput instanceof HTMLInputElement&&(e.searchInput.value=””,e.searchInput.blur())},initMweb=function(e,n){“smartphone”===e.getConfig().device&&(e.addElementListener(n.searchBoxPlaceholder,”click”,(function(){openSearchOverlay(e,n)})),e.addElementListener(n.searchBoxPlaceholder,”keydown”,(function(t){var i=t,o=i.keyCode,r=i.key,s=range(65,90),a=__spreadArray(__spreadArray([],range(58,57),!0),range(96,105),!0),c=__spreadArray(__spreadArray([],s,!0),a,!0).includes(o);(32===o||13===o||c)&&(t.preventDefault(),t.stopPropagation(),openSearchOverlay(e,n,c?r:””))})),n.searchBoxBackButton&&(e.addElementListener(n.searchBoxBackButton,”click”,(function(e){e.stopPropagation(),closeSearchOverlay(n);beaconClick(“ybar”,”back-close-srch”,””,{elm:”btn”,subsec:”searchbox”,itc:”1″})})),e.addElementListener(n.searchInput,”keyup”,(function(e){e.stopPropagation();27===e.keyCode&&(e.stopPropagation(),closeSearchOverlay(n))}))),e.onDestroy((function(){closeSearchOverlay(n)})))},Tooltip=function(){function e(e,n,t){n&&(this.ybar=e,this.elem=n,this.options=t,this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.addEventListeners())}return Object.defineProperty(e.prototype,”tooltip”,{get:function(){var e=this;return this.tooltipMarkup||(this.tooltipMarkup=this.createTooltip(),(this.options.tooltipParentElm||this.elem).appendChild(this.tooltipMarkup),this.ybar.onDestroy((function(){var n,t;null===(t=null===(n=e.tooltipMarkup)||void 0===n?void 0:n.parentNode)||void 0===t||t.removeChild(e.tooltipMarkup)}))),this.tooltipMarkup},enumerable:!1,configurable:!0}),e.prototype.show=function(){this.tooltip.classList.add(this.options.showClass)},e.prototype.hide=function(){this.tooltip.classList.remove(this.options.showClass)},e.prototype.addEventListeners=function(){this.ybar.addElementListener(this.elem,”mouseenter”,this.show),this.ybar.addElementListener(this.elem,”focus”,this.show),this.ybar.addElementListener(this.elem,”mouseleave”,this.hide),this.ybar.addElementListener(this.elem,”blur”,this.hide)},e.prototype.createTooltip=function(){var e=document.createElement(“div”);e.className=this.options.containerClass||””;var n=document.createElement(“p”);return n.textContent=this.options.label,n.className=this.options.textClass||””,e.appendChild(n),e},e}();createCommonjsModule((function(module){(function(){var __webpack_modules__={“./src/index.js”:
/*!**********************!*
!*** ./src/index.js ***!
**********************/function(__unused_webpack_module,__unused_webpack_exports,__webpack_require__){eval(“var I18n = __webpack_require__(/*! ./lib/I18n */ “./src/lib/I18n.js”);nn(function (win, doc) {n “use strict”;nn var defaultConfig = {n uiLang: ‘en-US’,n speechLang: ‘en-US’,n voiceButton: ‘#voice-btn’,n searchBox: {n form: ‘#sf’,n input: ‘#yschsp’,n params: {n fr: ”,n fr2: ”n }n },n enable_voice_trending: false,n trending: {n market: “en-us”n },n ui: {n speechOverlay: {n disableBlur: falsen }n },n browsers: {n edge: falsen }n };nn function VoiceSearch(config) {n var self = this;n self.config = Object.assign(defaultConfig, config || {});n self.i18n = new VoiceSearch.I18n({n lang: self.config.uiLangn });n self.renderPermissionGuide(self);n self.renderSpeechPanel(self);n self.speechResult = ”;n self.noSpeech = true;n self.isRecognitionStart = false;n self.recognition = null;n self.voiceButton = doc.querySelector(self.config.voiceButton);n self.searchBoxForm = doc.querySelector(self.config.searchBox.form);n self.searchBoxQuery = doc.querySelector(self.config.searchBox.input);n self.speechPanel = doc.querySelector(‘#spch’);n self.speechButtonContainer = doc.querySelector(‘#spchbc’);n self.speechButton = doc.querySelector(‘#spchbc-btn’);n self.speechText = doc.querySelector(‘#spcht’);n self.speechOverlay = doc.getElementById(‘spch-overlay’);n self.retryLink = doc.querySelector(‘#spcht-retry’);n self.trending = doc.getElementById(‘spch-trending’);n self.trendingTerms = doc.getElementById(‘trending-terms’);n self.termSpans = doc.getElementsByClassName(“trending-term”);n self.closeButton = doc.querySelector(‘#spchx’);n self.startAudio = new Audio(‘https://s.yimg.com/pv/static/misc/voice-start-202105050733.wav’);n self.resultAudio = new Audio(‘https://s.yimg.com/pv/static/misc/voice-result-202105050733.wav’);n self.errorAudio = new Audio(‘https://s.yimg.com/pv/static/misc/voice-error-202105050733.wav’);n self.closeAudio = new Audio(‘https://s.yimg.com/pv/static/misc/voice-close-202105050733.wav’);n self.permissionGuide = doc.querySelector(‘#spchp’);n self.permissionGuideClose = doc.querySelector(‘#spchpx’);n self.permissionGuideTimer = null;nn self.onEscKeyDown = function (e) {n if (e.code !== ‘Escape’) {n return;n }nn self.recognition.stop();n self.sendBeacon(‘keybrd’, ‘voicesearch_cancel_esc’); // The clean up should put inside closePanel() instead of here,n // or func won’t be cleaned up if user close panel with btn or overlaynn self.closePanel(self);n };nn if (self.isBrowserSupported()) {n var SpeechRecognition = win.SpeechRecognition || win.webkitSpeechRecognition;n var SpeechGrammarList = win.SpeechGrammarList || win.webkitSpeechGrammarList;n var speechGrammar = ‘#JSGF V1.0;’;n self.recognition = new SpeechRecognition();n var speechRecognitionList = new SpeechGrammarList();nn if (speechRecognitionList.addFromString) {n speechRecognitionList.addFromString(speechGrammar, 1);n }nn self.recognition.grammars = speechRecognitionList;n self.recognition.continuous = false;n self.recognition.lang = self.config.speechLang;n self.recognition.interimResults = false;n self.recognition.maxAlternatives = 1;n /* Listeners */nn if (self.voiceButton) {n self.voiceButton.onclick = function () {n self.recognition.start();nn if (self.permissionGuideTimer) {n win.clearTimeout(self.permissionGuideTimer);n }nn self.permissionGuideTimer = win.setTimeout(function () {n if (!self.isRecognitionStart) {n self.showPermissionGuide(self);n }n }, 300); // Also close when pressing escnn doc.addEventListener(‘keydown’, self.onEscKeyDown);n self.sendBeacon(‘clk’, ‘voicesearch’);n };n }nn if (self.speechButton) {n self.speechButton.onclick = function () {n if (!self.isRecognitionStart) {n self.recognition.start();n self.sendBeacon(‘clk’, ‘voicesearch_panel_mic_restart’);n } else {n self.recognition.stop();n self.sendBeacon(‘clk’, ‘voicesearch_panel_mic_close’);n self.closePanel(self);n }n };n }nn if (self.retryLink) {n self.retryLink.onclick = function () {n if (!self.isRecognitionStart) {n self.recognition.start();n self.sendBeacon(‘clk’, ‘voicesearch_panel_retry’);n }n };n }nn if (self.speechOverlay) {n self.speechOverlay.onclick = function () {n self.recognition.stop();n self.sendBeacon(‘clk’, ‘voicesearch_cancel_outside’);n self.closePanel(self);n };n }nn if (self.closeButton) {n self.closeButton.onclick = functionn /*event*/n () {n self.recognition.stop();n self.sendBeacon(‘clk’, ‘voicesearch_cancel’);n self.closePanel(self);n };n }nn if (self.permissionGuideClose) {n self.permissionGuideClose.onclick = functionn /*event*/n () {n self.recognition.stop();n self.sendBeacon(‘clk’, ‘voicesearch_permission_close’);n self.closeAudio.play();n self.hidePermissionGuide(self);n };n }n /* Recognition Events */nnn self.recognition.onresult = function (event) {n // The SpeechRecognitionEvent results property returns a SpeechRecognitionResultList objectn // The SpeechRecognitionResultList object contains SpeechRecognitionResult objects.n // It has a getter so it can be accessed like an arrayn // The first [0] returns the SpeechRecognitionResult at the last position.n // Each SpeechRecognitionResult object contains SpeechRecognitionAlternative objects that contain individual results.n // These also have getters so they can be accessed like arrays.n // The second [0] returns the SpeechRecognitionAlternative at position 0.n // We then return the transcript property of the SpeechRecognitionAlternative objectn // console.log(‘Confidence: ‘ + event.results[0][0].confidence);n self.speechResult = event.results[0][0].transcript;n /* Punctuation Handling: Check last character and strip it if necessary */nn self.handlePunctuation(self);nn if (self.speechText) {n self.speechText.innerText = self.speechResult;n }nn if (self.searchBoxQuery) {n self.searchBoxQuery.value = self.speechResult;n }nn self.resultAudio.play();n win.setTimeout(function () {n if (self.speechPanel) {n self.speechPanel.classList.remove(“s2tb”);n self.speechPanel.classList.add(“s2tb-h”);n }nn self.hideRetryLink(self);nn if (self.searchBoxForm) {n var inputFr = self.searchBoxForm.querySelector(‘[name=fr]’);n var inputFr2 = self.searchBoxForm.querySelector(‘[name=fr2]’);nn if (inputFr && self.config.searchBox && self.config.searchBox.params && self.config.searchBox.params.fr) {n inputFr.value = config.searchBox.params.fr;n inputFr.disabled = false; // for homepage casen }nn if (inputFr2 && self.config.searchBox && self.config.searchBox.params && self.config.searchBox.params.fr2) {n inputFr2.value = config.searchBox.params.fr2;n inputFr2.disabled = false; // for homepage casen }nn self.searchBoxForm.submit();n }n }, 1000);n };nn self.recognition.onspeechstart = functionn /*event*/n () {// Fired when speech startsn };nn self.recognition.onspeechend = function () {n // Fired when speech endsn self.recognition.stop();n };nn self.recognition.onerror = functionn /*event*/n () {n // console.log(‘Error occurred in recognition: ‘ + event.error);n if (self.speechText) {n self.speechText.innerText = self.i18n.t(‘search.voice.recognition_error’);n }nn self.hideTrending(self);n self.showRetryLink(self);n self.errorAudio.play();n };nn self.recognition.onaudiostart = functionn /*event*/n () {n // Fired when the user agent has started to capture audio.n if (self.speechButtonContainer) {n self.speechButtonContainer.classList.add(“listening”);n }n };nn self.recognition.onaudioend = functionn /*event*/n () {n // Fired when the user agent has finished capturing audio.n if (self.speechButtonContainer) {n self.speechButtonContainer.classList.remove(“listening”);n }n };nn self.recognition.onsoundstart = functionn /*event*/n () {n // Fired when any sound — recognisable speech or not — has been detected.n self.hideTrending(self);n self.noSpeech = false;nn if (self.speechButtonContainer) {n self.speechButtonContainer.classList.remove(“listening”);n self.speechButtonContainer.classList.add(“speaking”);n }n };nn self.recognition.onsoundend = functionn /*event*/n () {n // Fired when no sound presentn if (self.speechButtonContainer) {n self.speechButtonContainer.classList.remove(“speaking”);n }n };nn self.recognition.onstart = functionn /*event*/n () {n // Fired when the speech recognition service has begun listeningn self.recognitionInit(self);n self.startRecognition(self);n };nn self.recognition.onend = functionn /*event*/n () {n // Fired when the speech recognition service has disconnected.n self.isRecognitionStart = false;nn if (self.noSpeech == false && self.speechResult == ”) {n // No match: Fired when the speech recognition can’t recognise speechn if (self.speechText) {n self.speechText.innerText = self.i18n.t(‘search.voice.recognition_nomatch’);n }nn self.hideTrending(self);n self.showRetryLink(self);n self.errorAudio.play();n }n }; // trigger onReady event when initializednnn if (document && document.dispatchEvent) {n document.dispatchEvent(new Event(‘VOICE_JS_READY’));n }n }n } // static membersnnn VoiceSearch.I18n = I18n; // instance membersnn VoiceSearch.prototype.renderPermissionGuide = function (self) {n var tmpl = “\n

\n \n

\n

\n \n

\n

\n

“.concat(self.i18n.t(‘search.voice.permission_title’), “

\n

“).concat(self.i18n.t(‘search.voice.permission_text’), “

\n

\n

\n

\n “);n var dom = new DOMParser().parseFromString(tmpl, ‘text/html’);n document.body.appendChild(dom.body.children[0]);n };nn VoiceSearch.prototype.renderSpeechPanel = function (self) {n var tmpl = “\n

\n \n \n

\n

\n

\n \n \n \n \n \n \n

\n

\n

\n \n \n “.concat(self.i18n.t(‘search.voice.recognition_retry’), “\n

\n

\n

\n

\n

\n

\n “).concat(self.i18n.t(‘search.voice.trending_title’), “\n \n

\n

\n

\n “);n var dom = new DOMParser().parseFromString(tmpl, ‘text/html’);nn if (self && self.config && self.config.ui && self.config.ui.speechOverlay && self.config.ui.speechOverlay.disableBlur) {n dom.body.children[0].classList.add(‘disable-blur-overlay’);n }nn document.body.appendChild(dom.body.children[0]);n };nn VoiceSearch.prototype.isBrowserSupported = function () {n var isSupported = false;n var self = this;n var isChromium = Boolean(window.chrome);n var isIOSChrome = /CriOS/.test(window.navigator.userAgent);n var isEdge = /Edg\//.test(window.navigator.userAgent);n var isLegacyEdge = /Edge\//.test(window.navigator.userAgent);n var isOpera = Boolean(window.opr);n var isBrave = Boolean(window.navigator.brave);n var browsers = [// chromen {n checkEnabled: function checkEnabled() {n return true;n },n checkBrowser: function checkBrowser() {n return isChromium && !isIOSChrome && !isEdge && !isOpera && !isBrave;n },n checkAPI: function checkAPI() {n return win && (‘SpeechRecognition’ in win || ‘webkitSpeechRecognition’ in win) && (‘SpeechGrammarList’ in win || ‘webkitSpeechGrammarList’ in win);n }n }, // edgen {n checkEnabled: function checkEnabled() {n return self && self.config && self.config.browsers && self.config.browsers.edge;n },n checkBrowser: function checkBrowser() {n return isChromium && isEdge && !isLegacyEdge;n },n checkAPI: function checkAPI() {n return win && (‘SpeechRecognition’ in win || ‘webkitSpeechRecognition’ in win) && (‘SpeechGrammarList’ in win || ‘webkitSpeechGrammarList’ in win);n }n }];nn for (var b = 0; b < browsers.length; b++) {n var browser = browsers[b];nn if (browser && browser.checkBrowser && browser.checkBrowser() && browser.checkEnabled && browser.checkEnabled(self) && browser.checkAPI && browser.checkAPI()) {n isSupported = true;n }n }nn return isSupported;n };nn VoiceSearch.prototype.recognitionInit = function (self) {n // Initialize flags for checking whether user is speaking or notn self.speechResult = ”;n self.noSpeech = true;n self.isRecognitionStart = true;n };nn VoiceSearch.prototype.showPermissionGuide = function (self) {n if (self.permissionGuide) {n self.permissionGuide.classList.remove(“hide”);n }n };nn VoiceSearch.prototype.hidePermissionGuide = function (self) {n if (self.permissionGuide) {n self.permissionGuide.classList.add(“hide”);n }n };nn VoiceSearch.prototype.getTrending = function (self) {n // Call api for trending termsn if (!self.config.enable_voice_trending || !self.trending) {n return;n }nn var url = “https://api.search.yahoo.com/data/v3/search?appid=4d234a9d&market=” + self.config.trending.market + “&features=trending.voice”;n self.ajaxReq(url, function (resBody) {n if (!resBody || !resBody.response || !resBody.response.search || !resBody.response.search.results || !resBody.response.search.results[“trending.voice”]) {n return;n }nn var terms = resBody.response.search.results[“trending.voice”].data;n self.showTrending(self, terms);n });n };nn VoiceSearch.prototype.showTrending = function (self, terms) {n // params checkn if (!Array.isArray(terms) || terms.length < 3) {n return;n } // DOM checknnn if (!self.trending || !self.termSpans || !self.termSpans[0]) {n return;n }nn var trendingLabel = ”;n trendingLabel += ‘”‘ + terms[0].text + ‘”‘ + ‘, ‘;n trendingLabel += ‘”‘ + terms[1].text + ‘”‘ + ‘ ‘;n trendingLabel += self.i18n.t(‘search.voice.trending_or’) + ‘ ‘;n trendingLabel += ‘”‘ + terms[2].text + ‘”‘;n self.termSpans[0].innerText = trendingLabel;n self.trending.classList.remove(“hide”);n };nn VoiceSearch.prototype.hideTrending = function (self) {n if (!self.trending) {n return;n }nn self.trending.classList.add(“hide”);n };nn VoiceSearch.prototype.showRetryLink = function (self) {n if (self.retryLink) {n self.retryLink.innerText = self.i18n.t(‘search.voice.recognition_retry’);n self.retryLink.classList.remove(“hide”);n }n };nn VoiceSearch.prototype.hideRetryLink = function (self) {n if (self.retryLink) {n self.retryLink.classList.add(“hide”);n }n };nn VoiceSearch.prototype.startRecognition = function (self) {n self.hidePermissionGuide(self);n self.getTrending(self);n self.startAudio.play();nn if (self.speechText) {n self.speechText.innerText = self.i18n.t(‘search.voice.recognition_start’);n win.setTimeout(function () {n self.speechText.innerText = self.i18n.t(‘search.voice.recognition_listening’);n }, 2000);n }nn if (self.speechPanel) {n self.speechPanel.classList.remove(“s2tb-h”);n self.speechPanel.classList.add(“s2tb”);n }nn self.hideRetryLink(self);n };nn VoiceSearch.prototype.closePanel = function (self) {n self.closeAudio.play();n win.setTimeout(function () {n if (self.speechPanel) {n self.speechPanel.classList.remove(“s2tb”);n self.speechPanel.classList.add(“s2tb-h”);n }nn self.hideTrending(self);n self.hideRetryLink(self); // clean up esc listenernn doc.removeEventListener(‘keydown’, self.onEscKeyDown);n }, 100);n };nn VoiceSearch.prototype.handlePunctuation = function (self) {n if (self.speechResult.length > 0) {n var lastChar = self.speechResult.charAt(self.speechResult.length – 1);nn if (lastChar === ‘.’ || lastChar === ‘?’ || lastChar === ‘。’ || lastChar === ‘?’) {n self.speechResult = self.speechResult.slice(0, -1);n }n }n };nn VoiceSearch.prototype.sendBeacon = function (actn, slk) {n var ULT = win.YAHOO.ULT || {},n SB = win.YAHOO.SB || {};nn if (ULT.beacon_click) {n var trackParams = {n _S: SB.config.i13n.spaceid,n _I: SB.config.i13n.pvid,n actn: actn,n sec: ‘search’,n slk: slkn };n win.YAHOO.ULT.beacon_click(trackParams);n }n };nn VoiceSearch.prototype.ajaxReq = function (url, callback) {n var DONE_STATE = XMLHttpRequest.DONE || 4; // for IE-compatibilitynn var xhr = new XMLHttpRequest();n var responseRaw;n var response; // CORS request only for IE8/IE9nn if (doc.documentMode && doc.documentMode < 10) {n var xdr = new win.XDomainRequest();nn xdr.onload = function () {n try {n response = JSON.parse(responseRaw);n callback(response);n } catch (err) {n return;n }n };nn xhr.open(‘GET’, url);n xhr.send();n return;n } // CORS request for browers newer than IE9nnn xhr.onreadystatechange = function () {n if (xhr.readyState !== DONE_STATE) {n return;n } // handle ajax responsennn switch (xhr.status) {n case 200:n responseRaw = xhr.responseText;nn try {n response = JSON.parse(responseRaw);n callback(response);n } catch (err) {n return;n }nn break;nn default:n // non-200 status code: retry or assume failuren callback(response);n break;n }n };nn xhr.open(‘GET’, url, true);n /* aync request */nn xhr.timeout = 10000;n xhr.send();n };nn if (!win.YAHOO) {n win.YAHOO = {};n }nn if (!win.YAHOO.Util) {n win.YAHOO.Util = {};n }nn win.YAHOO.Util.VoiceSearch = VoiceSearch;n})(window, document);nn//# sourceURL=webpack://@vzmi/voicejs/./src/index.js?”)},”./src/lib/I18n.js”:
/*!*************************!*
!*** ./src/lib/I18n.js ***!
*************************/function(module,__unused_webpack_exports,__webpack_require__){eval(“module.exports = function () {n var LANG_LIST = __webpack_require__(/*! ./lang_list.json */ “./src/lib/lang_list.json”);nn var DEFAULT_LANG = ‘default’;nn var isValidLang = function isValidLang(lang) {n return LANG_LIST.indexOf(lang) !== -1;n }; // convert language strings to key-value mapnnn var buildStrMap = function buildStrMap(langStrings) {n return langStrings.reduce(function (strMap, item) {n strMap[item.id] = item.defaultMessage;n return strMap;n }, {});n };nn var I18n = function I18n(options) {n // initializen this.lang = isValidLang(options && options.lang) ? options.lang : DEFAULT_LANG;n }; // static membersnnn I18n.langMap = {};n I18n.langMap[DEFAULT_LANG] = buildStrMap(__webpack_require__(/*! ../lang/strings.json */ “./src/lang/strings.json”));nn I18n.setLangMap = function (lang, strings) {n if (lang && strings) {n I18n.langMap[lang] = buildStrMap(strings);n }n }; // instance membersnnn I18n.prototype = {n t: function t(id) {n switch (true) {n // look up target languagen case Boolean(I18n.langMap && I18n.langMap[this.lang] && I18n.langMap[this.lang][id]):n return I18n.langMap[this.lang][id];n // fallback to default stringsnn case Boolean(I18n.langMap && I18n.langMap[DEFAULT_LANG] && I18n.langMap[DEFAULT_LANG][id]):n return I18n.langMap[DEFAULT_LANG][id];nn default:n return ”;n }n }n };n return I18n;n}();nn//# sourceURL=webpack://@vzmi/voicejs/./src/lib/I18n.js?”)},”./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css”:
/*!*******************************************************************************************************!*
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css ***!
*******************************************************************************************************/function(module,__webpack_exports__,__webpack_require__){eval(‘__webpack_require__.r(__webpack_exports__);n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ “./node_modules/css-loader/dist/runtime/api.js”);n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);n// Importsnnvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});n// Modulen___CSS_LOADER_EXPORT___.push([module.id, “/* Sprites */\n#spchp.permission-guide .guide .microphone .sprite,\n#spchp .close-button,\n#spch .close-button,\n#spch .spchc .microphone,\n#spch .spchc .speaking .microphone {\n background-image: url(https://s.yimg.com/pv/static/img/voiceSearch1x-1620383531565.min.png);\n background-repeat: no-repeat;\n background-size: initial;\n color: transparent;\n}\n/* Retina displays */\n@media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and (min-device-pixel-ratio: 2),\n only screen and (min-resolution: 192dpi),\n only screen and (min-resolution: 2dppx) {\n#spchp.permission-guide .guide .microphone .sprite,\n#spchp .close-button,\n#spch .close-button,\n#spch .spchc .microphone,\n#spch .spchc .speaking .microphone {\n background-size: 41px 330px;\n background-image: url(https://s.yimg.com/pv/static/img/voiceSearch2x-1620383531565.min.png)\n}\n }\n\n/* permission guide */\n#spchp.permission-guide {\n height: 100%;\n width: 100%;\n padding: 0;\n opacity: 0.9;\n background-color: #fff;\n left: 0;\n overflow: hidden;\n position: fixed;\n text-align: left;\n top: 0;\n z-index: 10000;\n transition: visibility 0s linear 0.218s, background-color 0.218s;\n}\n#spchp.permission-guide .close-button {\n background-position: 0 0;\n width: 24px;\n height: 24px;\n border: none;\n cursor: pointer;\n right: 0;\n margin: 20px;\n padding: 0;\n position: absolute;\n top: 0;\n z-index: 10;\n opacity: 0.8;\n }\n#spchp.permission-guide .close-button:hover {\n opacity: 1;\n }\n#spchp.permission-guide .guide {\n margin: 191px 0 0 507px;\n }\n#spchp.permission-guide .guide .microphone {\n height: 68px;\n width: 52px;\n border-right: 1px solid #232a31;\n float: left;\n }\n#spchp.permission-guide .guide .microphone .sprite {\n background-position: 0 -105px;\n width: 28px;\n height: 28px;\n }\n#spchp.permission-guide .guide .guide-text {\n height: 68px;\n margin-left: 24px;\n float: left;\n }\n#spchp.permission-guide .guide .guide-text .title {\n color: #232a31;\n font-size: 32px;\n font-family: HelveticaNeue-Bold;\n line-height: 28px;\n margin-bottom: 16px;\n }\n#spchp.permission-guide .guide .guide-text .text {\n color: #232a31;\n font-size: 16px;\n line-height: 28px;\n }\n#spchp.permission-guide.hide {\n display: none;\n }\n\n/* speech panel */\n#spch.spch {\n background: #fff;\n height: 100%;\n left: 0;\n opacity: 0;\n overflow: hidden;\n position: fixed;\n text-align: left;\n top: 0;\n visibility: hidden;\n width: 100%;\n z-index: 10000;\n transition: visibility 0s linear 0.218s, background-color 0.218s;\n}\n#spch.spch .close-button {\n background-position: 0 0;\n width: 24px;\n height: 24px;\n border: none;\n cursor: pointer;\n right: 0;\n margin: 20px;\n padding: 0;\n position: absolute;\n top: 0;\n z-index: 10;\n opacity: 0.8;\n }\n#spch.spch .close-button:hover {\n opacity: 1;\n }\n#spch.spch .spchc {\n display: block;\n height: 97px;\n pointer-events: none;\n }\n#spch.spch .spchc .inner-container {\n width: 100%;\n height: 100%;\n opacity: 0.1;\n pointer-events: none;\n transition: opacity 0.318s ease-in;\n }\n#spch.spch .spchc .inner-container .spch-control {\n display: inline-block;\n }\n#spch.spch .spchc .inner-container .text-container {\n float: left;\n height: 91px;\n overflow: hidden;\n margin: 3px 0;\n pointer-events: none;\n width: calc(50% – 48.5px);\n }\n#spch.spch .spchc .inner-container .text-container p {\n display: table-cell;\n vertical-align: middle;\n width: 550px;\n height: 97px;\n }\n#spch.spch .spchc .inner-container .text-container .spcht {\n font-weight: normal;\n color: #6e7780;\n line-height: normal;\n opacity: 0;\n pointer-events: none;\n text-align: left;\n -webkit-font-smoothing: antialiased;\n transition: opacity 0.1s ease-in, margin-left 0.5s ease-in, top 0s linear 0.218s;\n }\n#spch.spch .spchc .inner-container .text-container .spcht.hide {\n display: none;\n }\n#spch.spch .spchc .inner-container .text-container #spcht-retry {\n color: #0f69ff;\n cursor: pointer;\n pointer-events: auto;\n }\n#spch.spch .spchc .inner-container .button-container {\n pointer-events: none;\n position: relative;\n transition: transform 0.218s, opacity 0.218s ease-in;\n }\n#spch.spch .spchc .inner-container .button-container .button {\n background-color: #fff;\n border: 1px solid #eee;\n border-radius: 100%;\n bottom: 0;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\n cursor: pointer;\n display: inline-block;\n left: 0;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n right: 0;\n top: 0;\n transition: background-color 0.218s, border 0.218s, box-shadow 0.218s;\n }\n#spch.spch .spchc .inner-container .button-container .button .microphone {\n background-position: 0 -24px;\n width: 41px;\n height: 41px;\n left: 27px;\n pointer-events: none;\n position: absolute;\n top: 27px;\n transform: scale(1);\n }\n#spch.spch .spchc .inner-container .button-container.listening .ripple {\n position: absolute;\n width: 136px;\n height: 136px;\n z-index: -1;\n left: 50%;\n top: 50%;\n opacity: 0;\n margin: -70px 0 0 -70px;\n border-radius: 100px;\n -webkit-animation: ripple 3.3s infinite;\n animation: ripple 3.3s infinite;\n background-color: #fff !important;\n border: 2px solid #e0e4e9;\n }\n#spch.spch .spchc .inner-container .button-container.listening .ripple:nth-child(2) {\n -webkit-animation-delay: 1.1s;\n animation-delay: 1.1s;\n }\n#spch.spch .spchc .inner-container .button-container.listening .ripple:nth-child(3) {\n -webkit-animation-delay: 2.2s;\n animation-delay: 2.2s;\n }\n#spch.spch .spchc .inner-container .button-container.speaking .button {\n background-color: #0f69ff;\n }\n#spch.spch .spchc .inner-container .button-container.speaking .button .microphone {\n background-position: 0 -65px;\n width: 40px;\n height: 40px;\n pointer-events: none;\n position: absolute;\n transform: scale(1);\n }\n#spch.spch .spchc .inner-container .button-container.speaking .ripple {\n background-size: 114px;\n position: absolute;\n width: 114px;\n height: 114px;\n z-index: -1;\n left: 50%;\n top: 50%;\n margin: -57px 0 0 -57px;\n -webkit-animation: speakingRipple1 2s infinite;\n animation: speakingRipple1 2s infinite;\n }\n#spch.spch .spchc .inner-container .button-container.speaking .ripple:nth-child(2) {\n background-size: 123px;\n width: 123px;\n height: 123px;\n margin: -62px 0 0 -62px;\n -webkit-animation: speakingRipple2 2s infinite;\n animation: speakingRipple2 2s infinite;\n }\n#spch.spch .spchc .inner-container .button-container.speaking .ripple:nth-child(3) {\n background-size: 136px;\n width: 136px;\n height: 136px;\n margin: -68px 0 0 -68px;\n -webkit-animation: speakingRipple3 2s infinite;\n animation: speakingRipple3 2s infinite;\n }\n#spch.spch .spcho {\n background-image: linear-gradient(to bottom, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 99%);\n display: block;\n min-width: 100%;\n text-align: center;\n top: 145px;\n padding-bottom: 71px;\n pointer-events: auto;\n }\n#spch.spch .spcho #spch-trending {\n -webkit-animation: fadeIn 1s forwards;\n animation: fadeIn 1s forwards;\n opacity: 0;\n }\n#spch.spch .spcho #spch-trending .trending {\n color: #6e7780;\n display: inline-block;\n font-size: 16px;\n }\n#spch.spch .spcho #spch-trending #trending-label {\n font-weight: bold;\n margin: 5px 5px;\n }\n#spch.spch .spcho #spch-trending.hide {\n display: none;\n }\n#spch.spch.s2tb .spchc, #spch.spch.s2tb-h .spchc {\n background: #fff;\n box-sizing: border-box;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n height: auto;\n margin: 0;\n min-width: 100%;\n overflow: hidden;\n padding: 24px 115px;\n }\n#spch.spch.s2tb .spchc .inner-container, #spch.spch.s2tb-h .spchc .inner-container {\n opacity: 1;\n transition: opacity 0.318s ease-in;\n }\n#spch.spch.s2tb .spchc .inner-container .text-container, #spch.spch.s2tb-h .spchc .inner-container .text-container {\n position: relative;\n }\n#spch.spch.s2tb {\n background: rgba(255, 255, 255, 0);\n opacity: 1;\n visibility: visible;\n transition-delay: 0s;\n }\n#spch.spch.s2tb .spchc .inner-container .button-container {\n transform: scale(1);\n height: 97px;\n right: 0;\n top: 0;\n width: 97px;\n }\n#spch.spch.s2tb .spchc .inner-container .button-container .button {\n opacity: 1;\n pointer-events: auto;\n position: absolute;\n transform: scale(1);\n transition-delay: 0;\n }\n#spch.spch.s2tb .spchc .inner-container .text-container .spcht {\n font-size: 24px;\n margin-left: 0;\n opacity: 1;\n transition: opacity 0.5s ease-out, margin-left 0.5s ease-out;\n }\n#spch.spch.s2tb #spch-overlay {\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n background-color: #fff;\n height: 100%;\n opacity: 0.9;\n position: absolute;\n top: 149px;\n\n /* spchc’s height */\n width: 100%;\n }\n#spch.spch.disable-blur-overlay #spch-overlay {\n background-color: transparent;\n -webkit-backdrop-filter: none;\n backdrop-filter: none;\n }\n#spch.spch.disable-blur-overlay .spcho {\n height: 27px;\n padding-bottom: 20px;\n background: #fff;\n background-image: none;\n box-shadow: 0 8px 6px -6px rgb(0 0 0 / 20%);\n }\n#spch.spch.s2tb-h {\n background: rgba(255, 255, 255, 0);\n opacity: 0;\n visibility: hidden;\n }\n\n@-webkit-keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@-webkit-keyframes ripple {\n 0% {\n opacity: 1;\n transform: scale(0.7);\n }\n\n 100% {\n opacity: 0;\n transform: scale(1);\n }\n}\n\n@keyframes ripple {\n 0% {\n opacity: 1;\n transform: scale(0.7);\n }\n\n 100% {\n opacity: 0;\n transform: scale(1);\n }\n}\n\n@-webkit-keyframes speakingRipple1 {\n 0%,\n 100% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-1-202105260611.png\”);\n }\n\n 25%,\n 75% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-2-202105260611.png\”);\n transform: scale(1.1);\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@keyframes speakingRipple1 {\n 0%,\n 100% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-1-202105260611.png\”);\n }\n\n 25%,\n 75% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-2-202105260611.png\”);\n transform: scale(1.1);\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@-webkit-keyframes speakingRipple2 {\n 0%,\n 100% {\n background-image: none;\n }\n\n 25%,\n 75% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple2-2-202105260611.png\”);\n transform: scale(1.1);\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple2-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@keyframes speakingRipple2 {\n 0%,\n 100% {\n background-image: none;\n }\n\n 25%,\n 75% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple2-2-202105260611.png\”);\n transform: scale(1.1);\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple2-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@-webkit-keyframes speakingRipple3 {\n 0%,\n 25%,\n 75%,\n 100% {\n background-image: none;\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple3-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@keyframes speakingRipple3 {\n 0%,\n 25%,\n 75%,\n 100% {\n background-image: none;\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple3-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n”, “”]);n// Exportsn/* harmony default export */ __webpack_exports__[“default”] = (___CSS_LOADER_EXPORT___);nnn//# sourceURL=webpack://@vzmi/voicejs/./src/index.css?./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js’)},”./node_modules/css-loader/dist/runtime/api.js”:
/*!*****************************************************!*
!*** ./node_modules/css-loader/dist/runtime/api.js ***!
*****************************************************/function(module){eval(‘nn/*n MIT License http://www.opensource.org/licenses/mit-license.phpn Author Tobias Koppers @sokran*/n// css base code, injected by the css-loadern// eslint-disable-next-line func-namesnmodule.exports = function (cssWithMappingToString) {n var list = []; // return the list of modules as css stringnn list.toString = function toString() {n return this.map(function (item) {n var content = cssWithMappingToString(item);nn if (item[2]) {n return “@media “.concat(item[2], ” {“).concat(content, “}”);n }nn return content;n }).join(“”);n }; // import a list of modules into the listn // eslint-disable-next-line func-namesnnn list.i = function (modules, mediaQuery, dedupe) {n if (typeof modules === “string”) {n // eslint-disable-next-line no-param-reassignn modules = [[null, modules, “”]];n }nn var alreadyImportedModules = {};nn if (dedupe) {n for (var i = 0; i < this.length; i++) {n // eslint-disable-next-line prefer-destructuringn var id = this[i][0];nn if (id != null) {n alreadyImportedModules[id] = true;n }n }n }nn for (var _i = 0; _i < modules.length; _i++) {n var item = [].concat(modules[_i]);nn if (dedupe && alreadyImportedModules[item[0]]) {n // eslint-disable-next-line no-continuen continue;n }nn if (mediaQuery) {n if (!item[2]) {n item[2] = mediaQuery;n } else {n item[2] = “”.concat(mediaQuery, ” and “).concat(item[2]);n }n }nn list.push(item);n }n };nn return list;n};nn//# sourceURL=webpack://@vzmi/voicejs/./node_modules/css-loader/dist/runtime/api.js?’)},”./src/index.css”:
/*!***********************!*
!*** ./src/index.css ***!
***********************/function(module,__unused_webpack_exports,__webpack_require__){eval(‘var api = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ “./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js”);n var content = __webpack_require__(/*! !!../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js!./index.css */ “./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css”);nn content = content.__esModule ? content.default : content;nn if (typeof content === ‘string’) {n content = [[module.id, content, ”]];n }nnvar options = {};nnoptions.insert = “head”;noptions.singleton = false;nnvar update = api(content, options);nnnnmodule.exports = content.locals || {};nn//# sourceURL=webpack://@vzmi/voicejs/./src/index.css?’)},”./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js”:
/*!****************************************************************************!*
!*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
****************************************************************************/function(module,__unused_webpack_exports,__webpack_require__){eval(“nnvar isOldIE = function isOldIE() {n var memo;n return function memorize() {n if (typeof memo === ‘undefined’) {n // Test for IE <= 9 as proposed by Browserhacksn // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805n // Tests for existence of standard globals is to allow style-loadern // to operate correctly into non-standard environmentsn // @see https://github.com/webpack-contrib/style-loader/issues/177n memo = Boolean(window && document && document.all && !window.atob);n }nn return memo;n };n}();nnvar getTarget = function getTarget() {n var memo = {};n return function memorize(target) {n if (typeof memo[target] === ‘undefined’) {n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itselfnn if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {n try {n // This will throw an exception if access to iframe is blockedn // due to cross-origin restrictionsn styleTarget = styleTarget.contentDocument.head;n } catch (e) {n // istanbul ignore nextn styleTarget = null;n }n }nn memo[target] = styleTarget;n }nn return memo[target];n };n}();nnvar stylesInDom = [];nnfunction getIndexByIdentifier(identifier) {n var result = -1;nn for (var i = 0; i < stylesInDom.length; i++) {n if (stylesInDom[i].identifier === identifier) {n result = i;n break;n }n }nn return result;n}nnfunction modulesToDom(list, options) {n var idCountMap = {};n var identifiers = [];nn for (var i = 0; i < list.length; i++) {n var item = list[i];n var id = options.base ? item[0] + options.base : item[0];n var count = idCountMap[id] || 0;n var identifier = “”.concat(id, ” “).concat(count);n idCountMap[id] = count + 1;n var index = getIndexByIdentifier(identifier);n var obj = {n css: item[1],n media: item[2],n sourceMap: item[3]n };nn if (index !== -1) {n stylesInDom[index].references++;n stylesInDom[index].updater(obj);n } else {n stylesInDom.push({n identifier: identifier,n updater: addStyle(obj, options),n references: 1n });n }nn identifiers.push(identifier);n }nn return identifiers;n}nnfunction insertStyleElement(options) {n var style = document.createElement(‘style’);n var attributes = options.attributes || {};nn if (typeof attributes.nonce === ‘undefined’) {n var nonce = true ? __webpack_require__.nc : 0;nn if (nonce) {n attributes.nonce = nonce;n }n }nn Object.keys(attributes).forEach(function (key) {n style.setAttribute(key, attributes[key]);n });nn if (typeof options.insert === ‘function’) {n options.insert(style);n } else {n var target = getTarget(options.insert || ‘head’);nn if (!target) {n throw new Error(“Couldn’t find a style target. This probably means that the value for the ‘insert’ parameter is invalid.”);n }nn target.appendChild(style);n }nn return style;n}nnfunction removeStyleElement(style) {n // istanbul ignore ifn if (style.parentNode === null) {n return false;n }nn style.parentNode.removeChild(style);n}n/* istanbul ignore next */nnnvar replaceText = function replaceText() {n var textStore = [];n return function replace(index, replacement) {n textStore[index] = replacement;n return textStore.filter(Boolean).join(‘\n’);n };n}();nnfunction applyToSingletonTag(style, index, remove, obj) {n var css = remove ? ” : obj.media ? “@media “.concat(obj.media, ” {“).concat(obj.css, “}”) : obj.css; // For old IEnn /* istanbul ignore if */nn if (style.styleSheet) {n style.styleSheet.cssText = replaceText(index, css);n } else {n var cssNode = document.createTextNode(css);n var childNodes = style.childNodes;nn if (childNodes[index]) {n style.removeChild(childNodes[index]);n }nn if (childNodes.length) {n style.insertBefore(cssNode, childNodes[index]);n } else {n style.appendChild(cssNode);n }n }n}nnfunction applyToTag(style, options, obj) {n var css = obj.css;n var media = obj.media;n var sourceMap = obj.sourceMap;nn if (media) {n style.setAttribute(‘media’, media);n } else {n style.removeAttribute(‘media’);n }nn if (sourceMap && typeof btoa !== ‘undefined’) {n css += “\n/*# sourceMappingURL=data:application/json;base64,”.concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), ” */”);n } // For old IEnn /* istanbul ignore if */nnn if (style.styleSheet) {n style.styleSheet.cssText = css;n } else {n while (style.firstChild) {n style.removeChild(style.firstChild);n }nn style.appendChild(document.createTextNode(css));n }n}nnvar singleton = null;nvar singletonCounter = 0;nnfunction addStyle(obj, options) {n var style;n var update;n var remove;nn if (options.singleton) {n var styleIndex = singletonCounter++;n style = singleton || (singleton = insertStyleElement(options));n update = applyToSingletonTag.bind(null, style, styleIndex, false);n remove = applyToSingletonTag.bind(null, style, styleIndex, true);n } else {n style = insertStyleElement(options);n update = applyToTag.bind(null, style, options);nn remove = function remove() {n removeStyleElement(style);n };n }nn update(obj);n return function updateStyle(newObj) {n if (newObj) {n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {n return;n }nn update(obj = newObj);n } else {n remove();n }n };n}nnmodule.exports = function (list, options) {n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of

S&P 500

4,280.15

+72.88(+1.73%)

 

Dow 30

33,761.05

+424.38(+1.27%)

 

Nasdaq

13,047.19

+267.27(+2.09%)

 

Russell 2000

2,016.62

+41.36(+2.09%)

 

Crude Oil

91.88

-2.46(-2.61%)

 

Gold

1,818.90

+11.70(+0.65%)

 

Silver

20.83

+0.49(+2.39%)

 

EUR/USD

1.0257

-0.0068(-0.66%)

 

10-Yr Bond

2.8490

-0.0390(-1.35%)

 

GBP/USD

1.2139

-0.0064(-0.52%)

 

USD/JPY

133.4800

+0.4810(+0.36%)

 

BTC-USD

24,760.68

+835.97(+3.49%)

 

CMC Crypto 200

574.64

+3.36(+0.59%)

 

FTSE 100

7,500.89

+34.98(+0.47%)

 

Nikkei 225

28,546.98

+727.65(+2.62%)

 

Advertisement

Reuters

Five Chinese state-owned companies, under scrutiny in U.S., will delist from NYSE

SHANGHAI/HONG KONG/NEW YORK (Reuters) -Five U.S.-listed Chinese state-owned companies whose audits are under scrutiny by the U.S. securities regulator said on Friday they would voluntarily delist from the New York Stock Exchange. Oil giant Sinopec and China Life Insurance, Aluminium Corporation of China (Chalco), PetroChina and a separate Sinopec entity, Sinopec Shanghai Petrochemical Co, each said they would apply to delist their American Depository Shares this month.

Associated Press

China sending fighter jets to Thailand for joint exercises

The Chinese air force is sending fighter jets and bombers to Thailand for a joint exercise with the Thai military on Sunday. The training will include air support, strikes on ground targets and small- and large-scale troop deployment, the Chinese Defense Ministry said in a statement posted on its website. China’s expanding military activities in the Asia-Pacific region have alarmed the United States and its allies and form part of a growing strategic and economic competition that has inflamed tensions between the world’s two largest economies.

The Wall Street Journal

Five Chinese Companies Say They Plan to Delist From the New York Stock Exchange

Five Chinese state-owned companies said they intend to delist their American depositary shares from the New York Stock Exchange, as financial regulators in Beijing and Washington remain at loggerheads over U.S. audit requirements. In separate filings to Hong Kong’s stock exchange Friday, PetroChina , China Petroleum & Chemical , Aluminum Corp. of China , China Life Insurance Co ,  and Sinopec Shanghai Petrochemical Co said they have notified the NYSE that they plan to voluntarily delist their American depositary shares.

MarketWatch

Three Chinese corporate giants are leaving the New York Stock Exchange

Three state-owned Chinese corporate giants announced plans Friday to remove their shares from the New York Stock Exchange, adding to a growing financial separation between the biggest global economies in the midst of a dispute over scrutiny of company audits.

TheStreet.com

You’ll Almost Have to Buy an Electric Vehicle if Climate Bill Passes

The attractions of electric vehicles have been magnetic in 2022. Now, there is legislation headed toward the home stretch that will give EVs not only new legitimacy in the eyes of the auto market, but potentially lucrative perks to automakers and consumers who decide to bet on electric vehicles as their chosen mode of transportation — and investment. “This climate spending includes $60 billion for solar panel and wind turbine manufacturing (and $30 billion in credits for new projects), $60 billion for disadvantaged communities that bear the brunt of climate impacts, $27 billion for clean tech R&D, $20 billion to reduce agricultural emissions, $5 billion for forest conservation, $4 billion for drought funding in Western states, new battery manufacturing credits and many more climate-related priorities,” EV site Elektrek reports.

Reuters

Analysis: How Carlyle CEO Kewsong Lee’s turnaround of the private equity firm was cut short

Kewsong Lee bolstered Carlyle Group Inc’s growth after he took over the reins in 2018, yet the private equity firm continued to play catchup with its larger and more diversified publicly listed rivals, according to people close to the situation, analysts and investors. Carlyle announced this week that Lee would step down as chief executive without a replacement lined up. The founders — David Rubenstein, William Conway and Daniel D’Aniello — believed some of the organizational decisions Lee made upset some partners at the firm, according to the sources, who spoke on condition of anonymity.

Benzinga

Alibaba, Tencent Turn Over Key Data in China To Regain Regulatory Compliance

Alibaba Group Holding Limited (NYSE: BABA) and Tencent Holding Ltd (OTC: TCEHY) submitted the algorithm details of some of their products to China’s top internet watchdog, Reuters reports. The submission was a part of China’s sweeping crackdown on the sector. The internet platforms faced flak for abusing algorithms to invade user privacy and manipulate their choices. The Cyberspace Administration of China (CAC) published a list of 30 algorithms used in some of the country’s most popular apps, in

Parade

Texas Home Goes Viral for Secret Batman-Like Cavern Inside

The real estate market is no stranger to unique properties, but one in particular, is garnering plenty of attention online due to its unusual “basement.” If you’ve ever wanted your own secret Batcave, this San Antonio, Texas residence might be your dream home! The four-bedroom, three-bathroom …

Bloomberg

China State-Owned Giants to Delist From US Amid Audit Spat

(Bloomberg) — Five of China’s largest state-owned companies announced plans to delist from US exchanges as the two countries struggle to come to an agreement allowing American regulators to inspect audits of Chinese businesses.Most Read from BloombergAuthor Salman Rushdie Stabbed on Lecture Stage in New YorkTrump Calls for Release of Warrant Documents Used in SearchThe Fed’s Damage to the Housing Market May Last YearsExtreme Heat Uncovers Lost Villages, Ancient Ruins and ShipwrecksChina State-O

Benzinga

Real Good Food Reports Q2 Revenue Growth Of 64%

Real Good Food Company Inc (NASDAQ: RGF) reported second-quarter FY22 sales growth of 64.9% year-on-year, to $30.80 million, missing the analyst consensus estimate of $32.12 million. The revenue increase was driven by demand from existing retail and club customers. The gross profit decreased 11.1% Y/Y to $2.4 million with a gross margin of 7.6%. The loss from operations widened to $(9.8) million from $(4.1) million last year. The company held $10.3 million in cash and equivalents as of June 30,

MarketWatch

Wave of Chinese companies including PetroChina and Sinopec say they will de-list from NYSE

PetroChina , China Life Insurance , Sinopec and Aluminum Corp. of China have separately announced their intention to delist from the New York Stock Exchange, a unit of the Intercontinental Exchange . The dates vary but the last trading days are scheduled for late August and early September. The Securities and Exchange Commission had said in December that 273 stocks were at risk of delisting if they did not comply with rules including allowing audit inspections.

Barrons.com

Sonos Stock Plummets. People Aren’t Buying as Many Electronics as They Were.

Sonos stock slid after the producer of wireless speakers and other audio products posted weak June quarter revenue and reduced its outlook, citing the impact of a tougher macroeconomic environment. The results are consistent with recent softening sales of other consumer electronics products, including personal computers and smartphones. For the quarter, Sonos reported revenue of $371.8 million, down 1.8% from a year ago, and well below the Street consensus forecast at $423.2 million.

Barrons.com

With Elon Musk Buy More Likely, Twitter Stock Can Go to $50

Given the uncertain macro environment and record inflation, we believe that TJX is well positioned to capture more traffic than other retailers (primarily department stores), given its value positioning and the potential for consumers to trade down to its banners. Darling Ingredients results beat estimates and were led by the core business. Cash will be allocated to delevering below 2.5 times and share repurchases.

TaxWatch: Yes, the IRS is hiring criminal investigators empowered to use deadly force — but here’s some important context

Previous article

: The Inflation Reduction Act sends $80 billion to the IRS, but some tax experts wonder if it’s enough for the badly backlogged agency

Next article

You may also like

Comments

Leave a reply

Your email address will not be published. Required fields are marked *

More in Latest News