text: /*!
   * LMV v7.9.0
   * 
   * Copyright 2019 Autodesk, Inc.
   * All rights reserved.
   * 
   * This computer source code and related instructions and comments are the
   * unpublished confidential and proprietary information of Autodesk, Inc.
   * and are protected under Federal copyright and state trade secret law.
   * They may not be disclosed to, copied or used by any third party without
   * the prior written consent of Autodesk, Inc.
   * 
   * Autodesk Forge Viewer Usage Limitations:
   * 
   * The Autodesk Forge viewer can only be used to view files generated by
   * Autodesk Forge services. The Autodesk Forge Viewer JavaScript must be
   * delivered from an Autodesk hosted URL.
   */
  Autodesk.Extensions.Fusion360=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},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 i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(i,a,function(t){return e[t]}.bind(null,a));return i},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="./extensions/Fusion360/AnimationExtension.js")}({"./extensions/Fusion360/AnimationExtension.js":
  /*!****************************************************!*\
    !*** ./extensions/Fusion360/AnimationExtension.js ***!
    \****************************************************/
  /*! exports provided: ANIMATION_PLAY_EVENT, ANIMATION_PAUSE_EVENT, ANIMATION_SEEK_EVENT, ANIMATION_PREVIOUS_FRAME_EVENT, ANIMATION_NEXT_FRAME_EVENT, ANIMATION_TRACK_UPDATE_EVENT, ANIMATION_TOOLBAR_CLOSE_EVENT, AnimationExtension */function(e,t,n){"use strict";n.r(t),n.d(t,"ANIMATION_PLAY_EVENT",(function(){return f})),n.d(t,"ANIMATION_PAUSE_EVENT",(function(){return v})),n.d(t,"ANIMATION_SEEK_EVENT",(function(){return b})),n.d(t,"ANIMATION_PREVIOUS_FRAME_EVENT",(function(){return y})),n.d(t,"ANIMATION_NEXT_FRAME_EVENT",(function(){return g})),n.d(t,"ANIMATION_TRACK_UPDATE_EVENT",(function(){return k})),n.d(t,"ANIMATION_TOOLBAR_CLOSE_EVENT",(function(){return w})),n.d(t,"AnimationExtension",(function(){return T}));n(/*! ./AnimationToolbar.css */"./extensions/Fusion360/AnimationToolbar.css");var i=n(/*! ./AnimationPanel */"./extensions/Fusion360/AnimationPanel.js"),a=n(/*! ./AnimationLocales */"./extensions/Fusion360/AnimationLocales.js"),o=Autodesk.Viewing,r=Autodesk.Viewing.Private,s=Autodesk.Viewing.UI,l=s.ToolBar,m=s.ControlGroup,u=s.Button,c=s.Control,d=o.TOOLBAR,p=r.isTouchDevice,h=r.isIE11,f="animationPlayEvent",v="animationPauseEvent",b="animationSeekEvent",y="animationPreviousFrameEvent",g="animationNextFrameEvent",k="animationTrackUpdateEvent",w="animationToolbarCloseEvent";function T(e,t){o.Extension.call(this,e,t),this.viewer=e,this.animTools=null,this.animToolsId="animationTools",this.playButton=null,this.playButtonIsPaused=!0,this.prevAnimationTime=-1,this.name="fusionanimation",this._configButtonId=null,this._panel=null,this._onGeomAndObjTreeReady=this._onGeomAndObjTreeReady.bind(this),this.openPanel=this.openPanel.bind(this),this._onPlayCallback=this._onPlayCallback.bind(this),this._onCameraChange=this._onCameraChange.bind(this),this._onExplode=this._onExplode.bind(this),this._onResize=this._onResize.bind(this),this._onEscape=this._onEscape.bind(this),this._toolbarReady=!1,this._animationReady=!1}function A(e){var t="";e<0&&(t="-",e=-e);var n=~~(e/3600),i=~~(e%3600/60),a=e%60,o=t;return n>0&&(o+=n+":"+(i<10?"0":"")),o+=i+":"+(a<10?"0":""),o+=a.toFixed(2)}o.ANIMATION_PLAY_EVENT=f,o.ANIMATION_PAUSE_EVENT=v,o.ANIMATION_SEEK_EVENT=b,o.ANIMATION_PREVIOUS_FRAME_EVENT=y,o.ANIMATION_NEXT_FRAME_EVENT=g,o.ANIMATION_TRACK_UPDATE_EVENT=k,o.ANIMATION_TOOLBAR_CLOSE_EVENT=w,T.prototype=Object.create(o.Extension.prototype),T.prototype.constructor=T,T.prototype.load=function(){return this.extendLocalization(a.locales),this._initAnim=!1,this._canAnimationInitialize()?this._initAnimations({model:this.viewer.model}):(this.viewer.addEventListener(o.GEOMETRY_LOADED_EVENT,this._onGeomAndObjTreeReady,{once:!0}),this.viewer.addEventListener(o.OBJECT_TREE_CREATED_EVENT,this._onGeomAndObjTreeReady,{once:!0})),!0},T.prototype._canAnimationInitialize=function(){return this.viewer.model&&this.viewer.model.isLoadDone()&&this.viewer.model.isObjectTreeCreated()},T.prototype._onGeomAndObjTreeReady=function(){!this._initAnim&&this._canAnimationInitialize()&&(this._initAnimations({model:this.viewer.model}),this._initAnim=!0)},T.prototype._initAnimations=function(e){var t=e.model.getData().animations;if(t){var n=this.viewer.impl;for(var i in n.keyFrameAnimator=new r.KeyFrameAnimator(n,t.duration),t.animations)n.keyFrameAnimator.add(t.animations[i]);n.keyFrameAnimator.goto(0),this.viewer.addEventListener(o.CAMERA_CHANGE_EVENT,this._onCameraChange),this.viewer.addEventListener(o.EXPLODE_CHANGE_EVENT,this._onExplode),this.viewer.addEventListener(o.ESCAPE_EVENT,this._onEscape),this._onAnimationReady(),this.viewer.dispatchEvent({type:o.ANIMATION_READY_EVENT})}},T.prototype.unload=function(){var e=this.viewer;if(e.removeEventListener(o.GEOMETRY_LOADED_EVENT,this._onGeomAndObjTreeReady),e.removeEventListener(o.OBJECT_TREE_CREATED_EVENT,this._onGeomAndObjTreeReady),e.removeEventListener(o.CAMERA_CHANGE_EVENT,this._onCameraChange),e.removeEventListener(o.EXPLODE_CHANGE_EVENT,this._onExplode),e.removeEventListener(o.VIEWER_RESIZE_EVENT,this._onResize),e.removeEventListener(o.ESCAPE_EVENT,this._onEscape),this.rewind(),e.impl.invalidate(!0,!0,!0),this.animTools&&(this.animTools.removeControl(this.animTools.timeText.getId()),this.animTools.removeControl(this.animTools.timeline.getId()),this.animTools.removeControl(this.animTools.timeLeftText.getId()),this.animTools.removeControl(this.animTools.forwardButton.getId()),this.animTools.removeControl(this.animTools.backwardButton.getId()),this.animTools.removeControl(this.animTools.closeButton.getId())),this.toolbar&&(this.toolbar.removeControl(this.animTools),this.toolbar.container.parentNode.removeChild(this.toolbar.container),this.toolbar=null),this.playButton){var t=e.getToolbar();t&&t.getControl(d.MODELTOOLSID).removeControl(this.playButton.getId())}if(null!==this._configButtonId){var n=this.viewer.getSettingsPanel();n&&n.removeConfigButton(this._configButtonId),this._configButtonId=null}return this._panel&&(this._panel.uninitialize(),this._panel=null),this._toolbarReady=!1,this._animationReady=!1,!0},T.prototype.play=function(){if(!this.isPlaying()){this.resetExplode(0,!0);var e=this.viewer.impl.keyFrameAnimator;e&&(this.prevAnimationTime>0&&(e.goto(this.prevAnimationTime),this.prevAnimationTime=-1),e.play(0,this._onPlayCallback),this.updatePlayButton(e.isPaused),this.animTools&&(this.animTools.setVisible(!0),this.animTools.isPositionAdjusted||(this.adjustToolbarPosition(),this.animTools.isPositionAdjusted=!0)))}},T.prototype.pause=function(){if(!this.isPaused()){var e=this.viewer.impl.keyFrameAnimator;e&&(e.pause(),this.updatePlayButton(e.isPaused))}},T.prototype.isPlaying=function(){var e=this.viewer.impl.keyFrameAnimator;return!!e&&(e.isPlaying&&!e.isPaused)},T.prototype.isPaused=function(){var e=this.viewer.impl.keyFrameAnimator;return!!e&&e.isPaused},T.prototype.rewind=function(){this.setTimelineValue(0)},T.prototype.setTimelineValue=function(e){var t=this.viewer.impl.keyFrameAnimator;if(t){var n=(e=Math.min(Math.max(0,e),1))*t.duration;t.goto(n),this.updateUI()}},T.prototype.prevKeyframe=function(){var e=this.viewer.impl.keyFrameAnimator;e&&(e.prev(),this.updateUI())},T.prototype.nextKeyframe=function(){var e=this.viewer.impl.keyFrameAnimator;e&&(e.next(),this.updateUI())},T.prototype.getDuration=function(){var e=this.viewer.impl.keyFrameAnimator;return e?e.duration:0},T.prototype.getDurationLabel=function(){return A(this.getDuration())},T.prototype.getCurrentTime=function(){var e=this.viewer.impl.keyFrameAnimator;return e?e.currentTime:0},T.prototype.getCurrentTimeLabel=function(){return A(this.getCurrentTime())},T.prototype.setFollowCamera=function(e){var t=this.viewer.impl.keyFrameAnimator;return!!t&&(t.setFollowCamera(e||!1),!0)},T.prototype.isFollowingCamera=function(){var e=this.viewer.impl.keyFrameAnimator;return!e||e.isFollowingCamera()},T.prototype.setSpeedModifier=function(e){var t=this.viewer.impl.keyFrameAnimator;return!!t&&(t.setSpeedModifier(e),!0)},T.prototype.getSpeedModifier=function(){var e=this.viewer.impl.keyFrameAnimator;return e?e.getSpeedModifier():1},T.prototype.setLooping=function(e){var t=this.viewer.impl.keyFrameAnimator;return!!t&&(t.setLooping(e),!0)},T.prototype.isLooping=function(){var e=this.viewer.impl.keyFrameAnimator;return e?e.isLooping():1},T.prototype._onAnimationReady=function(){this.viewer.impl.keyFrameAnimator&&(this._animationReady=!0,this._initUI())},T.prototype.updateUI=function(){var e=this.viewer.impl.keyFrameAnimator;this.animTools&&e&&(this.animTools.input.value=e.duration>0?e.currentTime/e.duration*100:0,this.animTools.lapse.value=A(e.currentTime),this.animTools.lapseLeft.value=A(e.duration),this.updatePlayButton(e.isPaused),this.updateToolbarBackground())},T.prototype._onPlayCallback=function(e){if(this.animTools){var t=this.viewer.impl.keyFrameAnimator;this.viewer.dispatchEvent({type:k,data:{time:t.currentTime,duration:t.duration}}),this.animTools.input.value=e,this.animTools.lapse.value=A(t.currentTime),this.animTools.lapseLeft.value=A(t.duration),e>=100&&!t.isLooping()&&this.updatePlayButton(!0),this.updateToolbarBackground()}},T.prototype.updatePlayButton=function(e){if(this.playButton&&e!==this.playButtonIsPaused){this.playButtonIsPaused=e;var t=this.viewer.impl.keyFrameAnimator;e?(this.playButton.setIcon("toolbar-animation-play-icon"),this.playButton.setToolTip("Play"),this.viewer.dispatchEvent({type:v,data:{time:t.currentTime,duration:t.duration}})):(this.playButton.setIcon("toolbar-animation-pause-icon"),this.playButton.setToolTip("Pause"),this.viewer.dispatchEvent({type:f,data:{time:t.currentTime,duration:t.duration}}))}},T.prototype.resetExplode=function(e,t){var n=this.viewer;n.model.is2d()||0===n.getExplodeScale()||(t&&n.explodeSlider&&(n.explodeSlider.value=e),n.explode(e))},T.prototype.adjustToolbarPosition=function(){var e=this.viewer;if(e.toolbar){var t=e.toolbar.getDimensions().width;t>e.container.getBoundingClientRect().width&&(t=e.modelTools.getDimensions().width);var n=t-(2*this.animTools.backwardButton.getDimensions().width+3*this.animTools.timeText.getDimensions().width+this.animTools.closeButton.getDimensions().width+20);this.animTools.input.style.width=n+"px"}},T.prototype.hideAnimateToolbar=function(){this.animTools&&this.animTools.setVisible(!1)},T.prototype.updateToolbarBackground=function(){if(this.animTools){var e=this.animTools.input,t=e.value,n="#ffffff",i="#393939";e.style.background="-webkit-linear-gradient(left,"+n+" "+t+"%, "+i+" "+t+"%)",e.style.background="-moz-linear-gradient(left,"+n+" "+t+"%, "+i+" "+t+"%)",e.style.background="-ms-linear-gradient(left,"+n+" "+t+"%, "+i+" "+t+"%)",e.style.background="-o-linear-gradient(left,"+n+" "+t+"%, "+i+" "+t+"%)",e.style.background="linear-gradient(to right,"+n+" "+t+"%, "+i+" "+t+"%)"}},T.prototype._onCameraChange=function(){if((!this.viewer.impl.keyFrameAnimator||this.viewer.impl.keyFrameAnimator.isFollowingCamera())&&this.viewer.toolController.cameraUpdated){var e=this.viewer.impl.keyFrameAnimator;if(!e)return;e.isPlaying&&!e.isPaused&&(e.pause(),this.updatePlayButton(e.isPaused))}},T.prototype._onResize=function(){this.toolbar&&(this.viewer.container.clientWidth<(p()?560:600)?this.toolbar.setCollapsed(!0):(this.toolbar.setCollapsed(!1),this.adjustToolbarPosition()))},T.prototype._onEscape=function(){this.isPlaying()?this.pause():this.hideAnimateToolbar()},T.prototype._onExplode=function(){var e=this.viewer.impl.keyFrameAnimator;e&&(0!==e.currentTime&&(this.prevAnimationTime=e.currentTime,e.goto(0)),this.updatePlayButton(!0)),this.hideAnimateToolbar()},T.prototype.onToolbarCreated=function(e){this._toolbarReady=!0,this._initUI()},T.prototype._initUI=function(){if(this._toolbarReady&&this._animationReady){var e=this.viewer,t=this,n=this.getDocument();this.toolbar=new l("animation-toolbar"),this.toolbar.setGlobalManager(this.globalManager),this.toolbar.addClass("toolbar-animation-subtoolbar"),e.container.appendChild(this.toolbar.container),this.animTools=new m(this.animToolsId),this.animTools.setGlobalManager(this.globalManager),this.animTools.setVisible(!1),this.toolbar.addControl(this.animTools),this.playButton=new u("toolbar-animationPlay"),this.playButton.setGlobalManager(this.globalManager),this.playButton.setIcon("toolbar-animation-play-icon"),this.playButton.setToolTip("Play"),this.playButton.onClick=function(){t.isPaused()?t.activate():t.deactivate()},e.modelTools.addControl(this.playButton),e.modelTools.resetModelButton&&(e.modelTools.resetModelButton.onClick=function(n){e.showAll();var o=e.impl.keyFrameAnimator;o&&(o.goto(0),a.value=0,i.value=A(0),s.value=A(o.duration),t.updatePlayButton(!0)),t.resetExplode(0,!0),t.updateToolbarBackground()}),this.animTools.backwardButton=new u("toolbar-animationBackward"),this.animTools.backwardButton.setGlobalManager(this.globalManager),this.animTools.backwardButton.setToolTip("Previous keyframe"),this.animTools.backwardButton.onClick=function(n){var i=e.impl.keyFrameAnimator;void 0!==i&&i&&(i.prev(),e.dispatchEvent({type:y,data:{time:i.currentTime,duration:i.duration}}),t.updateUI())},this.animTools.backwardButton.addClass("toolbar-animation-button"),this.animTools.backwardButton.setIcon("toolbar-animation-backward-icon"),this.animTools.addControl(this.animTools.backwardButton),this.animTools.forwardButton=new u("toolbar-animationForward"),this.animTools.forwardButton.setGlobalManager(this.globalManager),this.animTools.forwardButton.setToolTip("Next keyframe"),this.animTools.forwardButton.onClick=function(n){var i=e.impl.keyFrameAnimator;void 0!==i&&i&&(i.next(),e.dispatchEvent({type:g,data:{time:i.currentTime,duration:i.duration}}),t.updateUI())},this.animTools.forwardButton.addClass("toolbar-animation-button"),this.animTools.forwardButton.setIcon("toolbar-animation-forward-icon"),this.animTools.addControl(this.animTools.forwardButton),this.animTools.timeText=new c("toolbar-animation-time-lapse"),this.animTools.timeText.setGlobalManager(this.globalManager);var i=this.animTools.lapse=n.createElement("input");i.type="text",i.value="0",i.className="animation-time-lapse",i.disabled=!0,this.animTools.timeText.container.appendChild(i),this.animTools.timeText.addClass("toolbar-animation-button"),this.animTools.addControl(this.animTools.timeText),this.animTools.timeline=new c("toolbar-animation-timeline"),this.animTools.timeline.setGlobalManager(this.globalManager);var a=this.animTools.input=n.createElement("input");a.type="range",a.value="0",a.className="animation-timeline",h&&(a.style["padding-top"]="0",a.style["padding-bottom"]="0",a.style["margin-top"]="10px"),this.animTools.timeline.container.appendChild(a),a.addEventListener(h?"change":"input",(function(n){var o=e.impl.keyFrameAnimator;if(void 0!==o&&o){var r=a.value*o.duration/100;i.value=A(r),s.value=A(o.duration),o.goto(r),e.dispatchEvent({type:b,data:{time:r,duration:o.duration}}),t.updatePlayButton(o.isPaused),t.updateToolbarBackground()}}));var r=n.createElement("div");r.className="adsk-control-tooltip",r.textContent=o.i18n.translate("Click-drag to scrub"),r.setAttribute("data-i18n","Click-drag to scrub"),this.animTools.timeline.container.appendChild(r),a.addEventListener("mouseover",(function(e){e.target===a&&(r.style.visibility="visible")})),a.addEventListener("mouseout",(function(e){e.target===a&&(r.style.visibility="hidden")})),this.animTools.timeline.addClass("toolbar-animation-button"),this.animTools.timeline.addClass("toolbar-animation-timeline"),this.animTools.addControl(this.animTools.timeline),this.animTools.timeLeftText=new c("toolbar-animationRemainingTime"),this.animTools.timeLeftText.setGlobalManager(this.globalManager);var s=this.animTools.lapseLeft=n.createElement("input");s.type="text",s.value="0",s.className="animation-time-lapse",s.disabled=!0,this.animTools.timeLeftText.container.appendChild(s),this.animTools.timeLeftText.addClass("toolbar-animation-button"),this.animTools.addControl(this.animTools.timeLeftText),this.animTools.closeButton=new u("toolbar-animation-Close"),this.animTools.closeButton.setGlobalManager(this.globalManager),this.animTools.closeButton.addClass("docking-panel-close"),this.animTools.closeButton.addClass("toolbar-animation-button"),this.animTools.closeButton.addClass("toolbar-animation-close-button"),this.animTools.closeButton.onClick=function(){t.hideAnimateToolbar(),e.dispatchEvent({type:w})},this.animTools.addControl(this.animTools.closeButton);var d=this.viewer.getSettingsPanel();d&&(this._configButtonId=d.addConfigButton("Animation",this.openPanel)),e.addEventListener(o.VIEWER_RESIZE_EVENT,this._onResize)}},T.prototype.openPanel=function(){this._panel||(this._panel=new i.AnimationPanel(this.viewer,this,"Animation")),this._panel.setVisible(!0)},T.prototype.activate=function(){return this.play(),!0},T.prototype.deactivate=function(){return this.pause(),!0},T.prototype.isActive=function(){return this.isPlaying()},Autodesk.Viewing.theExtensionManager.registerExtension("Autodesk.Fusion360.Animation",T)},"./extensions/Fusion360/AnimationLocales.js":
  /*!**************************************************!*\
    !*** ./extensions/Fusion360/AnimationLocales.js ***!
    \**************************************************/
  /*! exports provided: locales */function(e,t,n){"use strict";n.r(t),n.d(t,"locales",(function(){return w}));var i=n(/*! ../../res/locales/en/nobundle-animation.loc.json */"./res/locales/en/nobundle-animation.loc.json"),a=n(/*! ../../res/locales/cs/nobundle-animation.loc.json */"./res/locales/cs/nobundle-animation.loc.json"),o=n(/*! ../../res/locales/de/nobundle-animation.loc.json */"./res/locales/de/nobundle-animation.loc.json"),r=n(/*! ../../res/locales/es/nobundle-animation.loc.json */"./res/locales/es/nobundle-animation.loc.json"),s=n(/*! ../../res/locales/fr/nobundle-animation.loc.json */"./res/locales/fr/nobundle-animation.loc.json"),l=n(/*! ../../res/locales/fr-CA/nobundle-animation.loc.json */"./res/locales/fr-CA/nobundle-animation.loc.json"),m=n(/*! ../../res/locales/it/nobundle-animation.loc.json */"./res/locales/it/nobundle-animation.loc.json"),u=n(/*! ../../res/locales/ja/nobundle-animation.loc.json */"./res/locales/ja/nobundle-animation.loc.json"),c=n(/*! ../../res/locales/ko/nobundle-animation.loc.json */"./res/locales/ko/nobundle-animation.loc.json"),d=n(/*! ../../res/locales/pl/nobundle-animation.loc.json */"./res/locales/pl/nobundle-animation.loc.json"),p=n(/*! ../../res/locales/pt-BR/nobundle-animation.loc.json */"./res/locales/pt-BR/nobundle-animation.loc.json"),h=n(/*! ../../res/locales/ru/nobundle-animation.loc.json */"./res/locales/ru/nobundle-animation.loc.json"),f=n(/*! ../../res/locales/tr/nobundle-animation.loc.json */"./res/locales/tr/nobundle-animation.loc.json"),v=n(/*! ../../res/locales/zh-HANS/nobundle-animation.loc.json */"./res/locales/zh-HANS/nobundle-animation.loc.json"),b=n(/*! ../../res/locales/zh-HANT/nobundle-animation.loc.json */"./res/locales/zh-HANT/nobundle-animation.loc.json"),y=n(/*! ../../res/locales/nl/nobundle-animation.loc.json */"./res/locales/nl/nobundle-animation.loc.json"),g=n(/*! ../../res/locales/sv/nobundle-animation.loc.json */"./res/locales/sv/nobundle-animation.loc.json"),k=n(/*! ../../res/locales/da/nobundle-animation.loc.json */"./res/locales/da/nobundle-animation.loc.json"),w={en:i,cs:a,de:o,es:r,fr:s,"fr-CA":l,it:m,ja:u,ko:c,pl:d,"pt-BR":p,ru:h,tr:f,"zh-HANS":v,"zh-HANT":b,nl:y,sv:g,da:k}},"./extensions/Fusion360/AnimationPanel.js":
  /*!************************************************!*\
    !*** ./extensions/Fusion360/AnimationPanel.js ***!
    \************************************************/
  /*! exports provided: AnimationPanel */function(e,t,n){"use strict";n.r(t),n.d(t,"AnimationPanel",(function(){return a}));var i="configTab",a=function(e,t,n){var a="adsk_fusion_animation_panel_"+e.id;Autodesk.Viewing.UI.SettingsPanel.call(this,e.container,a,n,{heightAdjustment:90,width:460}),this.container.classList.add("viewer-settings-panel"),this.viewer=e,this.addTab(i,"Configuration",{className:"config"}),this.selectTab(i);var o=t.isFollowingCamera();this.addCheckbox(i,"Animate camera",o,(function(e){t.setFollowCamera(e)}),"When checked, animation pauses whenever the user interacts with camera"),o=t.getSpeedModifier(),this.addSlider(i,"Speed modifier",.1,4,o,(function(e){var n=e.detail.value;t.setSpeedModifier(Number(n))}),{step:.1}),o=t.isLooping(),this.addCheckbox(i,"Loop",o,(function(e){t.setLooping(e)}),"Rewind and play as soon as the animation completes"),this.createFooter()};a.prototype=Object.create(Autodesk.Viewing.UI.SettingsPanel.prototype),a.prototype.constructor=a},"./extensions/Fusion360/AnimationToolbar.css":
  /*!***************************************************!*\
    !*** ./extensions/Fusion360/AnimationToolbar.css ***!
    \***************************************************/
  /*! no static exports found */function(e,t,n){var i=n(/*! !../../node_modules/css-loader!../../node_modules/sass-loader/dist/cjs.js!./AnimationToolbar.css */"./node_modules/css-loader/index.js!./node_modules/sass-loader/dist/cjs.js!./extensions/Fusion360/AnimationToolbar.css");"string"==typeof i&&(i=[[e.i,i,""]]);var a={hmr:!0,transform:void 0,insertInto:void 0};n(/*! ../../node_modules/style-loader/lib/addStyles.js */"./node_modules/style-loader/lib/addStyles.js")(i,a);i.locals&&(e.exports=i.locals)},"./node_modules/css-loader/index.js!./node_modules/sass-loader/dist/cjs.js!./extensions/Fusion360/AnimationToolbar.css":
  /*!********************************************************************************************************************!*\
    !*** ./node_modules/css-loader!./node_modules/sass-loader/dist/cjs.js!./extensions/Fusion360/AnimationToolbar.css ***!
    \********************************************************************************************************************/
  /*! no static exports found */function(e,t,n){(e.exports=n(/*! ../../node_modules/css-loader/lib/css-base.js */"./node_modules/css-loader/lib/css-base.js")(!1)).push([e.i,"/**\n * Animation toolbar\n **/\n.adsk-viewing-viewer .toolbar-animation-subtoolbar {\n  font-size: 12px;\n  height: 50px;\n  bottom: 70px;\n  z-index: 4; }\n\n.adsk-viewing-viewer .toolbar-menu-collapsed .toolbar-animation-subtoolbar {\n  display: none; }\n\n.adsk-viewing-viewer .toolbar-animation-subtoolbar .adsk-control-group {\n  padding-top: 10px;\n  height: calc(100% - 10px);\n  position: relative; }\n\n.adsk-viewing-viewer .toolbar-animation-forward-icon {\n  min-width: 28px;\n  min-height: 16px; }\n\n.adsk-viewing-viewer .toolbar-animation-backward-icon {\n  min-width: 28px;\n  min-height: 16px; }\n\n.adsk-viewing-viewer .toolbar-animation-close-icon {\n  min-width: 18px;\n  min-height: 16px; }\n\n.adsk-viewing-viewer .toolbar-animation-timeline {\n  top: 0;\n  margin: 2px 0 0 0; }\n\n.adsk-viewing-viewer .animation-timeline {\n  outline: none; }\n\n.adsk-viewing-viewer .animation-time-lapse {\n  outline: none;\n  border-width: 0;\n  width: 48px;\n  position: relative;\n  z-index: 0;\n  background: rgba(34, 34, 34, 0);\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -khtml-user-select: none;\n  -ms-user-select: none; }\n\n.adsk-viewing-viewer .toolbar-animation-menu-placer {\n  bottom: 46px; }\n\n.adsk-viewing-viewer .toolbar-animation-button {\n  float: left;\n  cursor: pointer;\n  border-radius: 5px;\n  padding: 0;\n  width: auto;\n  height: auto;\n  min-width: 48px;\n  min-height: 48px; }\n\n.adsk-viewing-viewer .toolbar-animation-button {\n  border: none !important; }\n\n.adsk-viewing-viewer .toolbar-animation-button:hover {\n  border: none !important; }\n\n.adsk-viewing-viewer .toolbar-animation-close-button {\n  top: -14px;\n  width: 25px;\n  height: 48px;\n  min-width: 0;\n  min-height: 0;\n  position: relative; }\n\n.adsk-viewing-viewer .toolbar-animation-close-button.docking-panel-close {\n  background-position: 5px 19px; }\n\n.adsk-viewing-viewer .toolbar-animation-button > input {\n  margin-top: 5px;\n  width: 80px;\n  text-align: center; }\n",""])},"./node_modules/css-loader/lib/css-base.js":
  /*!*************************************************!*\
    !*** ./node_modules/css-loader/lib/css-base.js ***!
    \*************************************************/
  /*! no static exports found */function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"==typeof btoa){var a=(r=i,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */"),o=i.sources.map((function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"}));return[n].concat(o).concat([a]).join("\n")}var r;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},a=0;a<this.length;a++){var o=this[a][0];"number"==typeof o&&(i[o]=!0)}for(a=0;a<e.length;a++){var r=e[a];"number"==typeof r[0]&&i[r[0]]||(n&&!r[2]?r[2]=n:n&&(r[2]="("+r[2]+") and ("+n+")"),t.push(r))}},t}},"./node_modules/style-loader/lib/addStyles.js":
  /*!****************************************************!*\
    !*** ./node_modules/style-loader/lib/addStyles.js ***!
    \****************************************************/
  /*! no static exports found */function(e,t,n){var i,a,o={},r=(i=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===a&&(a=i.apply(this,arguments)),a}),s=function(e,t){return t?t.querySelector(e):document.querySelector(e)},l=function(e){var t={};return function(e,n){if("function"==typeof e)return e();if(void 0===t[e]){var i=s.call(this,e,n);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}t[e]=i}return t[e]}}(),m=null,u=0,c=[],d=n(/*! ./urls */"./node_modules/style-loader/lib/urls.js");function p(e,t){for(var n=0;n<e.length;n++){var i=e[n],a=o[i.id];if(a){a.refs++;for(var r=0;r<a.parts.length;r++)a.parts[r](i.parts[r]);for(;r<i.parts.length;r++)a.parts.push(g(i.parts[r],t))}else{var s=[];for(r=0;r<i.parts.length;r++)s.push(g(i.parts[r],t));o[i.id]={id:i.id,refs:1,parts:s}}}}function h(e,t){for(var n=[],i={},a=0;a<e.length;a++){var o=e[a],r=t.base?o[0]+t.base:o[0],s={css:o[1],media:o[2],sourceMap:o[3]};i[r]?i[r].parts.push(s):n.push(i[r]={id:r,parts:[s]})}return n}function f(e,t){var n=l(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var i=c[c.length-1];if("top"===e.insertAt)i?i.nextSibling?n.insertBefore(t,i.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),c.push(t);else if("bottom"===e.insertAt)n.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var a=l(e.insertAt.before,n);n.insertBefore(t,a)}}function v(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=c.indexOf(e);t>=0&&c.splice(t,1)}function b(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var i=function(){0;return n.nc}();i&&(e.attrs.nonce=i)}return y(t,e.attrs),f(e,t),t}function y(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function g(e,t){var n,i,a,o;if(t.transform&&e.css){if(!(o="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=o}if(t.singleton){var r=u++;n=m||(m=b(t)),i=T.bind(null,n,r,!1),a=T.bind(null,n,r,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",y(t,e.attrs),f(e,t),t}(t),i=E.bind(null,n,t),a=function(){v(n),n.href&&URL.revokeObjectURL(n.href)}):(n=b(t),i=A.bind(null,n),a=function(){v(n)});return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else a()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=r()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=h(e,t);return p(n,t),function(e){for(var i=[],a=0;a<n.length;a++){var r=n[a];(s=o[r.id]).refs--,i.push(s)}e&&p(h(e,t),t);for(a=0;a<i.length;a++){var s;if(0===(s=i[a]).refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete o[s.id]}}}};var k,w=(k=[],function(e,t){return k[e]=t,k.filter(Boolean).join("\n")});function T(e,t,n,i){var a=n?"":i.css;if(e.styleSheet)e.styleSheet.cssText=w(t,a);else{var o=document.createTextNode(a),r=e.childNodes;r[t]&&e.removeChild(r[t]),r.length?e.insertBefore(o,r[t]):e.appendChild(o)}}function A(e,t){var n=t.css,i=t.media;if(i&&e.setAttribute("media",i),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function E(e,t,n){var i=n.css,a=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&a;(t.convertToAbsoluteUrls||o)&&(i=d(i)),a&&(i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */");var r=new Blob([i],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(r),s&&URL.revokeObjectURL(s)}},"./node_modules/style-loader/lib/urls.js":
  /*!***********************************************!*\
    !*** ./node_modules/style-loader/lib/urls.js ***!
    \***********************************************/
  /*! no static exports found */function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,i=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,(function(e,t){var a,o=t.trim().replace(/^"(.*)"$/,(function(e,t){return t})).replace(/^'(.*)'$/,(function(e,t){return t}));return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(o)?e:(a=0===o.indexOf("//")?o:0===o.indexOf("/")?n+o:i+o.replace(/^\.\//,""),"url("+JSON.stringify(a)+")")}))}},"./res/locales/cs/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/cs/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"cs","@@context":"Prohlížeč animací","Play":"Přehrát","Pause":"Pozastavit","Next keyframe":"Další klíčový snímek","Previous keyframe":"Předchozí klíčový snímek","Click-drag to scrub":"Kliknutím a přetažením procházejte","Close animation timeline":"Zavřít časovou osu animace","Animate camera":"Animovat kameru","When checked, animation pauses whenever the user interacts with camera":"Při zaškrtnutí se animace pozastaví, kdykoli bude uživatel manipulovat s kamerou.","Loop":"Smyčka","Rewind and play as soon as the animation completes":"Převinout zpět a přehrávat ihned po dokončení animace","Speed modifier":"Ovladač rychlosti"}')},"./res/locales/da/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/da/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"da","@@context":"Animationsfremviser","Play":"Afspil","Pause":"Pause","Next keyframe":"Næste keyframe","Previous keyframe":"Forrige keyframe","Click-drag to scrub":"Klik og træk for hurtig visning","Close animation timeline":"Luk tidslinje for animation","Animate camera":"Animer kamera","When checked, animation pauses whenever the user interacts with camera":"Hvis markeret pauser animationen, når som helst brugeren interagerer med kamera.","Loop":"Loop","Rewind and play as soon as the animation completes":"Spol tilbage, og afspil så snart animationen er færdig","Speed modifier":"Hastighedsmodifikator"}')},"./res/locales/de/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/de/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"de","@@context":"Viewer-Animation","Play":"Wiedergabe","Pause":"Pause","Next keyframe":"Nächstes Keyframe","Previous keyframe":"Vorheriges Keyframe","Click-drag to scrub":"Für einen schnellen Vorlauf klicken und ziehen","Close animation timeline":"Animationsablaufprogramm schließen","Animate camera":"Kamera animieren","When checked, animation pauses whenever the user interacts with camera":"Wenn dieses Kontrollkästchen aktiviert ist, wird die Animation bei jeder Interaktion mit dem Benutzer angehalten.","Loop":"Schleife","Rewind and play as soon as the animation completes":"Zurückspulen und wiedergeben, sobald die Animation endet","Speed modifier":"Modifikator \\"Geschwindigkeit\\""}')},"./res/locales/en/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/en/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"en","@@context":"Viewer Animation","Play":"Play","Pause":"Pause","Next keyframe":"Next keyframe","Previous keyframe":"Previous keyframe","Click-drag to scrub":"Click-drag to scrub","Close animation timeline":"Close animation timeline","Animate camera":"Animate camera","When checked, animation pauses whenever the user interacts with camera":"When checked, animation pauses whenever the user interacts with camera.","Loop":"Loop","Rewind and play as soon as the animation completes":"Rewind and play as soon as the animation completes","Speed modifier":"Speed modifier"}')},"./res/locales/es/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/es/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"es","@@context":"Animación del visor","Play":"Reproducir","Pause":"Pausar","Next keyframe":"Siguiente fotograma clave","Previous keyframe":"Fotograma clave anterior","Click-drag to scrub":"Haga clic y arrastre para anular.","Close animation timeline":"Cerrar duración de la animación","Animate camera":"Animar cámara","When checked, animation pauses whenever the user interacts with camera":"Si se ha activado esta opción, la animación se detiene temporalmente cuando el usuario interacciona con la cámara.","Loop":"Bucle","Rewind and play as soon as the animation completes":"Rebobina y reproduce en cuanto se completa la animación.","Speed modifier":"Modificador de velocidad"}')},"./res/locales/fr-CA/nobundle-animation.loc.json":
  /*!*******************************************************!*\
    !*** ./res/locales/fr-CA/nobundle-animation.loc.json ***!
    \*******************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"fr-CA","@@context":"Animation du visualiseur","Play":"Lire","Pause":"Suspendre","Next keyframe":"Image clé suivante","Previous keyframe":"Image clé précédente","Click-drag to scrub":"Cliquez et faites glisser le curseur pour faire défiler la page","Close animation timeline":"Fermer le plan de montage chronologique de l\'animation","Animate camera":"Animer la caméra","When checked, animation pauses whenever the user interacts with camera":"Lorsque cette option est sélectionnée, l\'animation se met en pause chaque fois que l\'utilisateur interagit avec la caméra.","Loop":"Boucle","Rewind and play as soon as the animation completes":"Rembobiner et lire dès que l\'animation est terminée","Speed modifier":"Modificateur de vitesse"}')},"./res/locales/fr/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/fr/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"fr","@@context":"Animation du visualiseur","Play":"Lire","Pause":"Suspendre","Next keyframe":"Image clé suivante","Previous keyframe":"Image clé précédente","Click-drag to scrub":"Cliquez et faites glisser le curseur pour faire défiler la page","Close animation timeline":"Fermer le plan de montage chronologique de l\'animation","Animate camera":"Animer la caméra","When checked, animation pauses whenever the user interacts with camera":"Lorsque cette option est sélectionnée, l\'animation se met en pause chaque fois que l\'utilisateur interagit avec la caméra.","Loop":"Boucle","Rewind and play as soon as the animation completes":"Rembobiner et lire dès que l\'animation est terminée","Speed modifier":"Modificateur de vitesse"}')},"./res/locales/it/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/it/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"it","@@context":"Animazione visualizzatore","Play":"Riproduci","Pause":"Pausa","Next keyframe":"Fotogramma chiave successivo","Previous keyframe":"Fotogramma chiave precedente","Click-drag to scrub":"Fare clic e trascinare per scorrere","Close animation timeline":"Chiudi sequenza temporale animazione","Animate camera":"Anima inquadratura","When checked, animation pauses whenever the user interacts with camera":"Quando questa opzione è selezionata, l\'animazione viene messa in pausa ogni volta che l\'utente interagisce con l\'inquadratura.","Loop":"Riproduzione continua","Rewind and play as soon as the animation completes":"Riavvolgi e riproduci non appena l\'animazione è stata completata","Speed modifier":"Modificatore di velocità"}')},"./res/locales/ja/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/ja/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"ja","@@context":"ビューア アニメーション","Play":"再生","Pause":"一時停止","Next keyframe":"次のキーフレーム","Previous keyframe":"前のキーフレーム","Click-drag to scrub":"クリックしてドラッグでスクラブ","Close animation timeline":"アニメーション タイムラインを閉じる","Animate camera":"カメラをアニメート","When checked, animation pauses whenever the user interacts with camera":"オンにすると、ユーザがカメラを操作するたびにアニメーションが一時停止します。","Loop":"ループ","Rewind and play as soon as the animation completes":"アニメーションが完了したらすぐに巻き戻して再生します","Speed modifier":"速度モディファイヤ"}')},"./res/locales/ko/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/ko/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"ko","@@context":"뷰어 애니메이션","Play":"재생","Pause":"일시 중지","Next keyframe":"다음 키프레임","Previous keyframe":"이전 키프레임","Click-drag to scrub":"클릭한 상태로 끌어 스크럽","Close animation timeline":"애니메이션 타임라인 닫기","Animate camera":"카메라 애니메이트","When checked, animation pauses whenever the user interacts with camera":"이 옵션을 선택하면 사용자가 카메라를 사용할 때마다 애니메이션이 일시 중지됩니다.","Loop":"루프","Rewind and play as soon as the animation completes":"애니메이션이 끝나면 뒤로 돌아가 재생","Speed modifier":"속도 수정자"}')},"./res/locales/nl/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/nl/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"nl","@@context":"Vieweranimatie","Play":"Afspelen","Pause":"Pauzeren","Next keyframe":"Volgend keyframe","Previous keyframe":"Vorig keyframe","Click-drag to scrub":"Klik en sleep om te scrubben","Close animation timeline":"Animatietijdlijn sluiten","Animate camera":"Camera van animatie voorzien","When checked, animation pauses whenever the user interacts with camera":"Als dit is aangevinkt, wordt de animatie gepauzeerd zodra de gebruiker de camera gebruikt.","Loop":"Herhalen","Rewind and play as soon as the animation completes":"Terugspoelen en afspelen zodra de animatie is voltooid","Speed modifier":"Snelheid aanpassen"}')},"./res/locales/pl/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/pl/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"pl","@@context":"Animacja w przeglądarce","Play":"Odtwórz","Pause":"Pauza","Next keyframe":"Następna ramka kluczowa","Previous keyframe":"Poprzednia ramka kluczowa","Click-drag to scrub":"Kliknij i przeciągnij, aby przewinąć","Close animation timeline":"Zamknij oś czasu animacji","Animate camera":"Animacja kamery","When checked, animation pauses whenever the user interacts with camera":"Jeśli ta opcja jest zaznaczona, animacja zatrzymuje się, gdy użytkownik przejmie obsługę kamery.","Loop":"Pętla","Rewind and play as soon as the animation completes":"Cofnij i odtwórz zaraz po zakończeniu animacji","Speed modifier":"Modyfikator prędkości"}')},"./res/locales/pt-BR/nobundle-animation.loc.json":
  /*!*******************************************************!*\
    !*** ./res/locales/pt-BR/nobundle-animation.loc.json ***!
    \*******************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"pt","@@context":"Animação do visualizador","Play":"Reproduzir","Pause":"Pausar","Next keyframe":"Próximo quadro-chave","Previous keyframe":"Quadro-chave anterior","Click-drag to scrub":"Clicar e arrastar para ignorar","Close animation timeline":"Fechar linha de tempo da animação","Animate camera":"Animar câmera","When checked, animation pauses whenever the user interacts with camera":"Quando marcada, a animação pausa sempre que o usuário interage com a câmera.","Loop":"Loop","Rewind and play as soon as the animation completes":"Rebobinar e reproduzir assim que a animação ficar concluída","Speed modifier":"Modificador de velocidade"}')},"./res/locales/ru/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/ru/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"ru","@@context":"Просмотр анимации","Play":"Воспроизведение","Pause":"Пауза","Next keyframe":"Следующий ключевой кадр","Previous keyframe":"Предыдущий ключевой кадр","Click-drag to scrub":"Чтобы отменить, нажмите и перетащите","Close animation timeline":"Закрыть временную шкалу анимации","Animate camera":"Анимация камеры","When checked, animation pauses whenever the user interacts with camera":"Если флажок установлен, анимация приостанавливается при взаимодействии пользователя с камерой.","Loop":"Цикл","Rewind and play as soon as the animation completes":"Перемотка назад и воспроизведение сразу после завершения анимации","Speed modifier":"Модификатор скорости"}')},"./res/locales/sv/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/sv/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"sv","@@context":"Animering av visningsprogrammet","Play":"Spela upp","Pause":"Pausa","Next keyframe":"Nästa keyframe","Previous keyframe":"Föregående keyframe","Click-drag to scrub":"Klicka-och-dra för att skrubba","Close animation timeline":"Stäng animeringstidslinjen","Animate camera":"Animera kameran","When checked, animation pauses whenever the user interacts with camera":"När detta är valt, pausas animationer när användaren interagerar med kameran.","Loop":"Upprepa","Rewind and play as soon as the animation completes":"Spola tillbaka och spela upp direkt efter att animationen är klar","Speed modifier":"Hastighetsmodifierare"}')},"./res/locales/tr/nobundle-animation.loc.json":
  /*!****************************************************!*\
    !*** ./res/locales/tr/nobundle-animation.loc.json ***!
    \****************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"tr","@@context":"Görüntüleyici Animasyonu","Play":"Oynat","Pause":"Duraklat","Next keyframe":"Sonraki ana kare","Previous keyframe":"Önceki ana kare","Click-drag to scrub":"Temizlemek için tıkla ve sürükle","Close animation timeline":"Canlandırma zaman çizgisini kapat","Animate camera":"Kamerayı canlandır","When checked, animation pauses whenever the user interacts with camera":"İşaretlendiğinde, kullanıcı kamera ile etkileşimde bulunduğunda canlandırma duraklar.","Loop":"Döngü","Rewind and play as soon as the animation completes":"Canlandırma tamamlanır tamamlanmaz geri al ve oynat","Speed modifier":"Hız değiştirici"}')},"./res/locales/zh-HANS/nobundle-animation.loc.json":
  /*!*********************************************************!*\
    !*** ./res/locales/zh-HANS/nobundle-animation.loc.json ***!
    \*********************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"zh-Hans","@@context":"查看器动画演示","Play":"播放","Pause":"暂停","Next keyframe":"下一关键帧","Previous keyframe":"上一关键帧","Click-drag to scrub":"单击并拖动以擦除","Close animation timeline":"关闭动画时间轴","Animate camera":"照相机动画演示","When checked, animation pauses whenever the user interacts with camera":"如果选中，动画将在用户与照相机交互时暂停。","Loop":"循环","Rewind and play as soon as the animation completes":"只要动画完成播放，就会倒回并播放","Speed modifier":"速度修改器"}')},"./res/locales/zh-HANT/nobundle-animation.loc.json":
  /*!*********************************************************!*\
    !*** ./res/locales/zh-HANT/nobundle-animation.loc.json ***!
    \*********************************************************/
  /*! exports provided: @@locale, @@context, Play, Pause, Next keyframe, Previous keyframe, Click-drag to scrub, Close animation timeline, Animate camera, When checked, animation pauses whenever the user interacts with camera, Loop, Rewind and play as soon as the animation completes, Speed modifier, default */function(e){e.exports=JSON.parse('{"@@locale":"zh-Hant","@@context":"檢視器動畫","Play":"播放","Pause":"暫停","Next keyframe":"下一個關鍵畫面","Previous keyframe":"上一個關鍵畫面","Click-drag to scrub":"按一下並拖曳以進行編修","Close animation timeline":"關閉動畫時間軸線","Animate camera":"以動畫顯示相機","When checked, animation pauses whenever the user interacts with camera":"如果勾選此選項，每當使用者與相機互動時，動畫就會暫停。","Loop":"循環播放","Rewind and play as soon as the animation completes":"動畫一完成就倒轉並播放","Speed modifier":"速度修改器"}')}});