--------------------------------------------------------------------------------------------------------------- INITIALIZING VIDBOT, v1.7.1... --------------------------------------------------------------------------------------------------------------- [05:17:52.862] Vidbot :: start() [05:17:52.862] Vidbot :: _next(), _stepIndex:0 of 4 [05:17:52.863] index :: _onStepStarted_vidbot(), step: 1 [05:17:52.864] Vidbot :: step[0], label:Initializing Core [05:17:52.874] index :: _onStepProgress_vidbot(), percent: 20 [05:17:52.874] Vidbot :: _parse() [05:17:52.875] index :: _onStepProgress_vidbot(), percent: 40 [05:17:52.876] Vidbot :: _validate() [05:17:52.877] index :: _onStepProgress_vidbot(), percent: 60 [05:17:52.877] Vidbot :: _fonts() [05:17:52.877] FabricFontManager :: add(), id: SourceSansPro-Bold [05:17:52.877] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Bold.ttf [05:17:52.886] FabricFontManager :: add(), id: SourceSansPro-Light [05:17:52.886] src: /var/app/Vidbot-V2/assets/fonts/SourceSansPro/SourceSansPro-Light.ttf [05:17:52.887] FabricFontManager :: add(), id: DINOT-Bold [05:17:52.887] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Bold.otf [05:17:52.888] FabricFontManager :: add(), id: DINOT-Light [05:17:52.888] src: /var/app/Vidbot-V2/assets/fonts/DINOT/DINOT-Light.otf [05:17:52.889] FabricFontManager :: add(), id: TradeGothicLTStd-Regular [05:17:52.889] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Regular.otf [05:17:52.890] FabricFontManager :: add(), id: TradeGothicLTStd-Bold [05:17:52.890] src: /var/app/Vidbot-V2/assets/fonts/TradeGothicCond/TradeGothicLTStd-Bold.otf [05:17:52.891] index :: _onStepProgress_vidbot(), percent: 80 [05:17:52.891] Vidbot :: _clips() [05:17:52.892] StreamManager :: add(), id:audio_vo, type:audio [05:17:52.892] AudioClip[audio_vo] :: constructor() [05:17:52.892] InputStream[audio_vo] :: constructor() [05:17:52.892] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'audio_vo', clipId: null } [05:17:52.895] StreamManager :: add(), id:bg_music, type:audio [05:17:52.895] AudioClip[bg_music] :: constructor() [05:17:52.895] InputStream[bg_music] :: constructor() [05:17:52.896] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'bg_music', clipId: null } [05:17:52.896] StreamManager :: add(), id:mira, type:canvas [05:17:52.896] CanvasStream[canvas_638104329759] :: constructor() [05:17:52.896] InputStream[canvas_638104329759] :: constructor() [05:17:52.979] MiraSlideshow[mira] :: constructor() [05:17:52.979] Mira[mira] :: constructor() [05:17:52.979] Overlay[mira] :: constructor() [05:17:52.979] CanvasClip[mira] :: constructor() [05:17:52.979] Clip[mira] :: constructor() [05:17:52.980] clip:"mira" added to stream:"canvas_638104329759" [05:17:52.980] Vidbot :: StreamMgr.on( 'ADDED' ), data: { streamID: 'canvas_638104329759', clipId: 'mira' } [05:17:52.980] all added... [05:17:52.980] Vidbot :: _next(), _stepIndex:1 of 4 [05:17:52.980] index :: _onStepCompleted_vidbot(), step: 1 [05:17:52.981] index :: _onStepStarted_vidbot(), step: 2 [05:17:52.981] Vidbot :: step[1], label:Initializing Input Streams [05:17:52.981] StreamManager :: init() [05:17:52.982] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'audio_vo', progress: 0.3333333333333333 } [05:17:52.982] index :: _onStepProgress_vidbot(), percent: 33 [05:17:52.982] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'bg_music', progress: 0.6666666666666666 } [05:17:52.982] index :: _onStepProgress_vidbot(), percent: 67 [05:17:52.983] CanvasStream[canvas_638104329759] :: _init(), BEGIN [05:17:52.983] i:0, c.id:mira [05:17:52.983] MiraSlideshow[mira] :: _init(), BEGIN [05:17:52.983] MiraSlideshow[mira] :: _validate() [05:17:52.985] MiraSlideshow :: _validateSlides() [05:17:52.985] i:0, s.type: title [05:17:52.986] i:1, s.type: info [05:17:52.986] i:2, s.type: image [05:17:52.986] i:3, s.type: image [05:17:52.986] i:4, s.type: image [05:17:52.986] i:5, s.type: image [05:17:52.986] i:6, s.type: image [05:17:52.986] i:7, s.type: image [05:17:52.986] i:8, s.type: image [05:17:52.986] i:9, s.type: image [05:17:52.986] i:10, s.type: image [05:17:52.986] i:11, s.type: image [05:17:52.986] i:12, s.type: image [05:17:52.986] i:13, s.type: image [05:17:52.986] i:14, s.type: image [05:17:52.986] i:15, s.type: image [05:17:52.986] i:16, s.type: image [05:17:52.990] MiraSlideshow[mira] :: _build(), BEGIN [05:17:52.995] MiraTitlecard[titlecard] :: constructor() [05:17:52.995] Mira[titlecard] :: constructor() [05:17:52.995] Overlay[titlecard] :: constructor() [05:17:52.996] CanvasClip[titlecard] :: constructor() [05:17:52.996] Clip[titlecard] :: constructor() [05:17:52.996] MiraTitlecard[titlecard] :: _init() [05:17:52.996] MiraTitlecard[titlecard] :: _validate() [05:17:52.997] MiraTitlecard[titlecard] :: _build() [05:17:53.025] Overlay[titlecard] :: _animate() [05:17:53.027] MiraTitlecard[titlecard] :: _animate() [05:17:53.029] AnimatedImageFrame[aiftitle] :: constructor() [05:17:53.030] AnimatedImageFrame[aiftitle] :: _init(), BEGIN [05:17:53.030] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_1.jpg [05:17:53.084] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.088] AnimatedImageFrame[aiftitle] :: _init(), END [05:17:53.093] MiraInfosheet[info] :: constructor() [05:17:53.093] Mira[info] :: constructor() [05:17:53.093] Overlay[info] :: constructor() [05:17:53.093] CanvasClip[info] :: constructor() [05:17:53.093] Clip[info] :: constructor() [05:17:53.094] MiraInfosheet[info] :: _init() [05:17:53.094] MiraInfosheet[info] :: _validate() [05:17:53.095] MiraInfosheet[info] :: _build() [05:17:53.108] RenOptions[info] :: _animate() [05:17:53.108] Overlay[info] :: _animate() [05:17:53.110] AnimatedImageFrame[info1] :: constructor() [05:17:53.110] AnimatedImageFrame[info2] :: constructor() [05:17:53.110] AnimatedImageFrame[info3] :: constructor() [05:17:53.110] AnimatedImageFrame[info1] :: _init(), BEGIN [05:17:53.110] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_1.jpg [05:17:53.149] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.151] AnimatedImageFrame[info1] :: _init(), END [05:17:53.151] AnimatedImageFrame[info2] :: _init(), BEGIN [05:17:53.151] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_18.jpg [05:17:53.180] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.182] AnimatedImageFrame[info2] :: _init(), END [05:17:53.182] AnimatedImageFrame[info3] :: _init(), BEGIN [05:17:53.182] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_20.jpg [05:17:53.220] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.221] AnimatedImageFrame[info3] :: _init(), END [05:17:53.223] AnimatedImageFrame[image] :: constructor() [05:17:53.223] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.223] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_1.jpg [05:17:53.264] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.265] AnimatedImageFrame[image] :: _init(), END [05:17:53.266] AnimatedImageFrame[image] :: constructor() [05:17:53.266] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.266] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_2.jpg [05:17:53.304] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.305] AnimatedImageFrame[image] :: _init(), END [05:17:53.306] AnimatedImageFrame[image] :: constructor() [05:17:53.306] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.306] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_3.jpg [05:17:53.344] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.345] AnimatedImageFrame[image] :: _init(), END [05:17:53.346] AnimatedImageFrame[image] :: constructor() [05:17:53.346] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.346] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_4.jpg [05:17:53.381] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.383] AnimatedImageFrame[image] :: _init(), END [05:17:53.383] AnimatedImageFrame[image] :: constructor() [05:17:53.383] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.383] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_5.jpg [05:17:53.418] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.419] AnimatedImageFrame[image] :: _init(), END [05:17:53.420] AnimatedImageFrame[image] :: constructor() [05:17:53.420] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.420] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_6.jpg [05:17:53.454] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.455] AnimatedImageFrame[image] :: _init(), END [05:17:53.455] AnimatedImageFrame[image] :: constructor() [05:17:53.455] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.455] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_7.jpg [05:17:53.490] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.491] AnimatedImageFrame[image] :: _init(), END [05:17:53.491] AnimatedImageFrame[image] :: constructor() [05:17:53.491] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.492] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_8.jpg [05:17:53.526] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.527] AnimatedImageFrame[image] :: _init(), END [05:17:53.527] AnimatedImageFrame[image] :: constructor() [05:17:53.528] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.528] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_9.jpg [05:17:53.558] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.559] AnimatedImageFrame[image] :: _init(), END [05:17:53.560] AnimatedImageFrame[image] :: constructor() [05:17:53.560] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.560] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_10.jpg [05:17:53.589] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.590] AnimatedImageFrame[image] :: _init(), END [05:17:53.591] AnimatedImageFrame[image] :: constructor() [05:17:53.591] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.591] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_11.jpg [05:17:53.619] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.620] AnimatedImageFrame[image] :: _init(), END [05:17:53.621] AnimatedImageFrame[image] :: constructor() [05:17:53.621] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.621] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_12.jpg [05:17:53.649] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.650] AnimatedImageFrame[image] :: _init(), END [05:17:53.651] AnimatedImageFrame[image] :: constructor() [05:17:53.651] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.651] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_13.jpg [05:17:53.676] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.677] AnimatedImageFrame[image] :: _init(), END [05:17:53.677] AnimatedImageFrame[image] :: constructor() [05:17:53.678] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.678] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_14.jpg [05:17:53.708] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.709] AnimatedImageFrame[image] :: _init(), END [05:17:53.709] AnimatedImageFrame[image] :: constructor() [05:17:53.710] AnimatedImageFrame[image] :: _init(), BEGIN [05:17:53.710] CanvasClip :: LoadImageWithPromise(), src: 9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3_15.jpg [05:17:53.764] CanvasClip :: LoadImageWithPromise(), loaded, isError: false [05:17:53.765] AnimatedImageFrame[image] :: _init(), END [05:17:53.766] MiraSlideshow[mira] :: _build(), END [05:17:53.766] Overlay[mira] :: _animate() [05:17:53.766] MiraSlideshow[mira] :: _init(), END [05:17:53.767] CanvasStream[mira] :: _init(), p.then() [05:17:53.767] CanvasStream[canvas_638104329759] :: _init(), promise.all.then() [05:17:53.768] CanvasStream[canvas_638104329759] :: _init(), END [05:17:53.768] StreamMangaer :: init(), stream[canvas_638104329759].then() [05:17:53.769] Vidbot :: StreamMgr.on( 'STREAM_INITED' ), data: { streamID: 'canvas_638104329759', progress: 1 } [05:17:53.769] index :: _onStepProgress_vidbot(), percent: 100 [05:17:53.769] StreamManager :: init(), promise.all.then... [05:17:53.769] Vidbot :: StreamMgr.on( 'INITED' ) [05:17:53.769] Vidbot :: _next(), _stepIndex:2 of 4 [05:17:53.769] index :: _onStepCompleted_vidbot(), step: 2 [05:17:53.770] index :: _onStepStarted_vidbot(), step: 3 [05:17:53.770] Vidbot :: step[2], label:Rendering Canvas Streams [05:17:53.770] Vidbot :: StreamMgr.on( 'RENDER_STARTED' ), data: undefined [05:17:53.770] StreamManager :: render() [05:17:53.771] CanvasStream[canvas_638104329759] :: render() [05:17:53.842] index :: _onStepProgress_vidbot(), percent: 0 [05:18:26.661] index :: _onStepProgress_vidbot(), percent: 5 [05:18:53.088] index :: _onStepProgress_vidbot(), percent: 10 [05:19:27.380] index :: _onStepProgress_vidbot(), percent: 15 [05:20:02.002] index :: _onStepProgress_vidbot(), percent: 20 [05:20:40.126] index :: _onStepProgress_vidbot(), percent: 25 [05:21:18.082] index :: _onStepProgress_vidbot(), percent: 30 [05:21:59.571] index :: _onStepProgress_vidbot(), percent: 35 [05:22:37.211] index :: _onStepProgress_vidbot(), percent: 40 [05:23:14.809] index :: _onStepProgress_vidbot(), percent: 45 [05:23:44.744] index :: _onStepProgress_vidbot(), percent: 50 [05:24:16.913] index :: _onStepProgress_vidbot(), percent: 55 [05:24:49.189] index :: _onStepProgress_vidbot(), percent: 60 [05:25:22.404] index :: _onStepProgress_vidbot(), percent: 65 [05:25:52.985] index :: _onStepProgress_vidbot(), percent: 70 [05:26:22.365] index :: _onStepProgress_vidbot(), percent: 75 [05:26:49.765] index :: _onStepProgress_vidbot(), percent: 80 [05:27:19.409] index :: _onStepProgress_vidbot(), percent: 85 [05:27:48.686] index :: _onStepProgress_vidbot(), percent: 90 [05:28:08.034] index :: _onStepProgress_vidbot(), percent: 95 [05:28:32.758] index :: _onStepProgress_vidbot(), percent: 100 [05:28:35.288] StreamManager :: render(), Promise.all.then... [05:28:35.288] Vidbot :: StreamMgr.on( 'RENDER_COMPLETED' ), data: undefined [05:28:35.288] Vidbot :: _next(), _stepIndex:3 of 4 [05:28:35.288] index :: _onStepCompleted_vidbot(), step: 3 [05:28:35.289] index :: _onStepStarted_vidbot(), step: 4 [05:28:35.290] Vidbot :: step[3], label:Encoding Media [05:28:35.293] CanvasFilters :: Overlay() [05:28:35.293] AudioStream[audio_vo] :: inputOptions() [05:28:35.294] AudioFilters :: Volume() [05:28:35.294] filter: [2:a]volume=1[2_vol] [05:28:35.294] AudioFilters :: Delay() [05:28:35.294] filter: [2_vol]adelay=0|0[2_del] [05:28:35.294] AudioStream[bg_music] :: inputOptions() [05:28:35.294] AudioFilters :: Volume() [05:28:35.294] filter: [3:a]volume=0.15[3_vol] [05:28:35.294] AudioFilters :: FadeOut() [05:28:35.295] filter: [3_vol]afade=t=out:st=60:d=1[3_fadeout] [05:28:35.295] AudioFilters :: Delay() [05:28:35.295] filter: [3_fadeout]adelay=0|0[3_del] [05:28:35.295] AudioFilters :: Mix() [05:28:35.295] filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [05:28:35.295] mixed filter: [2_del][3_del]amix=inputs=2:duration=longest[a_out] [05:28:35.298] hang.time: 60 [05:28:35.444] Vidbot :: ffmpeg.on( 'start' ) [05:28:35.444] ffmpeg -f lavfi -i color=c=000000:s=960x540:r=30:duration=60 -r 30 -i ./tmp/canvas_638104329759_%05d.png -to 00:01:00.000 -i file:///var/www/html/clie [05:28:35.444] nts/22285/audio/9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3.mp3 -to 00:01:00.000 -i file:///var/app/video_pre_processor/assets/vidbot/_files/audio/Orchestra- [05:28:35.444] 3_30.mp3 -y -filter_complex [0:v][1:v]overlay=x=0:y=0[1_out];[2:a]volume=1[2_vol];[2_vol]adelay=0|0[2_del];[3:a]volume=0.15[3_vol];[3_vol]afade=t=out: [05:28:35.444] st=60:d=1[3_fadeout];[3_fadeout]adelay=0|0[3_del];[2_del][3_del]amix=inputs=2:duration=longest[a_out] -acodec aac -vcodec libx264 -r 30 -f mp4 -map [a [05:28:35.444] _out] -map [1_out] -preset veryfast -crf 18 -movflags frag_keyframe+empty_moov -pix_fmt yuv420p /var/www/html/clients/22285/video/9C2E7969-D22D-ECBF-8 [05:28:35.444] E28-E4DC2EE6FDA3.mp4 [05:28:35.706] index :: _onStepProgress_vidbot(), percent: -3462080762 [05:28:36.078] index :: _onStepProgress_vidbot(), percent: 1 [05:28:37.093] index :: _onStepProgress_vidbot(), percent: 5 [05:28:38.627] index :: _onStepProgress_vidbot(), percent: 11 [05:28:39.647] index :: _onStepProgress_vidbot(), percent: 15 [05:28:41.163] index :: _onStepProgress_vidbot(), percent: 21 [05:28:42.168] index :: _onStepProgress_vidbot(), percent: 25 [05:28:43.681] index :: _onStepProgress_vidbot(), percent: 31 [05:28:44.690] index :: _onStepProgress_vidbot(), percent: 35 [05:28:46.208] index :: _onStepProgress_vidbot(), percent: 41 [05:28:47.222] index :: _onStepProgress_vidbot(), percent: 46 [05:28:48.232] index :: _onStepProgress_vidbot(), percent: 50 [05:28:49.242] index :: _onStepProgress_vidbot(), percent: 55 [05:28:50.763] index :: _onStepProgress_vidbot(), percent: 61 [05:28:51.800] index :: _onStepProgress_vidbot(), percent: 66 [05:28:53.307] index :: _onStepProgress_vidbot(), percent: 71 [05:28:54.313] index :: _onStepProgress_vidbot(), percent: 75 [05:28:55.319] index :: _onStepProgress_vidbot(), percent: 80 [05:28:56.851] index :: _onStepProgress_vidbot(), percent: 86 [05:28:57.857] index :: _onStepProgress_vidbot(), percent: 91 [05:28:58.866] index :: _onStepProgress_vidbot(), percent: 97 [05:28:59.406] index :: _onStepProgress_vidbot(), percent: 100 [05:28:59.465] Vidbot :: ffmpeg.on( 'end' ), Done! [05:28:59.465] StreamManager :: dispose() [05:28:59.465] CanvasStream[canvas_638104329759] :: dispose() [05:28:59.485] Vidbot :: fflog.on( 'finish' ) [05:28:59.485] fflog.path: /var/www/html/clients/22285/video/9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3.mp4.fflog [05:28:59.485] Vidbot :: _next(), _stepIndex:4 of 4 [05:28:59.485] index :: _onStepCompleted_vidbot(), step: 4 [05:28:59.486] index :: _onComplete_vidbot(), data: { stepTime: 0.001, appTime: 666.645, output: '/var/www/html/clients/22285/video/9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3.mp4', duration: 60 } --------------------------------------------------------------------------------------------------------------- Output File : /var/app/video_pre_processor/jobs/postp//var/www/html/clients/22285/video/9C2E7969-D22D-ECBF-8E28-E4DC2EE6FDA3.mp4 Media Duration : 00:01:00.000 Generation Time : 00:11:06.644 ---------------------------------------------------------------------------------------------------------------