summaryrefslogblamecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--15-moving-from-jekyll-to-orgmode-an-experience-report--adolfo-villafiorita-autogen.sbv
blob: 02c40424ae6703c424ede6b8b39aef83ddef8177 (plain) (tree)





















                                      
                                 

                       
                






















                                       
              













                                        
                                     













































































































                                        
                                   






























































































                                        
                             




                       
                                   

                       
                                       

                       
                                       










                                  
           

                       
                                     









































































                                        
                             

                       
                            



































































                                        
                                     











































                                       
                                      










                                        
                               






















                                        
                                       










                                       
                                

                       
                                   










                             
                                       



















                                        
                                 













                                      
                                      
















                                      
                                        























































                                        
                                        













                                        
                                    













                                   
                                     































                                        
                                      







                               
                   




























                                      
                                        

                       
                                        

























                                       
                                     




























                                        
                                        

























                                        
                                   










                                     
                                   


























































                                        
                                     




                       
                                     

                       
               

                       
                       






















                                        
                                 































                                        
                                    










                                        
                                   
















                                      
                                       

















































                                        
                                       













                                     
                                      













                                    
                                      







                               
                                       







                                    
                       

                       
                                   
















                                       
                                     




                                   
                                        










                                        
                                     




                                    
                                        












                                       
0:00:00.080,0:00:06.960
okay okay excellent sorry okay so

0:00:03.120,0:00:10.080
uh hello everyone um and um

0:00:06.960,0:00:12.400
uh nice meeting you and let me

0:00:10.080,0:00:13.920
thank the the organizer for all the

0:00:12.400,0:00:15.200
organization and all the work they are

0:00:13.920,0:00:18.400
doing to support us

0:00:15.200,0:00:19.920
my name is adolfo villaferita

0:00:18.400,0:00:21.920
I'm teaching at the university of

0:00:19.920,0:00:24.480
trenton I'm also

0:00:21.920,0:00:26.240
work will shortly be working at

0:00:24.480,0:00:29.359
shared.tech which is a comp

0:00:26.240,0:00:30.530
a non-profit organization developing an

0:00:29.359,0:00:32.399
applications to

0:00:30.530,0:00:35.680
[Music]

0:00:32.399,0:00:38.960
recover surplus food but the the

0:00:35.680,0:00:40.079
reason of the talk today and the reason

0:00:38.960,0:00:42.719
I'm here today

0:00:40.079,0:00:44.000
is to talk about my experience in moving

0:00:42.719,0:00:47.200
from jekyll uh

0:00:44.000,0:00:49.200
static website generator to org mode and

0:00:47.200,0:00:52.079
the reason

0:00:49.200,0:00:53.039
I move to work mode is to have better

0:00:52.079,0:00:56.800
support for

0:00:53.039,0:00:58.399
literary programming on the websites

0:00:56.800,0:01:00.480
at the university of trento where we

0:00:58.399,0:01:04.720
make available the content for the

0:01:00.480,0:01:08.000
the students okay so

0:01:04.720,0:01:10.080
first of all what is a static website

0:01:08.000,0:01:11.360
generator it is basically a tool which

0:01:10.080,0:01:15.360
allows you to

0:01:11.360,0:01:17.439
generate html files out of text files

0:01:15.360,0:01:19.280
containing basically two types of

0:01:17.439,0:01:23.119
information metadata

0:01:19.280,0:01:26.159
and content metadata is let's say a

0:01:23.119,0:01:28.560
set of key pairs describing the the

0:01:26.159,0:01:30.000
content of the file such as the title

0:01:28.560,0:01:31.759
author

0:01:30.000,0:01:34.560
tags and so on and so forth and the

0:01:31.759,0:01:37.040
content is what you actually want to to

0:01:34.560,0:01:38.880
get published on the on the internet in

0:01:37.040,0:01:41.439
the html file

0:01:38.880,0:01:44.240
and usually the content is written in

0:01:41.439,0:01:44.240
some kind of

0:01:44.560,0:01:49.759
markup language such as markdown or

0:01:47.520,0:01:53.200
possibly

0:01:49.759,0:01:55.759
org mode and well jackie is a very

0:01:53.200,0:01:58.719
popular website uh

0:01:55.759,0:01:59.840
a static website generator it is written

0:01:58.719,0:02:03.280
in a ruby

