Hello, my name is Attila Suj. I am a software engineer at Colabora and now I will speak from Zip64 support in Libros. First, what is this Zip64 and why it's needed for us? Most of our documents are compressed with Zip. The original Zip file format was designed long ago. And as every application zips to have limitations. For example, the file size was stored in 32 bits. That means the biggest file it can compress is 4GB. It was totally okay at the time as all hard drives were smaller than 4GB. So all files were smaller than 4GB too. And it would be a waste of memory if you would store the file size in bigger variables. But as the technology advanced, it reached some of these limitations. For example, there are many files now that is bigger than 4GB. And if we want to be able to compress it with Zip, we had to extend Zip format. And this Zip64 is the extension which extends the file size to not just that. There are many other things that is extended, but maybe that is the most important for us. Unfortunately, the Zip file format was designed in the very beginning to be easily extended. So there are many extensions for Zip. And one more note. Why do we need it? Because not just huge documents can be in Zip64 format. There are small files too that is saved in Zip64 format. And Zip office was not able to open those files just because it's in a newer format. So what is these limitations? The extension is extended. First, the most important is the uncompressed file size, which was at max 4GB before the extension. And now it's so huge, we can't see when we will reach it. Maybe in the future we will reach, but never mind. So the uncompressed file size means the files which we want to compress. The second is the compressed archive size. It's similar to the previous, but it's harder to reach these limitations, because when we compress the files, they will be smaller, maybe 100 times smaller, or it depends on the file, how it can compress. It's less important for us now, because even the uncompressed file size is hard to reach for go-byte with LibreOffice, but compressed archive size would mean we should reach the uncompressed size like 40 go-bytes. It extended the file count too. It's not really important for us, because it was 64000 files at max, and well, if someone would insert a lot of small images, for example, like 100000, then it could be a problem, but it's very extreme. If someone tries to do that, he can put a bug ticket in bugzilla, but I've never seen a file that would even close to that point. Another extension is the disk count. It's really not important for us. It's from all times when we have floppy disks, and we had to copy bigger files than it fit in the floppy disk, so ZIP had a feature, still has the feature, that it can split the zip archive into multiple parts, so we can copy those smaller parts into the disks. Our document is always in one part, so the LibreOffice code doesn't even handle this variable. It just simply skips and thinks that we have one file anyway. There are even some more limitations, but they are even less important for us. The only thing that can be important for us is the first uncompressed file size. Even now it's hard to reach, but if someone makes a huge database in Cog, they can generate a content XML file that is bigger than 40 GB, which may be just a 100 MB sized ZIP archive, but still it can be used. It could not be used in the old LibreOffice. There are these data stored in the ZIP archive. Before we could answer this, let's check how a ZIP file looks like. ZIP archive builds from smaller parts. The standard name them as records. Some of these records start with a signature. If we open a file with hex editor, and we see it starts with P and key letter, and maybe we see other parts in the file where it has P and key, then there is a good chance it's a ZIP file. One interesting thing about the ZIP file that we have to start reading it from the end. At first we have to read the end of central directory record. It's a big site record, and it contains information about the size of the central directory. After that we can see back to the beginning of the central directory, and we can read the whole central directory, where there are other information about the files. The file headers have information about those files, where they start in the ZIP archive. This example that I wrote here is a simple basic ZIP archive. It doesn't contain every part. I mean there are more kind of records in a ZIP archive. Usually I just wrote here only what is important for us. And the files are in the beginning of the ZIP archive. One after each other. These files are, they can be folders directory to not just files. The local file header contains some information about the file, how big it is, what its name, the file data record is the actual file data. It may be compressed or may not. The data descriptor, it's not needed usually. It's rather for streaming purpose. There are records that may present in a ZIP archive or may not present in a ZIP archive. It's depending on other data that we read in the, we can read in from the ZIP archive. So the ZIP64 extension, let's check which record was extended by this and which records are new. The extended records are this local file header. The file header, this is in the central directory and the data descriptor. And the new records are ZIP64 end of central directory record and ZIP64 end of central directory locator. I don't implemented this last two. I implemented only the first three. When I say implement, I mean I read value from these. It does not mean I use all the values I read just like as I mentioned the discount, we don't need the data so we just skip that. But at least I read these data. The local file header and the file header has a smaller part in it, the extra field. It is present in the original ZIP format too, but it can contain many things and ZIP64 extension gives a new kind of extra field what we can write in this extra field. One important thing is that if this ZIP64 thing is not one property for the entire archive, I mean every record can be separately in ZIP64 mode or not in ZIP64 mode. It can be senseless sometimes but for example, if we have one file in a ZIP archive and its file size is stored in the ZIP archive, it can be stored in three different places. It can be stored in the local file header, it's stored in the file header and if we have a data descriptor then it's stored there too. The same data is stored in three places but we can save one of them in ZIP64 mode and save one other in the original ZIP mode. So let's check this extra field and it's parent the local file header. Local file header started signature then version, flex, compression, metal, time and date of last modification, checksum, compressed site, uncompressed site. These both are stored in four bytes so they cannot be weaker than four gigabytes. Then length of the file name and the length of the extra field then the actual file name and the actual extra field. In many cases this extra field is not exist. I mean the length of the extra field is zero file header in the central directory seems similar to this that have the same data and a lot of more too so I just draw this here because it's more simple. So the standard state that if the file size is bigger than four gigabytes then we will have to write the maximum variable, the maximum number we can write into the uncompressed site and in the extra field we will have to write a ZIP64 extra field where the uncompressed site will be present. And the standard also stays in the other state in the other directions too that if the compressed site or end the uncompressed site equal to the maximum number can be present in that field then the real value is in the extra field we have to read that from them I wrote this question mark there because it's a funny thing that the standard is not clear here I mean it just lists compressed size and uncompressed size under each other and then it start to write this statement it doesn't mention that both of them has to be this special value or it's enough if one of them have a special value but anyway in the extra field that will be both of them present so let's check the extra field the extra field is an array it's not just one value we can have many extra field data in it in general case extra fields have a 2 byte long id 2 byte long size and an extra data that is as long as the size in zip 64 case the id is 1 the size is well it should be 28 but sometimes smaller than that and there is the uncompressed size and the compressed size in 8 byte and there are 2 more fields that is not important for us now that is again a strange thing in the standard it doesn't mention that this can be smaller it doesn't even mention that it has to be 28 byte it just list what kind of fields are there and that's all you cannot be sure that what can you expect how files can be seen but as I seen some files only have 16 bytes long data from the zip 64 I mean it's enough to have the uncompressed size and the compressed size well it's a strange thing that the standard doesn't for with it doesn't mention it and the next thing is dota descriptor it's rarely used it's designed for fine streaming normally it has 4 fields with 4 each of them are 4 bytes big but here is again I'm not clear thing that the signature is there or not there the standard says normally it does not need a signature but many application write signature here so we can expect there will be a signature there or maybe not but there and the here the uncompressed size and the uncompressed size is important for us in case if we are in zip 64 mode these fields are not 4 bytes long but 8 bytes long it's again not totally clear if when are we in zip 64 mode I decided to get this information from the file header in the central directory because in the local file header the file size can be another special value in some cases especially when data desktop is used so the standard is designed to be well expandable it's a very good thing that there are many spots in the standard in the zip archive where we can insert our own special data if we want and if we do it in the right way if we can read it back to it the standard doesn't really forbid a lot of things it's written in the name to they allow almost everything to us what is possible I think they designed it to support anything what we can imagine it even allow senseless things like I said that we can store file in half in zip 64 mode and half in not zip zip 64 mode but well if someone is stupid then it's his own fault this format is commonly used there is many extension for example the extra field that I mentioned there are many type of extension there many companies need their own extensions and it's very complex there are many special cases it supports like encryption compression stream split spell self-extruct and even this can be very complex when I said encryption well we can choose to encrypt all the files or just some of the files we can choose to encrypt the central directory to hide findings from other people and we can even choose encryption methods how to encrypt files and the standard is not exact it can be a problem sometimes when we use standard we are not sure what we can expect what we have to try to read it was funny to read in the standard that originally there was no signature but many people use it so being prepared for it and well that's the hard part of it it's hard to prepare for every use case we have to try to imagine what other people would try to use especially the special cases which we would think that it's a stupid example but but sometimes some applications do it anyway I mean there are applications that save zip files in zip 64 mode even if it's a small file and we have to prepare for them and the test case I wrote a unit test for it with a small zip 64 file just as I mentioned before that some application took that but it was good for us but for the real test to make a zip file that has bigger than 4GB file inside of it it was even a challenge even to create such a test file and I was able to test it only manually because unit test has to be fast and it's really slow it was several minutes just to import such a file and when it was in when I was in debug board it was like 40 minutes so it's not usable that way and about the future possibilities I only implemented the way to use the uncompressed size and we could implement the compressed size limitation too if needed it's partially implemented because I load this information and I changed this value into 64 bits but it's not enough there are some other parts that store information related to it we should load the new records I mean the ZIP64 and of central directory record and locator and the other hard point is that we should make sure that all the where this information goes through there will be 64 bits compatible I mean even if there is just one variable that is smaller than that just a function parameter or something or what's return if we copy a big value into this variable then it will be crop and probably the LibreOffice will crash I had to fix many of several of these problems why I implemented the uncompressed size and if anyone want to check these I visited some code pointers here some functions which read the central directory or write the central directory and which uncompressed I think that's all thank you


