Okay. Yeah, I see it now. It's recording. Yes. You've grown some gray hair. Is it the kids? Yeah. Uh, one moment. I'll open the door. Mama. Yes. Sorry. Okay, I'm ready. Okay. So, what do we want to talk about? Uh so what's uh [Music] uh because we just want wanted to know how how uh what should we do in order to roll out uh the cloud feature and that's it actually. So what's what have been done? What should be done? Okay. Yeah. And also uh Ali proposed uh like gathering of us in Europe maybe for one week to maybe to do this task together. Okay. Maybe in May like like like we are like like so you you kind of started working for Move again kind of you you you had not worked for Move for quite some time right? Yeah. Yeah. So it was uh like quite big delay from last summer uh until uh March. Yeah. And now we are we slowly start to do something together. And this seems to be kind of at least to me it seems to be like Ali wants this pet project of his to kind of move forward. Yeah. Yeah. Exactly. So he he doesn't uh want to stop it at all. He uh he wants to launch it uh as soon as possible. So to make it live and move forward. Okay. You know that there is an open-source project which aims to do kind of the same thing which has like a working payment system subscription and uh an API that people are actually using and and building. Uh no no no I know only about rewind.ai AI. Yeah. But they are not open source as I No. No. No. And they move like in they started to move in like different direction. Yes. Yeah. Different direction. Yeah. Yes. And what's what opensource project? There's a project. Let me just um let me just share my screen. There's a project called [Music] um there's a project let me just minimize this there's a project called screen pipe which is this and this is open source and it actually has basically a um it's a native app for Mac and Windows and I believe also for Linux written in Rust which does the screen recording and the um audio recording and then they have plugins which you can um and they have an API for this thing and the plugins are written in in JavaScript and are basically little little web apps and when I for example open the search sometimes it works sometimes it doesn't I can actually um create do some some some search on the on the OCR data and my and and then I can start actually interacting with my search results uh using a local LLM or a um cloud LLM if I have configured the the the keys basically. So they have like they have the search thing which allows for for searching data then they have something which is let's I can I can probably open it right now which is a rewind kind of thing and in the rewind kind of thing I can basically mark ranges and and I don't know do also do queries on on on that. It's the graph kind of and it's not well polished and it's it's all open source and um they're doing interesting things. If you look at the plugins there, they have they have this [Music] um they have like something which autolocks your work in Obsidian. They have a interview coach. They have something know yourself better. Mirror AI is an intelligent agent that tracks your digital gains deeper insight into your behaviors, habits, and patterns. And it's and it's actually if you look at the at the website screen pipe. So it's more like a framework, right? So it's not they don't have their own UI. They built everything like a plugins. Yeah. Or hub. Yeah. And it's sometimes it works, sometimes it doesn't. And I've been running this in the background um for the last few weeks, months maybe. And they are definitely onto something. Uh how do they capture screens like similar way like uh we do? Yes. Yes. Yes. just I I I'm not saying that that they like have found the golden lamb, but there's definitely like a software out there that that is actually like you can see it has like 13,000 stars on GitHub which has kind of some traction, has a ton of contributors and have has like basically working software. Yeah, but still it looks like more for like it's more more like nerd stuff for people who must be in it like not as say like if you want to like like like we have a user base or like layer one has a user case of one and we have like software that's up to 10 years old. Now I I'm just curious what like if if if it's really about like capturing the screen if it wouldn't be interesting to basically use something which actually has a user base and plus a developer base like I will at some point write an conversion program to convert all my screen recordings into their format and switch over and remove [Music] um no longer use use Rewind because a lot of the things like all the AI stuff stopped working for me in rewind in in layer one and rewind is kind of deprecated and this seems to be something to go forward is anyhow I mean this is not what we are here for. So if we go to the the the cloud thing basically the cloud thing has just go back to uh uh by by the way do they have uh something for cloud storage? No, it's all it's all local. It's all local because so and their uh disk consumption is similar to what we do. Less less yes. Why less? Do you know why? Less FPS. They they the way they do it like like Rewind does it is they use FFmpeg to compress chunks I believe and they don't store like a layout and a thumbnail resolution and I believe it's just less like there is no magic in what we do Boris. Yeah, I I completely agree. But usually when when you sell something, there's you just need to offer like ready to use product. That's it probably. There's no magic. Sure. and a and like we've like yeah I mean Ali does what Ali does and if you're joining the the crew you're joining the crew um and um I'm I'm I'm happy to to to to to share what we have and just take it from there. I just believe it's it's actually like we're doing this is not right to do this. This is just wasting money, time, and energy. Okay. Yeah, I uh I understand. And uh so so uh you you think we we don't we shouldn't do anything at all or we can do something else or maybe what's what do you think like like I have no real opinion on on that. I'm just saying that like like the layer one app has basically we've we've missed the entrance into the market and it's bloated and it's grown into all directions and what you really want is something where your data is recorded and you can use an LLM to ask it and that is like that is like 10% of what we built. like the amount of time we spend to make the scrubbing fast and to have nice graphs around it and and all that that is I don't you like like do do you run rewind or layer one on your machine? Uh not much actually. So for my purpose no for my purposes definitely no only for that's it but uh it's a question of uh you know do do I really need that thing at all or or not because uh for me it's uh sounds interesting that I may return to to it at some point. So like in several years I can see what happened before but uh in uh in real time I don't use it. Yeah. and and and and basically the question is just I should settings AI settings. This is uh I agree that it would be great to make more simple UI and more simple uh function of our product. I can't Sometimes this works, sometimes it doesn't. No, it it it did work for me the the AI stuff and now it doesn't and I don't use it. But at the end of the day, like having something like like like this, like summarize my last hour, summarize my mail, time spent last hour is just stuff I would use if it would work. Anyhow, I mean, this is like like like you need to feed your family and you need work and you've worked on that project. I just wish it was something that would at at one point earn money. Yeah. And do you think that it will not uh earn money? Don't you think it would have it would have worked by now? Uh, sorry. What what do you mean? Like if like there are certain things like if you if if you really want something to work in your life and you're doing you think you're doing the work that is needed to bring this into your life and it doesn't work. Like at one point will you accept that it should work by now? Like what is it that you think we can add to this to make it a success? Uh I don't know maybe we need to remove something okay to make it more simple again like this is not what we are here to discuss let's let's go through this HLS stuff okay okay so let me Just think hls hls hls hls there is there's a branch called keys hls and I need to I think I need to force push it because I just rebased Let me just that is not important but I think that this one is and it's So let me just so basically the HLS stuff consists of a few parts. One of the parts is packages is a package, a new package called HLS rewind. And the edges rewind basically is basically, let me just see, is basically something that um uses ffmpeg to split one of our movies into an HLS um stream in a way. And it also includes the it includes the utilities you need to in order to be able to play an HLS file. An HLS file is always via HTTP. So the HLS rewind actually contains an HTTP server that it needs to um play files. And in in in a perfect world, we would at one point record an HLS, but that is not implemented yet. So, what this allows us, but what this what this allows us is to actually convert one of our movies into HLS. And let me show you how that works. Oops. We just basically walk through all the stages. applications. So, let's just take one of those movies. See, let's find something that has no Let me just see. There we go. So, this is basically a sample movie that I've taken from our recordings folder. Okay. And I'm just going to unpack it because this does not contain any pornography. This is how one of our movies looks like, right? Yeah. Why expect it? Oh. Uh, why it's in there? Okay, let's just take something bigger. This is so small. Uh, rephrase your question. Uh, why spock it in a file? Not sure what you mean. Well, you just uh store them in archive. Wonderful. Let's take this one. Um, please. So, so this is one of our recording folders, right? Yeah. You've seen the structure like we have three different movie files. one half, one high, and one small movie file. And we have the frames.pds. And we have a few auxiliary files. Right. Mhm. And I'm now going to convert that into HLS. And for that, I'm going to copy it. There there are utilities basically to do this via our UI in the original recordings folder, but I really want to walk you through all the steps. So in here after I build this thing, I should now have built debug the the clean the CLI tool and it should allow us to convert We convert a movie from MO to HLS. So this is basically a command line utility one can use to convert one of our folders from the one format into the other. So, it's now creating a work folder in there and it's creating segments for everything. And after it's done, it's it it moves stuff from the like while it was working had created a work folder. And after it's done, it has basically moved the um successful segmented things back into the the main folder. So now we have a movie file and we have an M M3U8 playlist which is what you need to which is the HLS file that allows us to play the segments. So running this utility has now converted the movie files in this folder to HLS files and kept the originals around. I don't I could now remove the originals but before we do that we first want to have a look at it if we can actually play it. and play it. [Music] You What is the What was the correct way to start an HTTP server locally? Let me just think. I just want to start an HTTP server in this directory. I think it's Mongoose. So that's just a dummy HTTP server. So this uh movie files are original ones, right? Say again. These movie files are original ones. You just create a like playlist for them. This is the original folder, right? And what we had is the movie high. Those are the original files. Yeah. Movie high, movie half, movie small. These were the original files. They're still in here. After the conversion is done, we get those three files, which is playlists that contain the same content as those, but now our HLS streams. And the segment for the playlists are in here. Ah, okay. So, we have segmented each of those movie files into their corresponding parts. So the movie high folder is 1.5 one 10 one 10 one 10 one 10 one 10 one 10 one 10 one 10 one 10 one 10 one 105 gigabytes and the original file was 105 gigabytes, right? Yeah. So you don't uh recompress them, you just split them in into chunks. Correct. We don't recompress, we just split them. Okay. For for that to work, we have our own patched ffmpeg which is on our GitHub repo which is bundled with this utility as a pet binary as a universal binary. Okay. Which Nick has created for us. So now we have Yeah. So is it like custom fmp file? It's basically the the standard ffmpeg has a problem creating um encrypted um it can create hls streams. It can create H um HLS segments, but it it it it has a bug um when those things should be encrypted and and you want to use the copy mode which is not recompressing but just converting. Okay. So I believe GitHub. So this buck is still there. This is our GitHub our GitHub branch and he has basically created a few patches and upstreaming with the FFM impact people is really dodgy as in it's it's it's really hard to get stuff into the main repo. Mhm. So the basically the patch that allows for creating encrypted HLS segments without copy without recompressing the data. Okay. So now we have this and you cannot like if you use quick time cannot what do you mean uh by encrypted? Okay, those th those segments are now encrypted um segments. They basically are no longer plain and this is the encryption key that is used to encrypt them. Okay. So what will basically happen is um let's see this is the shell script that it's actually using internally to do the conversion and it will um create one encryption key by random which is just 16 bytes of random data and we then use ffmpeg to convert convert the original unencrypted movie into encrypted segments. So those encrypted segments in here are basically worthless without this key. [Music] Mhm. Okay. And so this key will be stored locally of how should it work in what what what what we will do and and there's also code in the system is um when you basically when when this gets and I and I don't know I'm not quite sure how far I've I've I've pushed that but the idea is that this key gets It's basically encrypted using uh your keychain into so so we will basically create another key in your keychain that is used to de decrypt and encrypt this key. So this key is only on your hard drive for a very short time. Mhm. Because there's a utility that will actually and and encode this key. Let me just see if this is in this utility. I believe it is. Yeah. So can basically create like like like there is stuff that that that would actually encrypt and decrypt those key files and store that in the keychain. But that is kind of like mumbo jumbo which is not like like nothing we I I believe the software already does it all and I but I'm I'm not not quite sure there is there is technology in here to to do it. So right now this this folder would still be readable by someone who has this key. You cannot, as far as I know, you cannot play those files using QuickTime, but I believe you can do Let's see. I'm not sure if you cannot play this from the file system. So what you need to do is you need to in order to to to to play with it and understand it, you need to open it from the web browser and I can now use this link and I should be able to actually open it like this and I can So now I'm playing the HLS stream and it's actually loading the data from the segments. You can see it here, right? Mhm. Yeah. So uh and how did how did it get the key file? It is mentioned in the playlist or where it is. Yeah. Yeah. Very good question. It's basically it's basically in here. It says it's an AS28 encryption. And this is where the key file is. Mhm. And this is the initialization vector which does not need to be secret. Okay. But this is the file that you need to keep secret. Okay. So yeah. And we store like hundreds and maybe thousands of these key files in our keychain for in order to play. No. No. No. What we would do is we would create very good question. We would basically and I'm not quite sure because I don't really remember all of that. I believe. Uh, what? So now I have created a key in the keychain and I can now I can now encrypt with your key ID a file. Hey, I'm just Okay. Just this is history from from a million years ago. Let me just Minecraft and crap joking back. I wouldn't need to to to check that out how it worked. Basically, there's just a way to um actually I I called it pack this file into an and convert it into an encrypted file. Just see if I bag. I would I would have to look that up. like there's a way where you can basically convert this file onto itself and it will basically be encrypted and there's some code that um actually can can like the the built-in web server from this and we're going to get to this in a few minutes can actually unpack and decrypt it. Let's just let's just continue walking through this. Okay. Okay. So now we have the file and we've actually opened it with um Quick Time and with FFmpeg. The next step would be to open it with the app itself. Right. There's a um there's a test app in here that we can we can use to to play back that file. See what happens if we stop this. There's an HLS test app in this HLS only repository. Haven't run this in a year. Oh, very good. And that actually um what what what this test app does is it it opens the directory and it um basically gives me a view which shows all the files and I can actually open the original file and I can also open the um HLS file. It's not a very nice Swift UI application, but it it basically allows you to compare the files with each other and see rolling performances, things like that. here. We're kind of good. And the next thing would be to see if we can actually get this to play in rewind, right? Yeah. So let me. So, this is all my um all my recordings in my development version. I'm just going to get rid of all of that. I'm going to move this file here and I'm going to start. And now you you guys somehow managed to make it impossible to run the app and the debug version of the app at the same time. which is kind of annoying. So, I'm now going Yeah, I I saw this. Yeah. Yeah. I like this. Yeah, this is very annoying. So, but we should be able to use the recorder debug app for this, which is basically not the full application, but uses the frame reader and all that to open files. Let me also think for a while. back. That should be the way Yeah, maybe it's What's happening? God can come. So question, have you ever connected to the cloud back end from rewind? No. Okay. So, this is basically. So, can you So, we need to connect you to the and I don't know if Ari if this is still working, but we we can check it out. Uh, so if you subscribe via the rewind app, does that work for you? If you go to settings and then you go to uh I believe it's switched off now it's not available but you can try I don't You can add S3 buckets. So what we need I mean for for the next step to work we need to be connected to the we need to have a subscription and Okay. Don't know what Colin has built. Do you do you remember if you guys had had that working at one point? because I don't have all the Firebase [ __ ] up to date here on my machine and I'm not kind of not really interested in in bringing it all up. Let's see. I have no subscription. Can you with with your um debug app, can you run the recorder debug app on your machine? Build and run on your machine. Uh let me try. Yep. So I I should be able to basically add a subscription to the like like you should be able to bring up this. Yeah, the building now. Yeah. Yeah, it started. I'm going to Yeah, this is broken basically. So we cannot [Music] Um probably changed the domain name at some point. Yes. Yes. We may be able to basically create a local Here we go. Maybe we can do this by hand actually. Do you have Oh, now the like basically the next hurdle will be to have an S3 like like you you you can use a local S3 server like minio but the minio does not have like at least my minio has no valid HTTPS certificate and the libraries won't like it. So, um, we kind of need to you need to get some kind of an S3 bucket that you can write to and read from. Hello. Listen to it. That should [Music] Hey, [Music] what happened to our man? I need to I didn't need to move because the kids are coming. That's so I I integrated most of the command line utilities to the main app so that that you can call like this by starting the main application and giving it some environment and it will just call out to the utility. But it seems that you kind of renamed it. Oh, Okay. Yeah. So that has been removed. It works. So you have removed does not return is called. I don't know if that has been why that has been disabled. This would allow us to actually create a cloud storage from the command line. Can you just uncomment it? Huh? Can you just uncomment it? I don't know. What's it? Yeah. I mean, I'm not like sure and I'm not like I I'm just saying like this has been So I can So our next step would be to upload something to the cloud, right? And for that you need a cloud back end and for that you like because you kind of changed the domains and never no one ever used that code um it's now no longer there right yeah probably so what we can do is if you go into the cloud if you go into packages cloud storage and build the utility. You should be able to um to we should be able to do it by hand because we don't have the UI for that. You've seen it, right? It's like activate your move license and all that. I don't know where we are kind of ending up here. So let's see if we can bring it up with just let's see if we can use minio minio local You know many io? No, it's basically an ht. It's basically an S local S3 server and I should be able to let's see if we can get that to work. You you can install many io via homebrew. This is this is a very deep hole. It's a shame that that the um our back end cloud is no longer there. Goodbye. Let's see if we can I have created a cloud storage. Let's see if we can see it somewhere. So, you need to have some kind of an S access to an S3 server and mini io is something local. And I don't actually know if this will work. That is delete that again. Let me add another one. Let me think. Yeah, we need we need an S encrypted. We actually we don't need an encrypted S3 destination because we are only uploading encrypted stuff. But I will create an encrypted destination and I will call this Boris. And the endpoint could be this which is what the mini gives me. And the bucket could be the bucket that I have created test. and the access key. I'm going to create a new access key and I'm going to create a secret access key and the password will be Boris and Boris Okay. So now I have created a location and a location is something that I would see in my in my if I start the recorder debug up. Have you built it by the way? Recorder debug app. Does it run? Yeah. Yeah. Yeah. That is basically only the recorder part with some debug windows on top. It's not the main application. And if I go to the Meta Pro, I'm going to see I'm pretty sure I see a new encrypted storage. It has created a new location with this UU ID and then I can actually I can connect that storage to our recordings folder and that is done by by saying connect. I want to connect this storage UU ID to my recordings directory. And in my recordings directory application support move screener makes death in my recordings directory. It it will create a few JSON files. So I can now if things are well I can now connect the storage I have just created which is a UU ID right with that thing and the encryption password is Boris and Boris and it has now connected connected the recording directory with this and I can see it because I have a recordings input adjacent which is just a basically a um identific ification of this recordings directory. It contains the system file number and system number of that directory because you never want to mix directories with and stoages. And I have a storage info which tells me which storage it is connected to. And the stoages themselves are actually list storage list list. I believe there is info there's just list list destinations. So, I've now created a a storage and I should see Yeah, it has now connected those things together. And now if I start the recorder debug app, it should know that those things are connected and offer me offer me stuff to do the upload. Oops. What's wrong? Yes. So now I get if I in the in the recordings player and in if I open this player thing I should get um um it should basically if if if if you have not connected your recordings directory to the storage you won't see any of those controls. Yeah. And I can now just see this is where this is where the the the rubber hits the road. Basically, there is a movie offline manager that can do all those interesting things. It can create HLS from movies. It can remove the original movie after the HLS has been created. It can upload the high resolution movie. It can clear the uploaded high resolution movie after it's been uploaded. It can upload the half. It can and it can um I think zip is unused right now. So um this is basically the the behind the scenes machinery and what it how it works is basically there's a [Music] movie there's a movie offline manager that is basically started somewhere in the application that will be offline manager uh that does basically all the chunking, encryption, offloading and and so forth. And now I have connected the recordings folder with the storage. And I've done that by hand. I can now basically say, okay, I want you to Oops. I can now basically tell it what it what it should do. And I could for example I could say this is running. So I can now see one of them is has already been segmented and two movies have not been segmented. like I've only I had deleted all the data right so I can now ask it to hls what is it I can now ask it to hls like in in theory I can just enable everything but let's just for for for the moment just say okay do hls the the movies it has not hlsed yet. Okay so I can have open the configuration I made hls green and I now say scan and it it does hls from all the movies in the folder. Say that again. uh he starts processing all the movies in the folder. Yeah. Yeah. And it will only and this is basically the the hole we just fall into. It will only use the ones that have been frame checked. So because the frame checker has not run, I need to manually basically add the checked files. I believe you know the frame checker that you always see when the app starts up. Uh yeah, but I don't remember what he does. It basically just ensures that the movies are um complete and can be read. So So they are labable. Yeah. Okay. Uh yeah. So it marks unadable movies right? It it basically just if as as soon as you create a like checked file in the movie it will think it is checked. So if I now touch touch if I touch a checked file in here and the the the main app would do it. Basically the frame checking is is implemented on the wrong half of the application. It belongs to the recording and not to the UI. Yeah. So now if I now do HLS again and I can let me just so now I I I I press scan again and I set th those are basically the in application cues for operation those are um basically Mac OS operation cues and it has now created a task in that queue and it wants to do the HLS task on this recordings folder and I stopped the queue by mark making it it red. I can now make it green and it will do it and it has disappeared and what has happened is hopefully We have hls files in here. Okay. So if I So it has created hls files for the second movie folder. Right. So if I now use this one. Oh, let's I check this by hand. Okay, I I I keep it live and I just say scan and it will convert it. Oops. Create it here. And do we have And I think this is another one. We can just pretend it's checked. Oh, it this may actually be No. And oh wait, we're still this this one is still recording, I believe. So, let's not Oops. It's the wrong. So now we've basically segmented all those files and now I should be able to um say okay let's remove the original move movie files after we hls them. Yes. So if I start this now I expect this would be a remove task. So we have in the remove task we have three tasks and it would remove those files and I can just enable the remove Q by switching it to green. And now the files are gone. Oops. This was the the wrong one. No, it was the right one. The mo the moth files are gone. Okay. So, now we want to upload the files, right? So, I can now um and now we're getting into a really interesting thing because I'm not sure if this um mini IO works with the HTTPS. So if I now say please upload the high data, we should see it wants to upload 153 files and it's all these segments. You can see it, right? Yeah. And if I now start the upload seems to do things. It's not so fast. Let's see if we have It has not uploaded anything. And that is probably Oh, wait. Oh, it it has why. So that is actually correct. It's just not updating the So it's uploaded all the data. Interesting. And now we can clear the uploaded file and it would now remove the the segments. So if I enable remove it has now removed all the segments. So we should. So we can now see that it has for everything it has uploaded. So this is where we had all the segments, right? And if I go into the movie height, there's no files in here, but there is stuff in offline HLS. And this is where we actually find the where we find the metadata for the uploaded file and it's basically under this key in the storage. So we've now uploaded the data and now let's see if we can upload all the data. We can just say let's conf it should hls it should do upload the half data it should upload the small data and I don't know this is basically the auxiliary files would be the files that are need it for playback, but we can just just do that. We can just scan it. The really interesting challenge will be to see if we can actually play this back now. Yeah, I only have a few minutes left basically because I need to go to with with my kid to the so-al lander. So we've now uploaded all the data and you can see the directories are mostly empty or mostly there's no no real meat left in the directories, right? Yeah. And now when we go to the and the interesting thing is we can still play it. This is now restoring the data from the cloud and playing it back. So when we do some scrubbing come out. So when we're scrubbing it is um it's actually bringing back the segments into into this folder. So, it's bringing back the segments, but I can always just remove them again. So, now this folder is empty. You see? Yeah, this is one of the files. Now, the folder is empty. And when I scrub through it, we get data in here which is has been downloaded from the cloud. And I'm not even sure if this will will it could be that this is already encrypting and decryting the ink key. No, it's not. It's still 16 bytes. So, this is still vulnerable because this uh would contain the original key unencrypted. But basically this is kind of to where you should and then we can talk about the other stuff because I have to I have to run. Yeah. But this should basically show you how to and you don't need to like I I I believe you need the cloud storage utility to add your local S3. You don't need to do the HLS via command line as I've shown you because you can do that all with the recordings player. Okay. So, what you need to do is the cloud storage utility and add an S3 bucket. And then once you connected that to your recording folder, you should be able to um segment and upload your data to S3. Okay. And this is the on your branch, right? This is the T HLS branch. Yes. But that is like most of that like because all the cloud stuff is not really used on the other branch. It should I think it's rebased I I just rebased it on development and you you could take a look through it but I believe it's you you can just merge it onto development. Mhm. Because it's all editive. Okay. And once we're here, we can actually talk about like how to proceed from here and what needs to be done. But this would actually like like being here would actually allow you to offload all your data. Mhm. And the key files now stored uh in cloud as well. No, the key files are not stored in the cloud. There is some technology to store them encrypted and I'm pretty sure that that I have like this is this is working as a prototype somewhere but it's not integrated into this so far. Okay, right now it would be the thing is everything you upload to S3 like like this this is all encrypted with your um application password that you've set for the storage. So nothing is stored as plain. So this is basically twice encrypted what you see here. And so even if the encryption that key would be uploaded would be encrypted but it would be unencrypted on your local machine and there is software to have it encrypted on your local machine again. I need I need to run to get my kit to thanks. Yeah. Okay. Thank you. Let me Yeah, maybe continue next week. You You need You need to have that working on your machine. Yeah. Before we continue. Yeah. Okay. Okay. And one question. Uh my Meta Pro tab in the debugging app asks for login and password. But don't use it because the back end is not there. The cloud back end is not there. We you you need to um configure the storage by hand like I've done with the cloud storage utility. Okay. Because all the cloud all the meta back end does is basically it creates you an S3 bucket and access key and all that and you need to do that by hand and you should see it in the recording that we've done. Okay. But I can uh I can restore this uh meta function probably. I don't care. Make it work again. I don't care. Why? I mean, if you if if you want to spend time on that, sure. Have fun. But this is this was never production ready Boris. Ah okay. Like someone needs to maintain a back end for this. Okay. Let's see. So far. Yeah. And again like like if you just want the HLS offload to work, you don't need the meta pro subscription stuff. You can just add a encrypted S3 storage and use it like we've just done it with with a local um mini IO instance. Okay. Good. I need to run. See you later. Okay. See you. Thank you. Bye. Bye. Bye.