0:01:59.840,0:02:06.840
and what it does it it it systematically

0:02:03.280,0:02:09.440
let's say transforms all the input files

0:02:06.840,0:02:11.599
by making the content into

0:02:09.440,0:02:14.000
html and systematically applying a

0:02:11.599,0:02:17.120
template in order to generate the

0:02:14.000,0:02:19.840
html files which you can then deploy

0:02:17.120,0:02:22.160
on your server of choice to make them

0:02:19.840,0:02:26.160
available on the on the internet

0:02:22.160,0:02:28.480
and one of the features uh most

0:02:26.160,0:02:30.239
well I would say all static website

0:02:28.480,0:02:32.560
generators have

0:02:30.239,0:02:34.879
is a debt of being able to let's say

0:02:32.560,0:02:38.400
collect the metadata information

0:02:34.879,0:02:39.440
uh of the files being part of your of

0:02:38.400,0:02:45.280
your project

0:02:39.440,0:02:47.840
and the reason they do that is because

0:02:45.280,0:02:49.280
you sometimes want to generate pages

0:02:47.840,0:02:53.200
based on the content

0:02:49.280,0:02:56.239
of your um of your projects

0:02:53.200,0:02:59.040
such as for instance the the list of

0:02:56.239,0:03:00.400
posts you have recently published or

0:02:59.040,0:03:03.840
maybe the list of tags

0:03:00.400,0:03:07.280
uh you uh have defined for your post and

0:03:03.840,0:03:09.760
so on and so forth so so

0:03:07.280,0:03:12.400
dracula gives the possibility of

0:03:09.760,0:03:15.760
generating this kind of dynamic

0:03:12.400,0:03:18.800
content by using liquid which is a

0:03:15.760,0:03:21.840
templating language which

0:03:18.800,0:03:24.879
looks like these

0:03:21.840,0:03:26.879
so basically you you have all the

0:03:24.879,0:03:29.120
constructs you can

0:03:26.879,0:03:29.920
expect in a programming language this

0:03:29.120,0:03:33.360
for instance

0:03:29.920,0:03:37.440
is a fourth cycle which

0:03:33.360,0:03:39.599
iterates over all the post or the

0:03:37.440,0:03:41.040
files in a specific directory of the

0:03:39.599,0:03:45.040
jacket project

0:03:41.040,0:03:48.400
and for each post it takes the the title

0:03:45.040,0:03:51.840
and the url and generates a link

0:03:48.400,0:03:55.200
okay so dracule is

0:03:51.840,0:03:57.760
nice and sweet but over the years

0:03:55.200,0:03:59.519
I started using more and more

0:03:57.760,0:04:02.959
systematically

0:03:59.519,0:04:05.439
or mode to write all my files and I

0:04:02.959,0:04:07.439
moved from markdown to word mode I am a

0:04:05.439,0:04:09.680
long time Emacs user so I've been using

0:04:07.439,0:04:12.799
imax for 30 years now so

0:04:09.680,0:04:15.280
or mode is a more recent discovery

0:04:12.799,0:04:16.239
but it is a very nice uh let's say

0:04:15.280,0:04:19.680
discovery I

0:04:16.239,0:04:22.320
I made and the reason I like org mode

0:04:19.680,0:04:23.600
is because for instance you can write

0:04:22.320,0:04:26.639
formulas using

0:04:23.600,0:04:30.320
mac jacks and you can generate diagrams

0:04:26.639,0:04:32.240
or plots with new plots and

0:04:30.320,0:04:34.080
also important is the fact that you have

0:04:32.240,0:04:35.919
the possibility of let's say publishing

0:04:34.080,0:04:39.520
your documents

0:04:35.919,0:04:40.400
to multiple ends backhands such as pdf

0:04:39.520,0:04:43.600
or

0:04:40.400,0:04:47.199
maybe a review presentations or

0:04:43.600,0:04:50.479
or html and this is all made possible

0:04:47.199,0:04:52.560
by bubble which is

0:04:50.479,0:04:54.639
exactly what we just saw in the the

0:04:52.560,0:04:57.440
previous talk

0:04:54.639,0:04:59.520
namely the possibility of executing a

0:04:57.440,0:05:02.560
snippet of code

0:04:59.520,0:05:06.400
embedded in in your pages