Good afternoon, I'm Olamide Adeyemi and this is the news update. Members of the Equestries Authority of Heads of State, the government today issued a seven-day ultimatum to the Nigerian military to restore constitutional order and reinstate ousted president Mohamed Bassem into office. This followed an extraordinary meeting of leaders of the Equestries Member States at the State House in Abuja to discourse the happenings in the J-Republic. While recognising Bassem as the legitimate president of the Landlocked State, the bloc also imposed land and border closures suspending all commercial flights between the J and the Equestries Member States. Consultations with regional, continental and world leaders. Taking cognizance of the condemnation of the attempted coup and the illegal detention of President Bassem and members of his family and government by the neighbouring countries, the African Union, United Nations, European Union, United States of America, China, Russia, La Francophonie, the Commonwealth, the OIC and other partners. Recall the principle of zero tolerance for unconstitutional change of government as enshrined in the Equestries and African Union protocols and other instruments, resolve as follows. One, his Excellency President Mohamed Bassem remains the legitimate, elected president and head of state of the Republic of Niger, recognised by Equestries, the African Union and the international community. In this regard, only official acts of President Bassem or his duly mandated officials will be recognised by Equestries. Two, condemn in the strongest terms the attempted overthrow of constitutional order in Niger and the illegal detention of his Excellency President Mohamed Bassem, President and head of state of Niger as well as members of his family and government. Call for the immediate release and reinstatement of President Mohamed Bassem as President and head of state of the Republic of Niger and for the full restoration of constitutional order in the Republic of Niger. Let any form of resignation that may purportedly come from his Excellency President Mohamed Bassem consider the illegal detention of President Bassem as a hostage situation and hold the authors of the attempted coup d'etat solely and fully responsible for the safety and security of his Excellency President Mohamed Bassem as well as members of his family and government. In the event the authorities' demands are not met within one week, take all measures necessary to restore constitutional order in the Republic of Niger. Such measures may include the use of force. To this effect, the chiefs of defense staff of Equestries are to meet immediately.


