0:00:26
what is going on guys welcome back to to
0:00:30
another session of bill broken fix
0:00:34
yours only the raw coders
0:00:37
and today guess who is back in the show
0:00:50
thanks for having me back zayn it's good
0:00:52
to be back i missed i missed you guys
0:00:55
fading good to have you back man and
0:00:58
yeah we missed you as well show wasn't
0:01:01
the same without you because then dev
0:01:04
even more chances to pick up on me
0:01:07
rather than two people
0:01:09
so he was just totally focusing on me
0:01:13
so now we can share the banter
0:01:17
i'm ready for it i'm
0:01:28
first things first let's acknowledge the
0:01:30
country and pay our respects to the
0:01:32
elders of the past president and future
0:01:37
i begin today by acknowledging the
0:01:39
traditional custodians of the land on
0:01:41
which we gathered today and pay my
0:01:43
respects to the elders past present and
0:01:45
future i extend their respect to
0:01:48
aboriginal and torres strait islander
0:01:54
that is done smoothly as always
0:02:00
so how are we feeling
0:02:02
good feeling good feeling and feeling
0:02:06
i'm curious to see what
0:02:09
what you guys have been up to
0:02:12
um so what we were doing you know the
0:02:18
posted on slack for the internal testing
0:02:29
great point which i really liked so
0:02:33
um and one of the points were that he
0:02:38
manually tap on the passcode text boxes
0:02:48
we were basically trying to improve that
0:02:52
as soon as the user presses a button it
0:02:55
will automatically take them to the next
0:03:01
does that make sense so far
0:03:07
i think i added that
0:03:10
weeks ago but maybe it got broken
0:03:13
so maybe it's a quick fix
0:03:16
hopefully because me and finish on
0:03:20
thursday we're actually going on some
0:03:24
code how to do that so
0:03:27
you might see some as in the random
0:03:30
code in the code base but let's see if
0:03:35
if our front-end guru can
0:03:38
just say oh yeah just
0:03:41
do that and it would work and it works
0:03:45
really looking forward to that um do you
0:03:48
want to share your screen
0:03:56
getting some time and getting some
0:03:57
comments in the chat
0:03:59
yeah yeah i missed the stuff i missed it
0:04:05
i need to close the
0:04:10
it's creating a bit of noise but the
0:04:12
weather is really chilled i like it
0:04:15
is it it's getting cooler there it's
0:04:19
super hot right now it's so humid
0:04:23
over there is it in boiler
0:04:26
yeah it's humid it was hot today
0:04:33
yeah i think we um
0:04:36
yeah i think it was a bit cooler because
0:04:40
was yeah it drizzled a bit so that's why
0:04:44
that's nice yeah it could use to be a
0:04:48
um do you know what branch i should be
0:04:53
new branch to be honest i forgot if he
0:04:57
pushed and can we check if anything
0:05:00
actually i'll check on guitar
0:05:03
and see if if it's pushed
0:05:12
why am i opening aws
0:05:29
to be honest i don't think it's pushed
0:05:38
yeah i don't think um
0:05:43
must push probably a good idea to
0:05:50
do that overall in
0:05:55
how you did them before because yeah
0:05:58
there must be some code that i've
0:06:02
finished uh then i just broken the that
0:06:07
without us being aware of it
0:06:13
looks like finesse
0:06:22
should make this bigger
0:06:29
that was it last week that was a while
0:06:34
uh by the way we did forget to put the
0:06:39
what would be the letter
0:06:50
okay see what that brings up
0:06:57
all right well i can i can make a new
0:07:00
branch i guess yeah yeah
0:07:11
what do you want to call it
0:07:20
what is this what is the feature
0:07:25
pause codes choose a from passcode auto
0:07:31
probably call it there yeah i don't know
0:07:34
yeah that should be fine passcode auto
0:07:48
yeah we're back in the in the dev phase
0:07:57
let me just publish it
0:08:04
if i remember correctly
0:08:10
i know you guys did some oh you guys
0:08:13
didn't push the work right
0:08:24
i feel like it's this
0:08:30
all right so what did i call this thingy
0:08:33
i didn't call it anything that's why
0:08:40
yeah probably i should have named it its
0:08:46
all right so this is separate
0:08:51
get this out into its own function here
0:08:55
jakedev is asking what does it currently
0:08:57
look like on the on the website
0:09:05
might wanna pull up scrambler
0:09:16
talking about this right
0:09:20
so if you enter digit um it won't take
0:09:24
your time to them can you hear me
0:09:28
can you hear my keyboard
0:09:31
there there's proof it doesn't work
0:09:39
um this this little snippet here
0:09:45
i should have brushed it out
0:09:48
it was the whole function
0:09:53
move it to its own function because it
0:09:55
should be in its own function
0:10:24
can just press tab
0:10:32
that's what basically
0:10:43
sorry zayn i didn't mean to cut you off
0:10:58
was like filling in the passcode
0:11:05
press tab or on his phone it was even
0:11:08
more annoying where he actually had to
0:11:11
tap onto the next box
0:11:13
in order to enter the digit so
0:11:23
having the tab automatically
0:11:29
the our focus on the next tab um the
0:11:34
when uh the previous tab has been
0:11:43
also when it's deleted it should go back
0:11:52
so if it's filled it should go forward
0:11:54
if it's deleted it should go back
0:12:01
i didn't i didn't think about mobile um
0:12:06
but this was the code i had that maybe
0:12:09
was working before
0:12:13
the problem might have to do with this
0:12:21
class names or id have changed
0:12:30
class and rds change
0:12:35
laptop as in later screen and the mobile
0:12:40
oh no i mean maybe they changed
0:12:49
since when i implemented this maybe
0:12:51
these changed or maybe
0:12:54
this is running too early now or
0:12:56
something like that it might be i'm
0:12:59
i'm thinking that this might be running
0:13:06
because the passcode
0:13:12
well no that's on the that's on the
0:13:14
board page but i was thinking the
0:13:17
form might not be all there
0:13:21
on the on the page but that's only true
0:13:24
for the boards page because it's hidden
0:13:31
uh it's like hidden in another html
0:13:36
yeah so inject it onto the page
0:13:45
how hard this would be but it shouldn't
0:13:47
be that hard at all um
0:13:51
can we insert the same function that
0:13:54
that will handle that
0:13:58
in the set profile of
0:14:00
of the passcode all
0:14:03
that wouldn't be an option
0:14:14
so if you go to the separate file which
0:14:40
i think that must have been the reason
0:14:42
and that the class is different
0:14:51
let me start this up too so i can
0:14:58
dev tools i think it'll be just a little
0:15:06
but yeah maybe maybe this query selector
0:15:12
or this square selector potentially
0:15:19
may not be valid anymore
0:15:24
a while that we implemented this and we
0:15:27
might have just changed the classes and
0:15:29
renamed them something else
0:15:35
what we're looking for in the query
0:15:37
selector at least the way i wrote it was
0:15:41
it looks for a form and then it looks
0:15:43
for this class name
0:15:45
this class of passcode ui and then it
0:15:49
gets all the inputs on
0:15:52
that so it's query selector all so this
0:15:56
of the input elements
0:16:02
this query selector looks for a form
0:16:14
to the passcode ui
0:16:23
so where is the form
0:16:25
i think the form is actually in
0:16:45
oh there it is interesting
0:16:57
oh so there's not a form anymore it's a
0:17:03
but that div is inside the form isn't it
0:17:14
and then it goes into possible gy
0:17:22
i'll just test test these selectors in
0:17:28
let's just see if they're working
0:17:32
yeah i think that would be a better idea
0:17:39
failed oh whatever
0:17:42
all right let's see if inputs
0:17:47
i did it did find the inputs
0:17:51
so there's four inputs that's valid
0:17:57
gray yeah yeah which is fantastic
0:18:05
if that works this should definitely
0:18:14
same um selector just without the input
0:18:18
yeah and it shows up as well so it's
0:18:29
i don't know why this is not working key
0:18:34
all right let me uh do old-fashioned log
0:18:43
i am feeling better thank you yak dev
0:18:53
and then i think i have to call this
0:18:56
appreciate it geckdev
0:19:04
i guess this should be listeners
0:19:08
um to the home page that doesn't really
0:19:10
match at the moment
0:19:14
and then i'll just
0:19:15
call that inside of here
0:19:19
uh and and that should
0:19:21
run this which should
0:19:26
key up event listener
0:19:31
so that should be listening
0:19:34
for a key up on this
0:19:42
if that's if that's
0:19:44
attached then we should get this event
0:20:07
yeah oh so it did run
0:20:10
all right so that's good the um event
0:20:13
listener got attached
0:20:15
so every time i press a key and then i
0:20:18
release that key i'm getting this key up
0:20:24
so that's how that event listener works
0:20:29
when you release a key from the keyboard
0:20:34
this event listener is firing off that
0:20:39
oh okay so basically for example if your
0:20:42
passcode is three to one zero then
0:20:47
free and as soon as you lift your finger
0:20:49
up from free it will go to the next
0:20:54
yeah yeah okay right right
0:20:58
so that's what keop does
0:21:12
the event target should be the the
0:21:15
element which should be
0:21:21
probably a bad variable name well
0:21:23
element is an instance of html
0:21:29
if that is valid this code should run
0:21:55
yeah so it's it's going
0:22:00
and grabbing the element name so element
0:22:03
really is is input element and i think
0:22:06
i'm just going to rename this
0:22:08
yeah yeah probably good idea to do that
0:22:16
and i'm just going to rename this
0:22:33
let me just rename this to
0:22:53
let me rename this to
0:23:05
form sorry it's a long name we can
0:23:11
passcode boxes that's all
0:23:15
might be a little shorter version how
0:23:18
about uh how about in
0:23:22
input passcode input or
0:23:39
that's good that makes sense
0:23:41
okay um so these are all the uh
0:23:45
input elements right inside of the
0:23:54
so we got to this line here 679
0:23:58
so if we have a key up event
0:24:03
um because it's only listening for key
0:24:05
up events so i don't even know why i
0:24:11
and it's html i guess i'm just like
0:24:13
guarding here i don't know why but
0:24:16
all right yeah and then
0:24:20
uh we're gonna look
0:24:24
elements in the form and we're gonna
0:24:30
position in the inputs passcode
0:24:34
all right so we're going to look at each
0:24:35
one in their name and we're going to
0:24:49
so if if it's the first input element
0:24:56
the name should match and then we should
0:25:00
which should be some number in here
0:25:04
and what we're gonna do with that
0:25:16
find the next input element in the array
0:25:21
so plus one and then the previous one is
0:25:26
um i i think this i think there will be
0:25:29
an error here though because
0:25:33
uh well maybe not hold on maybe i maybe
0:25:35
i dealt with that but
0:25:48
uh i don't think we have this attribute
0:25:52
the attribute max length 10.
0:25:57
okay so maybe that's why it's failing
0:26:02
and where were we supposed to have that
0:26:08
that would be like uh
0:26:13
so that's probably why it's no we have
0:26:16
that around the box
0:26:26
oh oh it's not of 10 this is 10 the
0:26:31
number i don't know why
0:26:33
did the linter yell at me
0:26:35
i think the linter was yelling at me
0:26:38
because i'm parsing so
0:26:41
we're checking to see
0:26:44
here if on the input element from the
0:26:48
if it's value and length which should be
0:26:51
one because there's you're only entering
0:26:54
uh one letter or digit right
0:27:00
if the attribute of the max length
0:27:04
um which if you look at here
0:27:09
is only allowing one right
0:27:13
um you can't add more than one number to
0:27:17
the input health like yeah that's baked
0:27:26
equal it means that
0:27:35
or that sorry not that number that input
0:27:38
it means you've you've added something
0:27:42
and so if there is a next element so if
0:27:45
this is not undefined basically
0:27:48
then it should move the focus
0:27:52
to the next input element
0:27:55
else if it's not filled out
0:28:01
it should go back to
0:28:03
the previous element
0:28:08
i don't know i wrote this a while ago
0:28:18
so why do we have 10 over there
0:28:24
it's just it's just it's a second
0:28:26
parameter in pass in parson i mean and
0:28:29
it's the radix the radix is 10 for
0:28:33
uh like standard integer numbers
0:28:40
non-hexadecimal numbers
0:28:53
one two five six uh you'd have to look
0:28:56
at the specs for this
0:28:59
radix but 10 is what you put in for
0:29:04
is the default number i think i had to
0:29:06
put it because the linter was angry with
0:29:10
okay so i thought let me i don't know i
0:29:13
can take it off because
0:29:16
it will default to 10.
0:29:19
oh convar said something conrad just
0:29:24
and then he says that if the
0:29:27
value of the le if the
0:29:30
length is supposed to commence
0:29:35
ah so he's using the select part
0:29:42
can i maybe try that
0:29:57
i wish i had the debugger on
0:30:04
although we have the chrome debugger
0:30:08
so let me just use that
0:30:12
sources because this is plain old
0:30:14
vanilla javascript
0:30:27
all right so it's still front end
0:30:36
should be in here perfect
0:30:39
all right so i just want to
0:30:52
uh how do i make this bigger
0:31:07
let's step through it
0:31:13
it got the input element
0:31:17
and we'll step again
0:31:21
and now we're looking at uh the key up
0:31:23
so it's evaluating this like if
0:31:30
and it does say that this is undefined
0:31:33
over the next inputs and all those prime
0:31:37
inputs are all undefined
0:31:40
oh yeah be they're undefined until you
0:31:42
step over them because when you do all
0:31:45
right right when you when you declare
0:31:47
them they're undefined so they haven't
0:31:49
been evaluated yet or
0:31:52
don't have outputs
0:31:53
ever and you want to say
0:32:01
step into the next
0:32:03
ah so it didn't find
0:32:05
so here it's exiting out
0:32:21
so it's exiting uh just before the next
0:32:39
and find the right index
0:32:46
which in this case was code one but it
0:32:54
do i have this in global
0:33:00
oh do i have it in did my i think i
0:33:03
think my dev tools just froze
0:33:13
it's official thanks
0:33:17
it's an easter weekend go and chill
0:33:20
let me chill as well
0:33:22
ah so for some reason zane
0:33:32
so this is this is the query selector
0:33:35
and for some reason this was empty
0:33:40
it didn't find these input elements
0:33:46
so it's not finding the input elements
0:33:55
is it's finding this inside of the form
0:34:00
but the passcode ui
0:34:03
html snippet is loading
0:34:09
so that queries so that function is
0:34:18
this um function in attaching the event
0:34:26
inside of this function
0:34:28
which i'm assuming is running
0:34:30
if i remember on document content loaded
0:34:34
event or something like that
0:34:36
is running before that snippet is
0:34:39
actually the passcode ui snippet is
0:34:42
actually being injected
0:34:53
before the actual page has been loaded
0:34:56
in the first place
0:34:58
yeah so it doesn't it can't find the um
0:35:02
i can't find those inputs because it
0:35:04
hasn't they haven't been injected yet
0:35:15
right right right right right
0:35:17
it's my guess i'm not 100
0:35:22
so that would mean that we will have to
0:35:27
bring the code for the
0:35:29
you are in the same page for this to
0:35:31
work isn't it we could do that um let me
0:35:35
see if that's the reason if i put this
0:35:38
in here inside of the event
0:35:43
should pick them up i think
0:35:46
so let's see if that
0:35:49
turns out to be the problem
0:35:53
all right let me and this i think this
0:35:56
should reload the window
0:36:01
the only thing is then it's just
0:36:03
it's not a big deal it's just you're
0:36:08
query selector when you
0:36:14
all right so that's gonna it's gonna
0:36:23
uh on here let's break here
0:36:29
and what are we getting ah so it found
0:36:31
it so that that was the problem
0:36:34
so here we have all the passcode
0:36:36
elements before it was empty
0:36:41
and so the index is zero so it's the
0:36:44
first element right and the inputs
0:36:47
um so hopefully now the rest of this
0:36:52
let me turn this off
0:36:56
all right yeah and it jumped to the
0:36:57
second one i didn't do that
0:37:04
find the leads goes back
0:37:08
right right right i see so so that was
0:37:11
the problem that it was
0:37:13
it wasn't i said with the passcode
0:37:21
the queries select and now before
0:37:25
no after the query selection
0:37:28
was actually running
0:37:31
yeah yeah yeah and it's and it's only it
0:37:34
so what i did just to see if it's what's
0:37:37
that happened to be the problem so i
0:37:39
just moved this query selector to get
0:37:42
all the passcode inputs
0:37:45
right says query selector all it's this
0:37:49
of all the inputs and this is this uh
0:37:52
query sector is now being executed
0:37:55
every time we fire an event
0:37:59
so yeah we got you before it was outside
0:38:02
so it's only being ran once
0:38:06
the only problem is you're just like
0:38:08
you're selecting from the
0:38:11
the dom kind of unnecessarily but it's
0:38:14
it's honestly it's probably a tiny tiny
0:38:17
like performance hit i don't think it
0:38:22
yeah yeah that would actually make a lot
0:38:26
okay cool yeah that is brilliant so that
0:38:29
is working now well done
0:38:36
see this is what i mean by
0:38:41
the show is isn't the same without tori
0:38:46
the only thing i was thinking about is
0:38:51
will that work will that key
0:38:54
that key up event also fire
0:38:57
on mobile with the mobile keyboard i
0:39:01
know there's only one way to check out
0:39:10
um yeah uh you wanna do you wanna push
0:39:14
yeah why not as in
0:39:16
and how about if we just
0:39:21
i'm thinking instead of pushing the
0:39:24
entire content to as free rewind not
0:39:27
just upload just this file just free
0:39:31
okay yeah um do you know the command to
0:39:34
do that just the one file
0:39:38
so if you go into client and do
0:39:51
yep that should do it
0:40:12
i don't know why string yard messes with
0:40:18
she's about what is it
0:40:28
is that a facebook
0:40:34
just cp by itself and then
0:40:39
in the current directory we have still
0:41:01
i mean yeah the name of the file doesn't
0:41:05
and then space and then s3
0:41:13
and then the bucket name which is
0:41:14
scrambler front end
0:41:46
default i think i did default the
0:41:57
we will find out now
0:42:00
taking oh here we go
0:42:02
that's done perfect
0:42:07
no so the if you update any file in s3
0:42:11
it takes some time to propagate the
0:42:13
updates but if you as in can kind of
0:42:16
delete and then re upload it then it
0:42:20
comes automatically i think that's what
0:42:23
we should have done i didn't delete it
0:42:25
still front end from
0:42:28
from the bucket and um upload a new one
0:42:31
then we would see the changes straight
0:42:35
but now it will take a bit of time to
0:42:40
um it could be cloud front and you just
0:42:45
invalidate the cache in cloudfront maybe
0:42:49
probably them so when i started sleep
0:42:55
was the case it might have been changed
0:43:04
yeah let's have a look
0:43:15
oh i missed some comments zane
0:43:22
qa phase again fourth time
0:43:30
one step closer to prod
0:43:33
and it will never come back then
0:43:42
probably delete that file and then
0:43:46
it says again basically because
0:43:59
what do you want me to do
0:44:03
two options invalidate cash and
0:44:07
client french and um or
0:44:13
from our file from the bucket and then
0:44:17
i think if we just i think if we just
0:44:19
invalidate the cache it should work
0:44:22
yeah let's try that
0:44:26
do you have the console open
0:44:29
yes i will have it open now just bear
0:44:32
with me and i have
0:44:38
if we have the distribution id we can
0:44:40
run it from the terminal
0:45:09
ah mfa code yeah fine
0:45:12
i'll make you happy
0:45:37
okay so cloud front we need to go there
0:45:42
and then invalidate the cache
0:46:07
um enabled yet this one and then
0:46:14
create an invalidation
0:46:17
so it would be like
0:46:29
okay so the invalidation is in progress
0:46:42
uh but it's all free design weapon was
0:46:46
uh you know the cattle that will be used
0:46:51
make two teaser coffees in
0:46:58
that actually is short-circuited the
0:47:10
what i did was in in the morning i
0:47:13
usually have tape and i was like wise
0:47:19
i saw that i saw the apartment building
0:47:26
light was turned on and i was like okay
0:47:29
then it's just my apartment
0:47:34
it was it was interesting experience
0:47:39
all right um that is
0:47:45
gonna visit the site and check it
0:47:49
it doesn't do at the moment so i think
0:47:51
they would be the other way around
0:47:59
it looks like this i think this event
0:48:02
should work on mobile
0:48:06
so hopefully this will work
0:48:12
because yeah um that
0:48:14
i've just checked you on
0:48:17
on aws and um as in the
0:48:22
and it doesn't seem to want to do it
0:48:27
so we'll probably what we would need to
0:48:39
you would have to do that by your side
0:48:43
because um you have the
0:48:47
the code of code and coders
0:48:55
little second let me see if i can call
0:48:58
cheese and knowing get there
0:49:18
oh yeah i want to open this
0:49:48
is windows being typical windows now
0:49:52
oh no i was trying to
0:49:57
see if i could just quickly debug this
0:50:05
do i have the wrong
0:50:09
or something oh i didn't
0:50:23
it's it's still not
0:50:24
invalidated no oh uh
0:50:28
it has and i already test today it
0:50:38
yeah it hasn't been updated so i reckon
0:50:41
we should we would probably have to
0:50:47
delete the page and then
0:51:02
should work locally
0:51:07
is it not working locally anymore no i
0:51:11
it it was it was working locally you
0:51:15
i just find it hard
0:51:18
it must it must have something to do
0:51:20
with the cache or something
0:51:24
yeah i have refreshed it as well
0:51:28
actually let me see in the inspect
0:51:30
segment what does it say
0:51:34
okay that's got nothing to do with my
0:51:39
it's failing to load oh because it's not
0:51:48
come on so the page we uploaded
0:51:53
it's not set to public which is why i
0:52:03
i'll just set the still front end to
0:52:07
and then we can take it from there
0:52:10
action make public seo boom done simple
0:52:18
okay now try this again
0:52:22
yep and there we go
0:52:25
fantastic okay it's broken now
0:52:44
right hell yeah hell yeah
0:52:51
can you push the code up and um
0:52:58
um i can update the jira as well
0:53:02
why is the color palettes
0:53:04
why didn't you test
0:53:06
why is the color palette so far right
0:53:09
you mean this this little thing
0:53:14
i don't even know honestly i don't even
0:53:16
know people don't even choose that
0:53:19
until you just mentioned it i knew them
0:53:31
okay i will push this
0:53:38
come here we didn't change anything
0:53:48
okay cool so this one is done by tory
0:53:56
that's weird i don't even see a diff
0:54:01
oh it's a wide space difference
0:54:09
uh whatever just ignore that
0:54:17
it's just being dramatic about white
0:54:33
uh oh did you did you happen to test it
0:54:37
um no i'm gonna do that now
0:54:55
oh yeah great okay cool hell yeah
0:55:00
all right that's great
0:55:09
really all i did was move
0:55:25
that's actually really
0:55:27
rare though we found the problem and
0:55:30
fixed it in just one hour
0:55:32
actually 45 minutes i would say
0:55:34
because i already wrote it
0:55:39
so it was easy i just had to remember
0:55:41
how it was working right that was the
0:55:43
hard part i was like what is this doing
0:55:46
well like she's doing again
0:55:48
all right i pushed that
0:55:52
great job and i've already updated
0:55:55
jiro's race for giving me a
0:55:58
an easier one for when i came back
0:56:07
yeah let's have mercy on
0:56:10
he's been through a lot he's been a lot
0:56:15
thank you fantastic
0:56:22
perfect timing perfect timing i didn't
0:56:25
even know that was the end of the show
0:56:29
yeah see it's all about time management
0:56:34
probably 45 minutes because you were
0:56:37
well done about that
0:56:39
and thanks to jack there for pushing um
0:56:42
pulling our legs so we can appreciate
0:56:45
the comedy get it done as soon as we
0:56:48
could which we did
0:56:50
and thanks for all the tips convar and
0:56:56
because yeah if that wasn't the case we
0:56:59
would have been able to speed up the fix
0:57:02
if these two guys weren't there
0:57:05
but yeah um do you want to do the honest
0:57:09
yeah sure so today we fixed um fixed up
0:57:15
tabbing autocompletion
0:57:19
on our passcode form
0:57:23
the code was already written but it was
0:57:29
dev tools to do a little sleuthing and
0:57:31
debug the code and then
0:57:34
well we found the problem and it was
0:57:41
fantastic i think the end that is always
0:57:44
the cause it always
0:57:47
takes a long time to find the problem as
0:57:50
in d-bar capturing what's happening and
0:57:52
it fixes pretty much what
0:57:55
five minutes boom done
0:57:58
yeah yeah debugging tools like
0:58:02
they can really help you so much
0:58:06
but yeah if you want to see us how we go
0:58:09
through this beaten testing
0:58:12
face as in getting fixing up all the
0:58:15
reported bugs or user friendliness um
0:58:21
join us tomorrow same place
0:58:25
probably on tuesday because tomorrow is
0:58:27
a easter monday but it will be the same
0:58:37
same time same place and a different
0:58:46
all right guys thank you