0:05:02.560,0:05:09.600
um and our model can also be used

0:05:06.400,0:05:10.720
within let's say jackie and in fact

0:05:09.600,0:05:15.199
there is a

0:05:10.720,0:05:18.880
a nice gem a nice library called jackie

0:05:15.199,0:05:19.680
org which allows you to use org modifies

0:05:18.880,0:05:22.880
directly

0:05:19.680,0:05:26.560
into jekyll but when you start using

0:05:22.880,0:05:30.560
org mode when I started using

0:05:26.560,0:05:34.240
mode I realized I could move

0:05:30.560,0:05:36.840
all my workflow to or my publishing

0:05:34.240,0:05:39.520
workflow to image

0:05:36.840,0:05:41.600
and and and in fact

0:05:39.520,0:05:42.880
org mode is also static website

0:05:41.600,0:05:46.240
generator because

0:05:42.880,0:05:50.880
it has got the possibility of publishing

0:05:46.240,0:05:53.840
um projects made of org mode files

0:05:50.880,0:05:55.759
and one of the nice things about let's

0:05:53.840,0:05:56.479
say that the publishing features of work

0:05:55.759,0:05:58.880
mode

0:05:56.479,0:05:59.840
is that it allows you to define in the

0:05:58.880,0:06:03.199
org publish

0:05:59.840,0:06:06.479
project a list of the components

0:06:03.199,0:06:07.520
which are part of your project and in a

0:06:06.479,0:06:10.479
sense it is

0:06:07.520,0:06:12.400
also more flexible than jackie lee's

0:06:10.479,0:06:12.880
because it also allows you for instance

0:06:12.400,0:06:15.120
to

0:06:12.880,0:06:17.440
let's say publish a single file rather

0:06:15.120,0:06:20.080
than having to recompile everything

0:06:17.440,0:06:23.919
every time you want to publish your

0:06:20.080,0:06:25.840
your project to your website however

0:06:23.919,0:06:27.120
there are some short comments I would

0:06:25.840,0:06:29.520
say or some some

0:06:27.120,0:06:30.400
areas of improvement improvement let me

0:06:29.520,0:06:32.720
say

0:06:30.400,0:06:33.600
the first is that let's say support for

0:06:32.720,0:06:36.639
templating

0:06:33.600,0:06:39.280
is not so obvious as it is let's say

0:06:36.639,0:06:40.560
in jackie or even though there are some

0:06:39.280,0:06:44.560
let's say

0:06:40.560,0:06:46.160
nice extensions such as argo t html

0:06:44.560,0:06:48.400
for instance which allows you to use

0:06:46.160,0:06:51.840
templates and

0:06:48.400,0:06:54.080
more important to me was the fact that

0:06:51.840,0:06:55.520
apparently there is little support for

0:06:54.080,0:06:58.240
the creation of dynamic

0:06:55.520,0:06:59.360
content so I was very curious and very

0:06:58.240,0:07:02.800
keen to use

0:06:59.360,0:07:05.440
or mode for let's say publishing my blog

0:07:02.800,0:07:08.720
and my the the courses at the university

0:07:05.440,0:07:11.440
but then uh I had to find a way

0:07:08.720,0:07:13.599
to let's say being able to publish these

0:07:11.440,0:07:16.000
dynamic pages finding some kind of

0:07:13.599,0:07:16.720
replacement so to speak for uh the

0:07:16.000,0:07:19.759
liquid

0:07:16.720,0:07:20.160
the liquid engine and and the solution

0:07:19.759,0:07:24.160
was

0:07:20.160,0:07:27.280
that at hand actually because

0:07:24.160,0:07:30.800
basically I realized I could use bubble

0:07:27.280,0:07:32.720
for exactly this purpose so rather than

0:07:30.800,0:07:35.759
using bubble for generating

0:07:32.720,0:07:37.919
plots or let's say my other computation

0:07:35.759,0:07:41.039
or whatever I was using them for

0:07:37.919,0:07:42.080
I realized they could use bubble to

0:07:41.039,0:07:45.120
generate

0:07:42.080,0:07:48.960
html which could be let's say

0:07:45.120,0:07:52.720
uh then published uh uh

0:07:48.960,0:07:53.680
in the project so uh so all I needed to

0:07:52.720,0:07:56.240
do then

0:07:53.680,0:07:58.319
was defining some kind of functions some