Hi friends, so we are going to be doing a good old-fashioned YouTube Made Me Buy It video. I know that I am so guilty of this. I will watch a video, see something that looks really great on an influencer, and I'll run out and buy it. And I have done that through the years, so I have a few things in here that I want to talk to you about that definitely were influenced by people here on YouTube, and I bought them, but they're really, really good. And I continue to have them in my makeup arsenal, and I continue to love them. So I wanted to share those with you. But first, before we get started, if you are new to the channel, thank you so much for being here. I hope that you do consider subscribing, and being a part of our YouTube family, we would absolutely love to have you. And if everybody would just take a second and give this video a thumbs up, it helps my video be generated out there, and I do appreciate it more than you know. So I did one of these videos, when I very first started, I actually did two. One about Emily Noel, and one about Kathleen Lights. I'll make sure that I link those for you guys. And then I may have done another one along the way. If I did, I'll make sure I link them all three for you guys. But these are so fun to remember where I got these original ideas from. So let's get into YouTube made me buy it, and let's talk a little bit about each of these products. So we're going to start off with a product that I found quite a while ago, actually. I don't know, maybe a year and a half ago or longer. But Melissa 55, who I absolutely adore on YouTube, if you guys actually all these YouTubers that I'm going to talk about, cream of the crop, YouTubers, go over and check them out. But she had showed this hairspray on her channel. And this is the OGX, Bodifying Bamboo Fiber Full Big Hairspray. And it's got bamboo fibers and plant collagen. And what I love about this, it's a hold of four. So five being the most on their scale. What I love about this is I really like how well it holds my hair without feeling crunchy. You know, sometimes you can get a hairspray that it's got great hold, but at the same time, you're going to get that crunchy feel. It doesn't feel like that. It still feels soft. But I feel like there's enough hold in there that it's going to last all day. The other nice thing about this, this is great in humidity. And I really like that about it too, because I use the Volume 25 from Kenner for years. I still do use that. I find myself reaching for this a little bit more because it's more cost effective. Volume 25 was one that never, ever let me down. And I wore that. I think it's like their 20th anniversary or even longer of having that hairspray in their line. I've worn it for that long. So when I found this one and I compared it to it, you know that it's got to be a good one. And this one is from my dear friend Penny from Pence Miss Skincare. And I love that gal. She has turned me on to the best skincare items ever. Make sure I link her channel below as well. I'll link all of these channels for you guys. The secret key starting treatment essence with galactomyces in it. Now if you guys have seen SK2 or SKII from Sephora and everybody talks about how wonderful that product is for anti-aging, for softening, for brightening, that's what this is. And galactomyces are a brand of yeast or fermentation that they found doing brewery work where they were working with the beer. And they found that this specific fermentation, the galactomyces, was making their hands look more youthful. It was making them brighter. Their dark spots were going away on it. And that's what this does. And this has brightened my skin. It has helped with the dullness, the texture. I feel like my wrinkles are softened. You know wrinkles are going to be there no matter what you do unless you have fillers or Botox or something. But I do feel like this helps soften them. And that is one that I absolutely love and have talked about over and over again on my channel. All right. Miss Mandy Lee. I found her about a year ago. I love Mandy. I did a collab with her. I think she's just one of those YouTubers that everybody can learn so much from because she's just down to earth. Her personality is so sweet. And she talked about on her channel, the L'Oreal Lumi Shake and Glow Dewey Mist. And this is so good, you guys. Hopefully I'm going to be able to show you on this hand what this does. All right.  But look at the two different hands. Hopefully you guys are going to be able to see the difference in the two different hands. And how this just looks brightened and lightened and a little bit of that dewey look on it. Well, this one is just flat. And that's really what it does to your face, too. It just makes that beautiful bright canvas that we all love to get that dewey look to our skin. Actually, the dewey look gives me a little bit less of a look of texture on my skin, which I really like as well. You don't want to go to him, but at the same time it can look so pretty on your skin when you lighten that skin up. Now the next two products are basically kind of the same thing as far as brightening your skin, lightening your skin up. Mandy Davis MUA. I watched her for a couple years as well. This is from Flower Beauty. Now they do have one of these that is just a regular setting powder, but this one is the Glow Powder. And Mandy showed this and I was so hooked. Now I will say that I feel like the packaging is redundant because it's not really easy to take with you. And you know, look at it right there. So you got this huge lid. This is the tiny bit right here that it is. It has huge packaging. So I don't feel like I appreciate the packaging maybe like some people do, but I do love the product inside of here. What this is is a finishing powder. It's very glowy. It's very pretty. And if you're someone that is looking for that ethereal look on your skin, this will give it. It's not really a highlighter, although it could be used for a highlighter because it's very much like the essence pure nude, but really you guys, this is just a really beautiful brightening powder. And if you do have oily skin during the summer, if you want that glow without having any breakthrough, this is really good too, because it is definitely a powder. It just has those shimmery particles in them that is so, so pretty. Hopefully you're going to be able to see that. And I'm trying to move my hand as much as I can so you can see that. So I love that Mandy turned me on to that one. And then this next one is from Flower Beauty. This is Andrea Matalano turned me on to this one. This is her favorite highlighter, you guys. She talks about this all the time. You do have the three different colors. So you have the gold, you have the more pink color, and then you have the just plain champagne color. And this is so pretty, you guys. Each of these colors are pretty on their own, but the colors when they just get swirled together, which is what I do when I wear it, I just swirl all three together. The colors are so beautiful. So and they're right there. Aren't those just gorgeous? And I am wearing it on my cheeks today. And I laid that down underneath my blush before I put any blush on. And it just actually kind of laid it down fairly thick, too. But they are so gorgeous, you guys. The color care which color on here you choose. It is so beautiful and such a brightening effect on the cheeks. All right. So my friend Dr. Danny Fisher on here, she talked about the Ardell want to get lucky eyeliners and these you can buy at Sally Beauty. You can walk in and buy it or you can order them online. Now, what she was talking about is how well they stay in your waterline. And they do, you guys, they're really good. It's a mechanical liner, so you don't really have to ever worry about sharpening them. But this one is the brown right here. This is a gel formula, so saturated and so pretty, you guys. I don't know where my blue one went. I had a blue one as well. And then this one is the purple and I had the cobalt color. And I think I had this silver. I'm sure they're floating around here somewhere. But in the waterline, you're going to get these two last a long time. But there is a little bit of a trick and a little bit of a learning curve here, you guys, if you do want to use these in your waterline, go in and make that line as dark as you want to. So when you're very first working with them, make that line really dark.  It's going to be there. And if you work with it too much, you're going to find that it's actually rubbing itself off in the process because it's adhered there, but you're going back in on to something that's dry and it's going to pick it up. So if you do just that initial, laying it down as thick as you want or as light as you want in that waterline, it's going to work wonders. And I do have the purple on as my outer liner on my bottom lash line today, just that outer third part. Love how good these smudge up. Love how long they last in the waterline. They're going to last you a good three hours. I would say you might, if you're somebody that doesn't tear up as much as I do, you might have it on there for eight hours, but I do tear up a lot. So it doesn't stick in there super long time, but at the same time on the bottom lash line, it lasts there all day without any smudging. And I love this, you guys. Taylor Wynn, we all love Taylor. She does the best reviews on foundation. No different here with this one. This is from Koki Cosmetics. This is their full coverage foundation. This is what I have on today, you guys. It is a little bit thicker. So if you don't like a thicker foundation, you might not like this one as well. But what I do is I just have to put on such a thin layer to get the amount of coverage I want. And that's why I actually like it so much. You can put any sort of a primer in with this. If you want to put a drop or two of oil in it, you can. If you're dry, if you're very oily, you might want to. If you want to thin it down a little bit, you can put in some moisturizer or something like that. But I find that just really shearing it out with my makeup sponge does the trick. And it's so good in its coverage and it's just beautiful in how well it covers. I have so much discoloration down here from my acne scars. And then I have really deep starting on age spots, but they were my freckles at one time across my cheeks. And it just takes care of all that redness. Evens everything out makes my skin look perfected. And I love that about it. So this is one that I will continue to repurchase. And I think Taylor went for it. She's actually got me on a lot of foundations. But this is one that I love and that I continue to wear. And it's been in a lot of my favorite videos as well. Now, last product is from Mrs. Lola Lin. She has been on YouTube for probably 10 years. But I started watching her way before I even started my channel. And she talked about the Sephora volume lip glosses. This I know that that's not the name. It's like outrageous plump or something like that lip gloss. Make sure I throw it up on the screen for you guys. But anyway, they had two colors. One was a universal color and then they had another little color. And they just called them one and two.  This one in particular is the number 11. Now I had the number. I think it was the number one or the number two for such a long time. But this is the number 11. And you guys, this makes your lips look so juicy and so pouty. And I like also that it has a divot in the actual doe foot applicator. It holds a lot of the actual gloss down in there. So when you put it on, you're getting just about the perfect amount. And it does have that little bit of a cooling effect to it, like the Buxom glosses do, although it's not as much as the Buxom do. Just so you guys know that it's not that intense cooling effect that you get from a lot of plumping glosses. That is obviously their campfire, their menthol or whatever they put in there. But I really like this a lot. I like how juicy it makes your lips look, how pouty it makes your lips look. I'm a lip gloss girl anyway, love lip glosses. So this one was one that I bought several times before they came out with a new color and so glad that I bought the new colors. So that is it for today's video. You guys, I do appreciate you being here with me in the description box, something that you were influenced to buy by a YouTuber. I would love to hear that. And who who influenced you to do that? That would be a great conversation to open up in the description box. So thank you guys again for being here today. Hope that you did enjoy the video. Please give it that thumbs up. I would appreciate that. Hope everybody is healthy, staying safe, staying in as much as you can out of this heat that we're having this heat wave across the States. It's been a tough week for everybody, but I hope that you're doing well. I love you guys very, very much. Thank you again, and I'll see you all in my next video. Bye guys.