0:07:56.240,0:08:01.840
kind of code in order to read

0:07:58.319,0:08:02.400
all the org mode uh the metadata of all

0:08:01.840,0:08:05.759
the

0:08:02.400,0:08:09.680
opmod files of my web project so that

0:08:05.759,0:08:13.280
I could let's say then publish uh

0:08:09.680,0:08:17.440
generate the dynamic content and

0:08:13.280,0:08:17.440
this is a snippet taken from

0:08:18.080,0:08:24.800
one of my html projects

0:08:21.759,0:08:27.599
which basically shows the way in which

0:08:24.800,0:08:29.360
I generate the um the list of posts on

0:08:27.599,0:08:32.560
my on my page it is uh

0:08:29.360,0:08:34.320
exactly how the the liquid that we saw

0:08:32.560,0:08:35.680
in a couple of a couple of slides

0:08:34.320,0:08:39.200
earlier that looks like

0:08:35.680,0:08:42.320
uh in inner mode

0:08:39.200,0:08:46.720
and basically what I'm doing I'm using I

0:08:42.320,0:08:49.680
wrote a ruby script which

0:08:46.720,0:08:51.040
reads all the metadata so this uh

0:08:49.680,0:08:53.440
highlighted code

0:08:51.040,0:08:54.240
basically loads the script which is

0:08:53.440,0:08:56.800
stored

0:08:54.240,0:08:58.320
externally and then it collects all the

0:08:56.800,0:09:00.880
metadata from the

0:08:58.320,0:09:02.240
org mode files in the current uh in the

0:09:00.880,0:09:04.800
current directory

0:09:02.240,0:09:06.480
and then the the following the the code

0:09:04.800,0:09:09.839
you can see here

0:09:06.480,0:09:12.959
basically iterate over all the

0:09:09.839,0:09:16.399
past red the at the previous step

0:09:12.959,0:09:19.519
and it generates um

0:09:16.399,0:09:22.959
a list with the title and uh

0:09:19.519,0:09:27.440
and the urls and so basically

0:09:22.959,0:09:30.240
replicating what jackie does so

0:09:27.440,0:09:32.399
okay so there are some some other things

0:09:30.240,0:09:33.200
I have to to deal with in order to let's

0:09:32.399,0:09:36.480
say

0:09:33.200,0:09:39.200
accommodate my workflow and but that was

0:09:36.480,0:09:40.240
relatively easy in the sense that one of

0:09:39.200,0:09:43.279
the

0:09:40.240,0:09:45.360
uh problem one of the issue I had to

0:09:43.279,0:09:48.480
solve was that of let's say having

0:09:45.360,0:09:51.040
a common navigation on all my

0:09:48.480,0:09:51.920
pages uh but that was easily solved

0:09:51.040,0:09:54.959
using

0:09:51.920,0:09:56.000
uh the include feature so I basically

0:09:54.959,0:09:57.839
made available

0:09:56.000,0:10:00.560
and include with all the navigation

0:09:57.839,0:10:01.839
which is uh embedded in all the pages of

0:10:00.560,0:10:04.959
my websites

0:10:01.839,0:10:06.160
uh through the could include and another

0:10:04.959,0:10:08.560
nice feature which

0:10:06.160,0:10:09.760
jackie las is the possibility of

0:10:08.560,0:10:12.800
previewing

0:10:09.760,0:10:13.200
a website before deploying it and but

0:10:12.800,0:10:16.079
then

0:10:13.200,0:10:17.839
Emacs also has got a node which allows

0:10:16.079,0:10:21.200
you to

0:10:17.839,0:10:24.320
launch a web server and in fact

0:10:21.200,0:10:26.959
I wrote a quick ack

0:10:24.320,0:10:28.000
which allows you to which allows to

0:10:26.959,0:10:31.519
basically

0:10:28.000,0:10:34.720
invoke a node on a on our

0:10:31.519,0:10:37.920
mode project and start a local preview

0:10:34.720,0:10:43.680
and then use rsync

0:10:37.920,0:10:43.680
in order to deploy the the website

0:10:44.839,0:10:48.720
um

0:10:46.240,0:10:51.200
five minutes left okay okay more than

0:10:48.720,0:10:53.200
enough okay

0:10:51.200,0:10:55.440
thanks thank you thank you very much I'm

0:10:53.200,0:10:56.480
nearly done so then I can take some some

0:10:55.440,0:11:00.560
questions

0:10:56.480,0:11:03.680
so okay just to give you maybe

0:11:00.560,0:11:06.480
a slightly more in-depth uh

0:11:03.680,0:11:07.200
view of what the pages look like so

0:11:06.480,0:11:11.120
these are

0:11:07.200,0:11:14.720
one of the pages or the source files

0:11:11.120,0:11:18.480
of one of the websites it is

0:11:14.720,0:11:20.399
in literate programming so basically uh

0:11:18.480,0:11:22.640
you see there is some metadata here I

0:11:20.399,0:11:26.640
mean this is a regular old mod file

0:11:22.640,0:11:29.920
and this part here

0:11:26.640,0:11:31.519
basically defines some common options

0:11:29.920,0:11:35.920
for publication

0:11:31.519,0:11:41.120
and these two includes here

0:11:35.920,0:11:44.480
put some extra html in the head part and

0:11:41.120,0:11:48.079
the navigation and here as you can see

0:11:44.480,0:11:50.160
is the code generating the

0:11:48.079,0:11:52.240
the list in chronological order it is

0:11:50.160,0:11:53.839
slightly more complex than the example I

0:11:52.240,0:11:56.240
made in the slide

0:11:53.839,0:11:57.839
because uh there is some more

0:11:56.240,0:11:59.760
elaboration to

0:11:57.839,0:12:01.839
uh to do including putting some

0:11:59.760,0:12:05.120
javascript to identify

0:12:01.839,0:12:08.160
according to let's say the the tags

0:12:05.120,0:12:11.200
so to go back to the to the presentation

0:12:08.160,0:12:13.600
um so the okay so

0:12:11.200,0:12:14.560
I I managed this migration uh a few

0:12:13.600,0:12:17.680
months ago

0:12:14.560,0:12:20.399
and then uh all my workflow is within

0:12:17.680,0:12:23.079
with old mode and within imax and um

0:12:20.399,0:12:24.240
I'm very happy with it because it's

0:12:23.079,0:12:26.800
simplified

0:12:24.240,0:12:28.480
uh quite a bit let's say my public

0:12:26.800,0:12:31.839
publication process

0:12:28.480,0:12:34.240
and uh one of the advantages so another

0:12:31.839,0:12:36.959
advantage so the first advantage is that

0:12:34.240,0:12:38.160
everything is in ork mode and dmax

0:12:36.959,0:12:41.680
second advantage

0:12:38.160,0:12:44.880
is that everything is based on the

0:12:41.680,0:12:47.760
standard machinery provided by orb mode

0:12:44.880,0:12:50.079
so in a sense it is kind of let's say

0:12:47.760,0:12:53.040
more robust with respect to

0:12:50.079,0:12:54.320
dependencies and possible errors and so

0:12:53.040,0:12:56.639
on and so forth

0:12:54.320,0:12:58.240
and um and the fact that the old mode

0:12:56.639,0:13:00.880
allows you to publish

0:12:58.240,0:13:03.839
a single file in a project is is also

0:13:00.880,0:13:07.839
very interesting because

0:13:03.839,0:13:11.040
it allows to let's say be more robust to

0:13:07.839,0:13:14.079
problems you might introduce when

0:13:11.040,0:13:14.959
you're changing when I'm changing the

0:13:14.079,0:13:16.880
setup

0:13:14.959,0:13:18.320
and another interesting thing which I

0:13:16.880,0:13:21.519
realized that I

0:13:18.320,0:13:23.600
uh I could have is that

0:13:21.519,0:13:24.880
in a sense the specification of the

0:13:23.600,0:13:27.360
website

0:13:24.880,0:13:28.480
is uh can be embedded in the website

0:13:27.360,0:13:30.800
itself

0:13:28.480,0:13:31.839
so in a sense this is some kind of let's

0:13:30.800,0:13:35.120
say self

0:13:31.839,0:13:37.200
the command it's a real set documenting

0:13:35.120,0:13:38.560
uh what I'm actually doing so for

0:13:37.200,0:13:42.800
instance

0:13:38.560,0:13:42.800
uh here on my

0:13:43.199,0:13:48.240
website you can see let's say the

0:13:46.399,0:13:51.519
specification of the

0:13:48.240,0:13:52.320
of the of the project which is uh loaded

0:13:51.519,0:13:55.519
from my

0:13:52.320,0:13:56.320
initialization file but then it is also

0:13:55.519,0:13:59.440
published

0:13:56.320,0:14:01.360
together with my home page and it leaves

0:13:59.440,0:14:05.360
with the repository where

0:14:01.360,0:14:08.079
I keep all the sources of my website

0:14:05.360,0:14:09.839
which is kind of nice because it

0:14:08.079,0:14:14.079
basically isolates

0:14:09.839,0:14:16.880
everything in a single in a single place

0:14:14.079,0:14:18.000
okay so there are some examples I'm

0:14:16.880,0:14:20.320
showing them

0:14:18.000,0:14:21.760
more because of the let's say source

0:14:20.320,0:14:25.519
code which

0:14:21.760,0:14:26.160
you can grab from the git repositories

0:14:25.519,0:14:28.399
if you are

0:14:26.160,0:14:30.079
interested of course I'm also available

0:14:28.399,0:14:32.959
to provide some

0:14:30.079,0:14:34.480
support and help if you are interested

0:14:32.959,0:14:37.760
in this kind of stuff

0:14:34.480,0:14:38.560
the the next step for me will be that of

0:14:37.760,0:14:41.600
let's say trying

0:14:38.560,0:14:45.199
making this kind of machinery available

0:14:41.600,0:14:47.120
for more general use at the moment

0:14:45.199,0:14:48.800
if you are interested in trying out my

0:14:47.120,0:14:49.839
suggestion is let's say grabbing the

0:14:48.800,0:14:52.959
sources

0:14:49.839,0:14:56.000
or one of the let's say websites to see

0:14:52.959,0:14:56.720
what how they look like and maybe try

0:14:56.000,0:15:00.160
and

0:14:56.720,0:15:02.720
customize it for your purposes

0:15:00.160,0:15:03.839
and this is basically the content of my

0:15:02.720,0:15:06.959
talk so

0:15:03.839,0:15:07.279
I'm open to two questions and thank you

0:15:06.959,0:15:10.880
for

0:15:07.279,0:15:12.880
your attention you are now unmuted uh

0:15:10.880,0:15:14.480
thank you very much adolfo for your

0:15:12.880,0:15:17.360
awesome presentation

0:15:14.480,0:15:19.360
um I think we have time for maybe like

0:15:17.360,0:15:21.279
one or two questions

0:15:19.360,0:15:22.880
um and then the rest maybe you could

0:15:21.279,0:15:26.639
take up um

0:15:22.880,0:15:30.000
after the stream after sure

0:15:26.639,0:15:31.839
uh I we should do um would you like me

0:15:30.000,0:15:35.199
to read you the questions

0:15:31.839,0:15:40.399
uh yeah probably better because

0:15:35.199,0:15:42.480
I kind of lost there okay no problem um

0:15:40.399,0:15:45.440
okay so someone asks do you have any

0:15:42.480,0:15:48.639
opinion on fern

0:15:45.440,0:15:51.839
fan I I don't know fans

0:15:48.639,0:15:55.040
so I'll give it a try and uh and uh

0:15:51.839,0:15:57.839
and check it out okay

0:15:55.040,0:15:59.680
thanks and um people are also asking do

0:15:57.839,0:16:01.279
you discuss this for example in a blog

0:15:59.680,0:16:02.800
or anywhere else they could find more

0:16:01.279,0:16:05.600
about it

0:16:02.800,0:16:08.560
oh yes I'm going to publish the let's

0:16:05.600,0:16:11.120
say the talk and the content on the

0:16:08.560,0:16:12.320
on my website and then I'll link it from

0:16:11.120,0:16:14.720
the max conf

0:16:12.320,0:16:15.680
conference so that it will be easier for

0:16:14.720,0:16:19.040
people to

0:16:15.680,0:16:22.880
to reach it so I will shortly make it

0:16:19.040,0:16:25.440
available right after the conference

0:16:22.880,0:16:26.160
wonderful and I think that's all for the

0:16:25.440,0:16:28.560
questions

0:16:26.160,0:16:29.600
thank you very much okay thank you very

0:16:28.560,0:16:34.800
much thank you

0:16:29.600,0:16:34.800
and cheers bye cheers bye