This is stock number 10304. We are here at Summit Automotive in Fond du Lac, Wisconsin. You're new and used heavy-duty truck and Ram headquarters today. We are checking out this super clean 2013 Ram 3500 crew cab Short box single rear wheel. This truck has the 6.7 liter Cummins diesel and from this HD video you will be able to tell that this truck is extremely clean all the way around inside and out Black gold Metallic is the color really good-looking color on here. It's kind of a kind of a brownish black metallic really good-looking color and more White gold We shoot all of our videos in 1080p So if you have HD capabilities on your computer tablet or smartphone device Turn them on right now because it is like you're right here looking at the truck with me And definitely your best way to check out the vehicle before seeing in person comes with 20 inch polished and painted Fuel rims and it has pro-com 35 by 12 and a half R20 LT tires on it These tires look about 50 to 60 percent of the tread left. It does have a suspension lift kit in it and The frame and underbody looks like it's in really nice shape Has the projector lamp headlamps the LED running lights factory fog lights the chrome trimmed grille You can see just how clean that hood is Passenger side fender is an excellent condition Passenger side rim No stuffs or scrapes on that and as you go down this side of the truck You can see just how mirror like that paint is how nice and clean the body is We take these HD videos So if you are far away or even if you're close by and just cannot make the trip down You can still see the truck hear the truck and have confidence in the vehicle that you're looking at Before you even get here So that when you do get here, there's absolutely no surprises in fact We offer a fast pass option on our website where you can apply for financing see your payments Even appraise your trade right on our website You want to make sure that you're looking at the right truck And then it's going to be everything we say it is so when you get here There's absolutely no surprises see the frame and box rails are a nice condition has all the remaining factory exhaust The back tires have just as much tread as the front tires and the back rim is in nice shape as well As we come around to the back of the vehicle rear bumper is in pretty nice condition Didn't see any major dents or dings on it The tailgate is in really nice shape. You can really get a good idea that Black gold paint on there. It's got a little bit of gold metal flake in it And I'm guessing that they took the name black gold from the color of oil That's what it kind of reminds me of Has a nice spraying bed liner. Those are the original Uh springs and shocks in the back here. The bed's in really nice condition. It has a dz Diamond plated toolbox that's included And down this side of the truck is just as clean as that passenger side Very very nice back rim Nice shape as well And down the rest of this side of the truck very nice condition Didn't see any dents or dings on the doors Has the heated fold out tow mirrors so you go out like so They also have led built-in directional signals in there Now inside the Laramie Longhorn package Is a really really good looking Package you get the dark brown Longhorn seats The brown tubing or piping I should say memory driver seat lumbar Power driver seat both these seats are heated and cooled You get the factory all-weather longhorn formats power windows power locks power mirrors the real wood rind trim on the doors the real leather wrapped door handles power pedals auto headlamps and uh radio controls on the back of the steering wheel It's digging at me because the key fob is left the vehicle because it's in my pocket Has the enter and go system you can see that this truck has 55,211 miles you get the seven inch digital Display right here the digital speedometer outside temperature compass display And all that good stuff information center has the heated leather wrapped and woodgrain trim steering wheel cruise controls on the right bluetooth and Information center controls on the left Comes with a six speed automatic transmission with the optional tap shift has factory Navigation system. This is also where your backup camera shows up You can do your climate controls here. You got your heated and cooled seats heated steering wheel buttons You can do amfm and serious xm radio capabilities Down here. You can also do your climate controls if you like the more tactile buttons Factory brake controller. You can do your heated and cooled seat buttons down there as well As the heated steering wheel button Stability control tow haul factory exhaust break and backup parking sensors. You can turn those off Do you get a turned out four-wheel drive 115 volt 150 watt plug-in? dual glove boxes this one does have the alpine premium sound system Passenger seat is in excellent shape as well I don't think this truck's ever been smoked in smells very clean inside You get the speakers in the ceiling And up here you get your map lights Power slide rear window and home link buttons for your garage door security systems and lighting systems 911 and assist buttons in the mirror Take a look at the back seats and then we'll check out under the hood Back seats are just as clean as the front seats No rips or tears back here. You get the cool laramy longhorn design on the seats These back seats are heated on the outboard side You get a winter front Storage underneath The big factor you all-weather floor mat back here and you do get in-floor storage on each side with removable containers So you can put ice and drinks in there and dump it out for easy cleaning Back seat heating buttons You get the saddlebags On the backrest there And just really clean inside really a nice truck all the way around I would highly recommend it from a quality and commissioned standpoint And under the hood we have the 6.7 liter Cummins diesel Engine bay is very clean Runs very smooth. This truck has been fully safety to and inspected by our service shop Has a fresh oil and filter change all the fluids have been checked and topped off Truck has been gone through mechanically 100 and is 100 ready to go To see more pictures of this truck or one of our other 450 new and used cars, trucks, SUVs, minivans, wranglers, half tons, sweet quarter tons, one tons You name it we got it go to our website www.summitauto.com Full pictures and descriptions of every single vehicle from two locations all at summitauto.com And if you'd like to check out more hd videos you can go to youtube.com slash summit auto Remember to like subscribe and share on this video and all the videos that you see there In fact in a second you will see a link to subscribe to our youtube channel on your left A link to more heavy-duty truck videos like this one on your right If you have not been to our website on the bottom link to this vehicle on our website click those check us out And we really look forward to helping with this super clean 2013 ram 3500 crew cab short box single rear wheel Thanks again


10 inches of snow, time to flex Massachusetts cleanup skills. Yeah, it's actually a lot better than it is in Chicago. But while Winter Storm Nika gave Boston a snow day, it wasn't free. Almost a week after Storm Nika hit Boston, there's still snowdrifts the size of me. Obviously the city's doing their job at keeping the roads clean and safe. The question is at what cost? We went into the fiscal year with $43.5 million budgeted for snow and ice operations. We were just about $70 million expended, so we're significantly over our budget. Supplemental budget is currently under consideration with state legislature. But if a decision isn't made soon, many vendors, including those plows, clearing their commute, would continue working on only credit. So far, the budget concern has not affected the delivery of the service. While the department is roughly $18 million over budget, many think the service is invaluable. It's extremely important not only for, you know, cars on the road, but especially pedestrians' parts where the sidewalks are hilly and stuff like that and get slippery, so it's really important. I think it's more of a safety issue, more than anything. I mean, can you really put a price on that? Reporting with BU News Service, I'm Ashley Dadell.


All right, everybody, this is Anqui and Jatin Kataria. They want to talk to you about a monitor darkly. Give them a round. Come on. Congratulations on getting up here. Thanks. Thank you. All right, we're going to get stuff shown on the monitors. It's all going to work. All right. Okay, so this is work that we've done for the last two years in our spare time. So I wanted to tell you the story of how we did it and what we found over that time. So we have a big cast of characters. My name is Ong. Jatin is underneath this table. He will sometimes reappear for this talk. We have a very strong Canadian in Francois, who we worked with, but he couldn't show up to this today. We have a person named Igor, which we'll talk about. We have a very concerned area man named Chris. And the last but definitely not least, we have area man of concern named Shaquib. And if you see his face on your monitor, things are really going to be bad. And he's actually in the audience today. So watch out. All right, so today's primary main objective is to go after these little devices that you connect to your computer that puts pixels up. Right, monitors. We all know what they are. Okay. And, you know, motivation for why we are interested in monitors.  So if you think about this page, right, when you see this page, you think you're talking to your bank, right, the little green pixels on the left side here, right, makes you think this is an encrypted communication and you're safe. Now, think about all the resources and the research and the money we spend to create this infrastructure so that we can have this internet with, you know, SSL, right, that will show you these green pixels.  I would say we probably, cumulatively, probably invested over a billion dollars to make this infrastructure exist today the way it does. Okay, so let's look at the context in which we see this website. Okay, so we view it through this tiny little computer with a big screen on it that we call the monitor. Right, so the lazy hacker would say, you know, if I wanted to break the pixels that show me green, I could either break the security for, you know, that's, you know, built with a billion dollars in investment or whatever the security is inside this little monitor, right, and, you know, maybe it's not so great and that's what we're here to talk about. Okay, so this whole thing started back in 2015 when Jaden and I got really sweet new monitors. Okay, so we bought these things and we say, wow, this is beautiful and as soon as we plugged it in, you know, we noticed this really curious thing, right, the USB device on it said, you know, TUSB3410 boot device, right, and the USB to I2C solution. So we looked at that and we said, it's very interesting, right, so a minute of googling later, we found this really useful Dell forum response by Chris, so somebody asked, hey, you know, I don't have a driver for this, you know, T3410 boot device, you know, what is it for? Is it a problem? And Chris from Dell says, don't worry about it, you know, that driver is only there for firmware updates which we'll probably never do, right, but if you want the driver, here it is. And I looked at that and I said, how interesting, right? So Jaden and I started thinking and I say, hey, Jaden, let's tear down this 34-inch monitor that we have lying around. Well, we already have awesome monitors. Why don't we take that 34-inch which is not doing anything? Yeah, and then we're cool with this, but then Chris hears this, right, you know, and nearby and he says, like, these monsters have no heart, like there's no end to their savagery and I also have a million Vim plugins and my life is sad, right? And we said, oh, this is really the saddest thing of everything, so where are we going to find these monitors? Why don't we go to the interns? They don't need monitors. And they have, like, Dell 2410 sitting around. Yeah, we got a pit of interns, they get 24-inch monitors, they don't need them, right? So we started looking at the 2410s instead of the curved ones and, like, 15 minutes of Googling later, we found this really nice document that describes a USB firmware upgrade instruction, okay? And this instruction is just insultingly clear because the first instruction that says the power goes into the power wall thing, right? And then the USB goes into the USB thing, but then, you know, it talks about this U2410 ISP tool in-service programmer, and then we started to get very interesting results, right? So we're seeing screenshots of this Dell utility that doesn't require any administrative privilege, that, you know, starts up a bunch of stuff and at the end of the day, right, runs, you know, things like AppTest and a lot of other mystery and just does the firmware upgrade for you. So we looked at the output of this program. We said, you know, what is an AppTest? Like, what is this all about? We started Googling, right? We found a lot of, you know, documents mentioning Genesis and G-Probe and all this other stuff. And we also found these documents from, you know, the late 90s, early 2000s that had all these mystery hardware that updates firmware from these really old monitors. So if you see the one on the bottom, there's a parallel port with power supply going to VGA, right, and somehow this hardware changes firmware on monitors. So we started Googling more, right? We find mention of SD Micro, Inelux, Athena and Dell. So we're trying to figure out what this is all about, okay? Like days and days of Googling later, we figured out roughly how this happened. So AppTest is a thing that's used by G-Probe, which was created by a company named Genesis and they were a big player in the on-screen display controller market, you know, in the early 2000s, right? From that, we did a lot of Googling and here's what happened, okay? So in 2002, Genesis created G-Probe and Genesis was in 2008 later sewed to SD Micro and the SD Micro threw in some of their IP and created this chip called the STDP6000 something, right? That chip was then sourced to Inelux, which is partially owned by Foxcon, which is then something that's, the Inelux built a board that was eventually used in Dell monitors, right? So this is how, you know, somebody wrote two various insecure code in 2002 that caused, you know, probably a few hundred million monitors in the world being vulnerable today. So that's, you know, how it happened basically. And now we were able to get a copy of G-Probe, right? So this is a screenshot of what it looks like. You know, the interesting thing to look at here is the software says we can connect to the monitor via things like serial, right, and also USB and we're looking at things like the DDC to BI, right? So that's something that's important to come back to later. So we got a copy of this firmware update tool, right? We ran it in a virtual machine. We dumped a lot of USB traffic and we noticed that there are DDC packets embedded inside USB packets, okay? So Jaden's going to talk a little bit about what DDC is. So DDC is like a display data channel communication set up by VESA. So it is used by the host adapter to query the monitor about the hardware capabilities, what is the vendor, what resolution it supports, and blah, blah, blah. And then if you go to this, there are multiple versions of DDC which exist. There is DDC2B, 2BI, AB2B+, and what we are working with here is 2BI and which is a next version of 2B which works over I2C and talks to the host adapter. So here is what initiation of communication started with the host adapter to the monitor happens. It sends a SCSI command with the code CF, which is a generic vendor code. And it is wrapped over, it's wrapped in a USB mass storage packet which is sent over to USB. Then the USB request block contains a DDC2BI packet which is an encapsulation over G-Probe packet to do different commands. So one of the commands if you're looking here is a run code command which allows us to put PC anywhere in the monitor. How convenient, right? And if we look into the G-Probe documentation, all of the checksum algorithms are laid out for you. They're very simple. So again, we're taking messages that are supposed to go into I2C, packing it into USB and sending it over to the monitor via the USB interface. So yeah, let me show you a really simple communication between the host and the monitor. So I'll play the monitor. Jaden will play the host, okay? Monitor, initiating communication. Give me a register read. I, as the monitor, say I acknowledge your request for initiation of communication. I acknowledge your acknowledgement that you started or you wanted to do initiation of communication. Okay, I have acknowledged that you have run the read register command end of acknowledgement. Okay, but we're not done yet, right? This is just to send the command. So this is like six packets to send the command. Hey monitor, let's do a communication again. Give me the response of my previous command. I acknowledge your request for initiation of communication. I acknowledge your acknowledgement that you wanted to do initiation of communication. Okay, I have the result for you from read register end of communication. Goodbye. So 12 packets to get two bytes out of the monitor. Right, but it works. You know, that's how the monitor is doing it, right? And this is the mechanism that the monitor uses to update the firmware from USB into the on-screen display controller. Okay, so we read some documentation. Let's avoid the warranty. Let's figure out what the hardware looks like. So we open the back of the monitor. This is pretty typical, right? And the hardware is made up of the auto-enhancing and auto-enhancing and auto-enhancing, which is the one that shows you the low stuff is on the bottom. Okay, and here's an architectural diagram. Right, so you have the main SD micro chip on the upper left hand corner. Notice that that chip sits on an I2C bus, which is connected to a multiplexer chip. And that's the 4053. Right, and that multiplexer again sits on a second I2C bus, which is connected to a USB controller, right, then eventually ends up directly on the I2C bus for the uh on screen display controller. So we're able to send raw I2C packets through USB to this machine. And that's how things work. And uh we flipped the board over. This is pretty typical. We found an SPI flash chip that we were able to dump. So we dumped the code. And uh this is something we like to do. We like to do 2D rent, you know, visualization of entropy. Uh so you know off the top of uh off the top of our heads we looked at this thing and we said I have no idea what that is. That looks pretty sweet, right? Uh it's high entropy followed by low entropy. There's certainly pattern there. Uh this stuff you know somewhere in the middle probably looks like code. Uh stuff over here maybe data, right? It's high entropy, right? I mean it's low entropy but it looks like there's some stuff in there that's interesting and who knows maybe this is compressed data. We don't really know. And then we took it and we just ran string on this thing and you know we're seeing a lot of stuff that were you know we saw in the documentation. So there's app tests, right? It mentions of you know picture in picture and things like OSD hide and OSD show, right? So this looks like we're on the right track. We want to play with these things. So then I said obviously let's throw this in IDA and see what happens, right? And this is what IDA did, right? And you know we looked at it and we said oh this is really hard. We can't figure out how to disassemble Turbo 186 which is the the architecture here. So we started googling around and it seems like somebody on OpenRCE in 2008 probably did exactly this research but maybe didn't tell anybody because they're asking about exactly the same architecture in exactly the same format. And I think the binary is actually from one of these from our updates. So we looked at this and we said oh we don't like X86. We're gonna go do something more fun, right? And we put it down. We didn't work on it for like six months. And then 2016 comes along, right? And Jad and I are sitting around and this is really bothering us. You know I have no idea how this works. Like computers are hard. So we just write Elfak an email, right? And in six hours or eight hours Igor responds and it says like here's a long insightful explanation of how IDA works in Turbo 186 and also already disassembled this thing for you. Simple. So this Mars X is basically a piece of handler run on the monitor to update the firmware on the device. And it was like a 200 kilobyte, I think 2 megabyte. And he reversed everything and it was perfectly disassembled and he gave it back to us. So we thought like we'll do something like this with the firmware of the monitor. Yeah. So you know I read his email and I said I'm just gonna do exactly what you did, right? And I got segmented everywhere and nothing worked out and I failed. And then Jad and said let's not do that. Let's be monkeys and press space. So we added a hotkey which if you add like space where like it jumps to different references you won't get a control for analysis but at least it will help you in analyzing things. So if Elfak is looking at it please sorry. So while so we have now we can run code but we want to do our we want to run some kind of code on it, right? So we you we went through the G probe documentation and we found three commands. One is the register read which helps us to read any registers, run code, placing PC anywhere we want and ram write which allows us to patch shell code into the memory and there is no MMU. So this is you can execute anywhere you want. So we there's a concept of AppTest which is basically a unit test inside the monitor. So it creates a context and it tears down the context and does something inside it. Yeah so now that we have this ability to write code into memory and then run code, right? We want to hijack something that seems like it might be useful to see if we can do a very simple hello world. So we found this one function that says you know OSD fill rectangle, right? That sounds like a good idea. We want to just put a rectangle on the screen to see if we can actually do this. Let's patch it using ram write. Right. So John wrote this thing and it turned out to be the grossest code that we've seen to that point. It gets way worse than this, right? So this is what it looks like. And I have looked at this for three weeks.  It will get gross. And John definitely did stare at this for hours and hours. Okay so now, okay now that we are able to dump some memory from the firmware, right? We're looking at the code with some, most of it disassembled, right? We noticed that the virtual memory address map is between this and this, okay? But there are all these far calls to this very mysterious memory region. So we started, we thought like there is no reference to it and we do not understand how to get this code. So we started dumping code. So we wrote a USB dumper and so we took, there is a command which is listed called ram read but we were not able to make it work. Although it works now. So we used a reg read which allowed us to dump two bytes at a time. So imagine like doing those 12 packet transfer to get two bytes out. So I wrote a memory dumper which allowed us to do one megabyte dump per eight minutes. So you remember those 12 commands that you had to do, right? We're doing those USB commands for what is it 100 bytes at a time, right? So we, this is what we did. It was let's dump. John writes the USB dumper. We dump and we wait and we dump and we wait and we dump and it's very slow, right? And then Francois comes along and says like, you guys dump too slow. I'm going to totally do this differently. So he went off and he said, I'm just going to re-implement the UART using GPI opens on the SOC. That's going to be way faster. And we're like, no way that's going to work.  He also hijacked standard in and standard out. So all of a sudden we had a UART over GPI opens on the monitor that not only allowed us to dump arbitrary memory, it also allowed us to hijack all these very important, very useful debug messages. So it is very important, important to know that right now we were working with the assumption that there is only one microcontroller in that SOC. But after dumping the F-thousand range, we realized that it's actually a hardware abstraction layer to talk to another chip, another processor inside the SOC, which, which is called OST now, on screen display, whose main function is to display images on the, on the monitor. But the other OCM, which is on-chip microcontroller, is actually talking to other device, other components inside the SOC and other external interfaces. So the, which is 8000 to 8000 is mapped to with OCM and OST has its own code running inside SRAM and its own kind of processor. Yeah. So at this point, you know, we know that we're now working with just one processor. There's at least two different processors inside the SOC, right? And they communicate using some memory map register that we don't really understand yet. And we kind of hit a wall. So we spent like a million years Googling and clicking on pretty much everything that we're not supposed to, right? Until we found this beautiful site, Doc88, which is a place where people upload, you know, awesome proprietary documents for the internet and stuff. And you'd probably want to open this in a VM, but it did give us the exact datasheet for this chip that we're working with. And from there, we found pretty much everything we needed to know about how this chip worked. And we were right about this assumption that there is an OCM and an OST chip or OST processor and they're completely separate and they work more or less asynchronously from each other. Okay. So now that we have the datasheet, we've done all the stuff, you know, let's try to display a picture, right? Let's get that to work. First, there are three things we have to solve. And if we solve these things, we, we got picture display, okay? We'll have to figure out where to transfer the image to the monitor, right? We have to figure out how to trigger the image display function to, you know, display that image we transferred. And then we also have to figure out, you know, what a color is, right? How the color is represented in, in this monitor. So when you start, boot the monitor, right? Like if this image comes up. So the, the theory was that if you find this image, we will be able to find the code which loads this image and our quest will be over. But we had a dron, sober and very sober professional discussion. Yeah. And after a few hours, we came up with our own analysis and we both said that this is not a deli image. So what is this on? Well, I mean, you know, so we looked at some part of the code, right? This clearly doesn't hold the Dell logo, right? But you know, what about stuff like this on the, on the left side, right? Like maybe that's, you know, some representation of image, you know, what is the thing on the left, right? And if you stare at that for too long, it also does crazy things through your brain. Okay. So then, you know, friends what comes along, right?  And I looked at it for hours and come on, that's obviously an OSD command packet. I mean, don't you see that? Obviously, right? This is just, you know, in memory at runtime, right? Just a big old blob of the binary and John stairs at this thing. And he says, obviously, this is this structure. So this OSD command packets allows the OSD to display packet anywhere in the screen. You can specify the coordinates. You can specify the size. You can specify the color, how many bits per pixel have to be used. And what we understood after a lot of reverse analysis of the IROM, which is the hardware detection layer, this is how it actually works. So you write the OSD packet inside the OCM virtual memory map and then you engage a DMA engine to map this memory over to the SRAM of OSD. And as along, like as OSD is working asynchronously, it reads the packet and displays the image. And the similar way you can transfer the image to the OSD using the DMA memory mapping. So this solved our first two questions, which was transfer and display image, right? And the APIs which were used to do this was SD RAM read to check verify our write and the SD RAM write, which helped us to do all this. And this is what we came with. This is probably the most gross blinking box blinking program I have ever done. And if you look at it for hours, I have definitely wanted one. Hold on. Wait, you got to see it. You guys all have to watch this with this now. Wait, hold on. Why doesn't it? So you will see. No, it doesn't want to play. Hold on. No, no, no. You're not going to get. I just want to come up.  You got to watch this video. Okay, so as you see that the block, I'm able to like move the box around anywhere on the screen. That's so nauseating. There was a blinking bug, which I figured out after recon. All right, but this is after days of looking at this nonstop. So the last question we have to figure out, you know, what is a color, right? I mean, is a 32 bit color? How is it represented? So we did the reasonable thing and filled a rectangle with rows and rows of, you know, colors, incremental value from zero, one, two, three, four, etc. So instead of getting very similar colors, we got these colors, right? So, you know, why is color zero, this basically the same as color two, why is one totally different? Okay, and we didn't really know. Let's do some science. We take a tiny little microscope and we point it at specific pixels in order for us to figure out what, you know, color gets rendered into what pixel value. So we filled every rectangle with the value 0x33. Okay, and this is what we saw. So if you look at it, like R is blank, G is 100%, and B is 100%, right? So this is, you know, individual pixel cells that we're looking at. And then we said, okay, let's do instead of, you know, the same pattern we do 0x33, 0x00, 0x33, 0x00. So John, how many bits does the monitor use to represent each color? It all is. So if you see zero represents transparency and there are two pixels missing, so it's four bit per pixel, right? And then how do you encode colors with four bits, right? In normal RGB world, each color, each component is represented using 8-bit and there is an alpha component, so it represents a 32-bit color. So how do you do this on? Yeah, so right, if you have four bits, then you can have one bit for R, one bit for B, you know, etc. And that's clearly not what's happening here. So it turns out this monitor uses a thing called color lookup table, which is basically this index structure, right, that uses four bits to index into 32 bit colors. So this allows you to save space, right? You can have at most 16 different colors, but you can have colors that are 32-bit deep. So now the big question is, how, where is the lookup table? Can we change it? Can we modify it? And then we did a very, you know, again very sober, very collaborative work with Francois, right? And we did this for days and days to try to figure this out, where he dumped lots of memory and we helped a lot. And like two days later, okay, we finally find the structure that we think is the lookup table. So it works in a similar way, how we were transmitting the images in the command package. So you generate a specific color lookup table structure and you write it to the OSM memory, memory map that memory region over to the SRAM of OSD, OSD picks it up and displays the color for that specific image. Okay, so we have everything we need. Okay, we're gonna display photo and we did it. Okay, so look at that. We have tiny little SSL locks. We have as many as we want wherever we want. And that was sort of the point of this, right? But I looked at it and I said, we still have only 16 colors and that SSL lock actually had something like 26. 26 colors. So that's not enough colors John. We gotta get more colors. It has been really hard now. Yeah. So we went through some docs and we figured out like the hardware does support at least 8-bit per pixel. So and till recon we didn't have, we had only 4-bit per pixel but now we have fixed up to get 256 colors and the code is submitted into GitHub. But after going over more analysis of the documentation, the register documentation list we found, we found a break point. So which means that we can halt the monitor, figure out everything and this is after like 90 percent of the research we have already done. And we have spent like weeks on it, even months and now if we would have access to this break point, we would have finished it in probably like one and a half weeks or two weeks. Yeah. So at this point, Jad and I just kind of like put our hands up in there. I was like, I can't believe we missed that one. That's terrible. You know, so we said like interns, go do the rest of it. Right? Break point everything, reverse it, tell us what it is. In front so I help. So the interns went out, dumped the stack, dumped the heap, found pretty much everything we needed to do all the demos that I'll show you later. And then we find the treasure. This was very surprising because we, the OSD should be allowed to display a pixel on the image, on the screen but it is very surprising that it has the capability to read pixels anywhere on the screen. And what can you do with that now? Yeah, we'll talk about that in a little bit. So we presented some of this research at recon and after the presentation, people who actually knew how monitors work came up to us and said like, hey, stupid, you don't actually even need the USB cable because, you know, there are ITC channels on DVI, HDMI and DJI, et cetera. So we actually ported the code to run over the ITC interface and now our demos do not require USB at all, although it can be done over both channels. And that stuff is on GitHub today. Now, let's have some fun with it, right? Let's make a monitor implant. So let's assume that we have a very simple base implant in the monitor. Okay, and let's also assume that I'm a sneaky guy and I have control over a pixel. Right, so if I blink the pixel, I should be able to transmit data to my, you know, base monitor implant and I can do something very much similar to a command and control, right?  Now, we take this pixel, we put it on the internet, right? And as we know, the internet is used for one thing, right? So we can put this pixel on photos of cats, right? We can do YouTube videos of cats.  And once we do this, we can distribute this pixel down to millions and millions of monitors and we can update them all at the same time and we can have direct command and control down to those exact monitors, okay? And within our organization, this is commonly known as cat-based world domination plan number seven, okay? Now, so in the end, what do we do? Okay, we figured out that we can change whatever pixel on the screen, whatever we want. We can also see every pixel on the screen, which is really cool. And for those folks who have followed our previous research, we even got Fontana to work on the monitor as well. But that's its own conversation that we'll have later. So, you know, enough talk, right? We're going to do some demos, okay? And then first I have to figure out how this works. There you go. We swear there's an actual monitor under this table and the demo is now rigged. But shooting a camera at the monitor is a little bit difficult. So does it work? I think you should put on this thing. All right. Okay. So, I'm going to talk from the table. Yeah. So first I'm going to show you how to put random people pictures on the screen and you can not remove it. So I'm going to, so this is Shakeeb as we talked about and his picture is going to be on the monitor. So this is a typical, you know, you've been to a machine, no administrative privilege and we're just showing, you know, putting an image on the screen. Now we didn't do this in GitHub but we can actually make this permanent.  My second attack will be, you all know about 4chan, right? And it is not, it doesn't have any TLS capabilities but I'm going to give it to you. We're going to secure 4chan for everybody. We did. So check it out, right? Can you like move it a little bit if you can see that closely, right? So we get to put SSL locks wherever we want and if we just line it up, right, it would be right on the browser where the SSL lock ought to be. So now 4chan has SSL. So yay. The next attack will be the you, if you guys know about my interfaces where, you know, in power plants and how an operator determined what has gone wrong in a power plant system or a nuclear efficient system. So if you look at that green light it tells that, that whatever gun battle is perfectly working fine but I'm going to change that too. Right, so what if we were able to show the different status of the industrial control system just by changing the pixels that said this pump is good, this pump is bad. What if we are able to change the operator's behavior just by changing the pixels on the monitor, right? We have a fundamental trust of, you know, we trust that whatever pixels coming out of the computer would be displayed on the monitor and we're seeing that this is actually not even true. Okay, so the last one I'm going to do is we're going to show the Blinky pixel command and control, the thing that we talked about. So on the left side, right, we have a PayPal page or a PayPal account. I don't have any money in this PayPal account which is really sad. Jaiden's going to change that for me, right? I'm going to put how much money do you want? Like a million dollars. Okay, let's do it. One million dollars. All right, so I also gave it SSL protection at Fishing Page. Right, there you go. And I put a million dollar on it. And the way this is working is there's a tiny little Blinky pixel on the right screen that's communicating to the monitor, telling the monitor to put this image at the specific pixel value and we can do this of course in real time. But Aang, I don't want to give you a million dollar. I want to change it now. No. No, let me let me. So what we are doing is we're gonna, so let's suppose if you're going, we're gonna send a command and control packet from our server. Okay, so anyway, that's the demo, right? And all the all the code that went into this demo is up on our GitHub. It's working, is it? Okay, yep. Yeah? Okay. No. Nope, it's working now.  No, yeah. Okay, so anyway, all the code that went into this demo is on GitHub already. The link is on. Okay, so let's talk about what this means, okay, implication-wise. You know, the first question is, how big is this problem really, right? We looked at a single on-screen display implementation for one type of monitor. You know, we certainly found some vulnerabilities in it but, you know, is this a pervasive thing? So to answer that question, we bought four other types of monitors that are very common. You know, they're on the budget end of things, 24 inch monitors that are approximately between $100 to $200. Okay, we looked at Samsung, Dell, Acer, HP. And what's inside these guys, these chips, these boards, the bad news is they're not SD micro, they don't run G code or G probe. The good news is this one is Amstar, that one is Amstar, this one is also Amstar, and so is this one, right? So it seems like Amstar is, you know, a very pervasive, very popular OSD controller that's used in the lower the cheaper segment of the market. And it turns out this really cool dude named Alex Boglin already did all the work for us. So he figured out the way to do firmware updates to all the Amstar on screen controllers. And this is actually a feature inside the Linux kernel now, right? So that's the link, this work has already been done. So it looks like the same type of vulnerability that's fundamental to the Dell monitor is also within, it's also inside all of these other Amstar monitors, which means, you know, we probably made more than a billion monitors, right? So in the last 10 years, and most of those it looks like will be vulnerable to some type of attack like this. Okay. And the next question is, you know, how practical is this attack?  But keep in mind that we don't have to have any privilege on the computer in order to launch this type of thing. So any unprivileged code execution will allow permanent persistent firmware modification inside the monitor, right? And the last big question is, you know, how realistic is this fix, you know, because the way to fix this now, right, without a physical recall would be to have the vendor distribute a firmware update tool that patches some of these, you know, insecurities about firmware update and code execution. Okay. But if they did that, they would also release exactly the algorithm and the protocol for updating all the firmware on all the monitors. So this is not exactly a simple thing to do. And, you know, this is something that I would like the community to talk about, you know, is monitor security important? I think it is. How do we actually secure the monitors that we have now, right? And how do we build more secure monitors in the future? So that's pretty much my presentation and I have to say this, you know, we're from Rebel and Security. We do embedded security stuff when we're hiring. So if you want to do this type of research, get in touch with us. And also, big thanks to Connor Abbot who did a lot of the demo code, Bob, Jewel, the stuff that wasn't terrible. And Brian also helped a lot in the front row. So thank you very much. This is where the code is for all this work. Check it out.


Today I'm going to be covering how to add a dialogue and how to pause your game to prevent any player input. So we have our game here and it's very simple movement, doesn't have anything fancy, same as with the other tutorial and if you want to check it out how to make it you can follow the description here. And now I wanted that whenever I move the character into a position and I press a key, a dialogue shows up at the bottom and I cannot keep moving so I make sure that the player reads whatever is there and then they can continue playing. So to do that I will first create here on project, project settings, the interact key. We're going to be using action interact, I'll be using the key E which is a pretty common one to use, especially if your player moves with the WASD. So now we need to make the dialogue show up whenever we press the letter E. Here in the code this is the script version, not the visual scripting version but it's super simple. We can add if input is action just pressed, interact so this will happen whenever we press interact. We're going to be loading our dialogue, let's load it here and we load it, dialogue is here under scenes, dialogue box. I did this one on the first dialogue tutorial, if you want to check it out you can find a link in the description or on the card at the top. So now that we have the dialogue we need to create an instance of it, it's called dialogue node, instant. So that creates it. We will also like to move it to the center because if we add it right now it's going to be at zero and I calculated before that the position that we need is a little bit on the middle of the screen, it's the recognition 152 and 332. This should be a good position for the dialogue to show up. Now since we're on the player we want to add it to the parent, in this case the game node, so it's not a child of this and you cannot move it around, so in this case we get the parent and now that is our dialogue. So let's see how it works right now, I'm going to save it, I'm going to play it, I can move around and when I press the interact key I see why this dialogue shows up, the game should be paused, but it is not paused because I can still move. So we need to fix that and Godot has an inbuilt way of pausing things which is by getting the tree and the paused variable equal to true and that's it, your game will pause, nothing will move and if we try it out it's true, like we tried and we created and now I cannot move, I cannot do anything and that's a problem in this case because we really want the dialogue to move. So if you notice whenever you select a node you can set the pause mode, in this case the mode is inherit, that means that whenever the tree is paused on true all its childs will pause as well, if you want to skip this, if you want to make that something can keep moving while you're on pause you can change the mode to process, that means that the process function will keep going on even if the tree is on pause, if you press stop it will stop moving whenever you are on pause and if you press inherit it will check the state of the parent, in this case a tree, if it's the player it will check it on the game, the game will check it on the tree. So we want to change the mode of that node, how do we do that, well we go to our scene, our dialogue box and here in pause we change it instead of from inherit to process and we save. Now let's play this again so I can move and when I press the interact key the dialogue shows up and I cannot move even if I press all the keys the player is paused so now when I press enter to finish the dialogue I'm still frozen there because I forgot to tell the game okay you can resume now. So let's add that at the end of the dialogue, whenever the dialogue ends let's resume the game, so let's go to the dialogue box and here in the script let's search here Q3 this is when the dialogue ends get tree paused equal to pause so we are not pausing anymore and we make sure that whenever the dialogue ends and this deletes itself it will also resume the game so let's try it out again let's go to dialogue opens I cannot keep moving everything is freezing and then when the dialogue ends I can move again and I can open the dialogue again. So this covers a lot of the questions that you guys ask me like how do you act the dialogue me game or how can I make the game to pause while I'm doing this and this is a super straightforward thing super simple to do just remember if you want things to keep moving you need to specify it on the dialogue and on the pause section here in the inspector so stop it will stop process it will keep moving even if everything's paused and inherit you will take the state from its parent so that's it for today and I hope you like this tutorial if you want to support me you can do so on patreon I really like to thank all of you and hope to guys see you in my discord server Twitter or here in the comments if you have any questions or you need anything please remember to subscribe like and all those things thank you and bye


Hi guys, welcome back to my channel. Today, I'm doing my week 16 update of the workout challenge I'm not gonna say Chloe Ting because I actually did a new ab routine. It's called the Alexis Ren challenge I don't know if that's exactly what it is I only have one update when it comes to food and stuff So I'm just gonna say that in the beginning. I wrote it down on this envelope. I know that's kind of weird, but Anyway, so I've been sticking on the low carb diet Except for Tuesday and I'm gonna get into this. So normally on Tuesdays We have Panda Express because it's kind of like a thing that we just say Teriyaki Tuesday instead of like taco Tuesday and I get the Teriyaki grilled chicken with white rice So my mom and I order at the drive-thru we get home like yes, they didn't cheap out on the chicken You know like I got a good amount of chicken. I got the extra Teriyaki sauce It's all in it. So I eat pretty much everything separately.   I know that's kind of weird But I get to the rice part and it is fried rice So I was a little disappointed because I hadn't had my Teriyaki Tuesday in two weeks And it was just like, you know first-world problems instead of eating the fried rice I made some cheddar popcorn for myself because if I'm gonna cheat and like eat whatever I want Like I'm going to have something that I like not something that I'm just kind of like force-feeding myself to just eat So that's the only update with the keto diet. This video is kind of going backwards, but I'll run down my weight Just for fun. I don't know if I'm gonna keep doing this I pretty much stayed the same thing the entire like four or five days. So 512 I weighed 131.5, 513 I weighed 131.3, 514 I weighed 131.3 and 515 I weighed 131.5 so I just I'm pretty much staying the same but also I'm working out I don't know if I'm gonna keep doing the weight because Honestly, like I'm feeling good. I'm looking good and that's really all that matters now I'm going to get into what I did this week. Also. Sorry. I'm like kind of still sweating for my workout today So Saturday the ninth I did the new workout. It was a new 12-minute full-body workout It's the 2020 version. It's not in the playlist, but I still always get what I do So I'm just not even gonna touch that, but it's her newest video. It's full body It's like a 12-minute video and then I did the Alexis Wren ab challenge I was very unmotivated to work out at all on Monday So it was a struggle just like getting me to do that and the first day at the Lexis Wren ab challenge My neck and I still feel it today, but you'll hear that a lot like the first few exercises Oh my gosh, I feel like I'm getting more of a neck workout than an ab workout And then Sunday the 10th I did the 30-minute workout The Alexis Wren ab challenge and the arm workout the toned arms and the second day of the Alexis Wren ab challenge was a lot Better it was just different. I don't know when I say the 30-minute workout. I'm talking about Chloe Ting the only thing that I'm doing different is Alexis Wren's ab challenge. I just wanted to make that clear and then Monday, May 11th, I did the 2019 Shred the really hard one that I die every time on I did that one on Monday plus the Alexis Wren ab challenge like always And then I also did the bra bulge like the back fat exercise of Chloe Ting because I have just a really short torso and it just Likes to congregate back there then Wednesday at the 13th. I did the 15-minute Chloe Ting full body workout It's the do this every day to lose weight. I did that exercise and then I did the Alexis Wren ab challenge Wednesday is kind of like my Easy workout day just to like get moving because I worked so I just sat on my butt all day Also, I didn't even say this but on Tuesdays Obviously don't work out if you've watched any of my other videos moving on to Thursday Nothing there because I don't work out as well And then on Friday today with a pretty challenging day because I did the 30-minute full body workout of Chloe Ting I think it was like 2019 and then I did the Alexis Wren ab challenge, which is still like my neck I feel like I'm working out my neck muscles. Maybe this double chin thing will go away and it is going away Maybe it's because of the Alexis Wren ab challenge. I don't know and then I did the Back workout so the back fat workout that I just kind of talked about I did that and then I also did the booty workout with my Resistance band. I'm still on the easiest level because I can barely get through it. Yeah, it's it's a struggle That's pretty much it. I guess my overall review of the Alexis Wren ab challenge I don't think I have a lot of before and after photos. So I'll just put on the screen I did I think a boomerang of like saying oh day one So put the boomerang and the picture that I just took together so you can kind of see I don't know if there's a huge difference I'm honestly gonna give Chloe Ting a lot of the credit because I've been doing Chloe Ting's workouts for so long There's Valerie. I've been doing Chloe Ting's workouts for a very long time. So I feel like I've gained muscle and everything I haven't been working out Yeah, oh and if you okay if you see this pink ball, let's just talk about this real quick if you see this pink ball In my videos, it is not mine. It's Valerie's so Yeah, okay Yeah, it's part of her workout routine So I'm gonna give a lot of credit to Chloe because my core is strong because of Chloe I could get through Alexis Wren's workout, but I could only do that like if I was starting out from scratch Oh, man, Alexis Wren's workout would be super hard. She doesn't give you any breaks, but The biggest thing is like the neck thing But overall, I think I'm gonna continue her ab routine because I like it That's my two cents on the Alexis Wren ab challenge next Let's move on to the photos because I know that's why you guys are here on the left is Alex last week On the right is Alex this week this the front version everything's kind of looking the same I don't know. Anyway, you can tell me in the comments Then here's the side view of that Alex on the left is last week Alex on the right is now then moving on to pre-workout Alex photos so on the left is pre-workout Alex and on the right is current Alex and here is the side view of that So I hope you guys enjoyed this video. Make sure to give it a thumbs up. Don't forget to subscribe to my channel If you haven't seen who won the giveaway I picked a giveaway winner today So it will be on that video. So go check out that video. I'll have it linked down below and that is pretty much it So I'll see you guys in my next video. Bye


Next question is from Shelby Perser. What's the best advice I can give to my sister who just recently found out she's diabetic? You know, so step number one, I would do this. Have her trained to build muscle, and here's why. Building muscle is a phenomenal insurance against diabetes, or at least getting your body to manage its blood sugar and how it reacts and responds to insulin. Muscle uses up glucose and glycogen, it stores it. It's a very active tissue. When you build muscle, you'll find I found clients have to use, for people who are type one, have to use less insulin, I've seen other clients use less medication to bring their sugar down because now they've built muscle. So building muscle, very important, it makes a huge difference for diabetics. As far as diet is concerned, there's a lot of mixed messages you get out there. Some people would say, study show going real low carb is the best thing. Other people would say, well, studies actually show eating lower fat is a good thing. Here's what they all have in common. They're not overeating.  You don't need to get shredded, but in a healthy body fat percentage range. Not overeating, avoiding heavily processed foods, because that really encourages overeating. Avoiding, because you're automatically avoiding heavily processed foods, you automatically avoid things like lots of sugars and lots of added sodiums and stuff like that. You'll find that it'll be easier for her to manage her diabetes. And I've even seen, and I'm not saying this will happen to your sister, but I've seen with friends of mine where they've really done this and taken this seriously and over the course of a year. Got rid of it. Yeah, got to the point where it was barely measurable or not measurable at all because they did those things. Well, first of all, I'm not a doctor and I'm not a nutritionist. So definitely, I think you should seek out somebody that is a professional in the field for sure. And we're talking about an individual that I don't know anything about other than what you're just telling us right here. But I will share with you some generic advice that has worked for many of my clients. And that's similar to what Sal said. As far as nutrition, a paleo-esque diet has worked best for me with clients like this. So like in eating like a paleo type of diet, it's not super, super low carb, but you're making better choices as far as your carbohydrates. It's moderate protein, moderate fat, whole foods. So I think it's a really good place to start nutritionally, generic answer, right? And then as far as like exercise is getting the weight down. I've seen many people that are either borderline diabetic or become diabetic. And because we're on top of it right away, that six months of training or without, we can completely eliminate that. And through losing body fat, getting their body fat down a lot of times we'll do that. So I would look into a nutritionist or following a nutrition routine similar to something like paleo. And then I would just really focus on being in a caloric deficit and focus on building muscle like Sal said. And those two things should hopefully combat this.


So as a trader, you need to first identify which patterns fit your personality, which strategies fit your personality. And based on those setups, if they are showing up, if they are, if the pattern is there on that day, how are you going to size in accordingly? When I first started trading, I would use the same size in every single stock and I make money one day, lose money one day, make money one day, lose money one day. Now I trade based on the opportunity. So for bed bath and beyond last week, I was using 300,000 shares for Expon today, I use like 3000, 5000 shares, right? Like nothing, right? So I'm betting exponentially based on the opportunity that I see in front of me. And if I don't see that opportunity in front of me, I'm sizing down.


So it seems to me we always have this common thread causing most of the problems in medical education, student debt. Welcome back to the channel, everybody. For those of you who are new around here, my name is Michael, aka Dr. Cilini, and I am a board certified diagnostic and interventional radiologist in New Jersey. Now, for some reason, since I recently started talking about finance, building wealth, planning for your future, retirement, all that good stuff on my channel, people have been coming out of the woodwork with negative comments. They say I'm only in it for the money or I should be spending more time learning how to be a good doctor or that I went into medicine and became a doctor for all the wrong reasons. Now, this is kind of ridiculous seeing as becoming a doctor and loving your career and your patients and also building wealth are by no means mutually exclusive. The whole reason I talked about this stuff on my channel is to shed some light on these topics and maybe provide someone with the ability to love their career and prevent burnout. But these negative comments did make me think about something. Is there any downside to the healthcare system in society if doctors decide to become financially independent, prevent burnout by working less and ultimately retire early or at the very least go part time? Will this have an overall impact on healthcare? Will doctors becoming financially independent and retiring early ultimately affect the healthcare system as a whole? This question crossed my mind which prompted me to do some pretty intense research. So let's get into the video. By now you may have seen my recent video talking about the US physician shortage and if you haven't seen it I'll leave a link up to the video here. In this physician shortage is the reason why the US government is addressing the doctor shortage head on and paying for a thousand new residency spots over the next five years. And of course the money for these new residency spots will come from Medicare which provides health insurance for people over 65 years old but it also covers residency spots as well. And if you wanna read more on this topic I'll leave a link to a very good article on this subject below. So like I mentioned prior if you have a physician shortage with the increased demands placed on physicians and other healthcare workers currently which ultimately leads to burnout will more physicians start to retire early and focus on financial independence and will this further add to the physician shortage? Well a plastic surgeon by the name of Jordan Frey doesn't think so and I kind of agree.  Well he's the author of an op-ed piece that I recently found while doing research on this topic. And it's actually pretty good and touches on a few good points and I'll leave a link in the description below and I will also talk about that article in this video. So Dr. Frey basically mentions that all the reasons doctors are being discouraged from practicing medicine are all the things that cause physician burnout such as loss of autonomy, decreased reimbursement, increased administrative responsibility, et cetera. And the answer to avoid all of these things that cause burnout is to gain financial independence and maybe retire early or at least cut back on your work hours. So what is financial independence and retiring early? This is also called FIRE, F-I-R-E or financial independence retire early. The author gives a quick example to strengthen his point which we'll touch on here. Imagine you are a doctor that is very unhappy in their current medical practice but you stay at your job. But why? Why would you stay at your job if you're so unhappy? Well, the reason is you need a paycheck and you need a paycheck to survive. So what if all of a sudden you didn't need that paycheck? Imagine you could practice medicine the way you wanted to and not because you need to AKA how medicine is intended to practice. If this were the case, you could practice as you choose and make the necessary changes to improve your job satisfaction or you could leave your job altogether and find a better practice that would fit your needs regardless of your choice, you would be doing something to make you happy and a happy doctor means you have happier patients and ultimately better patient care. So why is gaining financial independence often misunderstood amongst physicians? Why is it frowned on by the older generation? Well, for most of us we become physicians to help people. We sacrifice a lot of time and energy to do so and most of us don't wanna give that up. Well, there are some but most physicians don't wanna give that up because we worked really hard to get to this point. However, becoming financially independent is a way for you to practice medicine as you choose and as freely as you choose. This would allow doctors more time and energy to put into systemic changes or helping patients or furthering better research or even spend time improving access to patient care. This is why the author believes that gaining financial independence is a cure for the physician shortage, not another contributor for it. Furthermore, I know we talked on this subject a lot but imagine how many young intelligent people would go into medicine if student debt was not a thing. Imagine you didn't have to worry about student debt and becoming financially independent as a young physician was actually attainable. We would have more doctors practicing medicine the way they want to and not just because they have to. This would ultimately benefit healthcare in a very big way. And trust me, I did a ton of messages from students in high school and also students in college who are actually very concerned about student debt and taking on such a large financial burden just to go into medicine. I think it's actually a way bigger deal than we probably think. It seems kind of counterintuitive. Like wouldn't you want to provide any means necessary for bright minds for our future to practice medicine? It seems so backwards. Opening more medical schools through funding from the executive branch will unfortunately not help the physician shortage as intended because more medical schools operating in the current model will only discourage more doctors from going into the fields needed most such as primary care and pediatrics. And this is due to the climbing debt and decreasing reimbursements which is anti-fire formula against financial independence and retirement early. And I have to admit, I had never actually thought of it this way. If we continue the current massive debt trajectory that we're currently in and we are opening more medical schools to allow for more physicians to be created in the US, it won't really do much because most people will still likely go into subspecialties because they tend to pay better which allows you to actually pay off your student loans. So we're kind of just in this perpetual circle here with no solution. So it seems to me that we always have this common thread causing most of the problems in medical education, student debt, student debt. So how do we combat everything I just mentioned without doing anything about student debt or burnout? Well, we learn how to become financially independent which is why it's so important for medical education to at least teach the bare minimum on personal finance and wealth management. If we aren't doing anything about the larger issue at hand, AKA student debt and burnout, we have to take matters in our own hands and find a way around it, AKA becoming financially independent. And this is the exact reason why I talked so much about these topics on my channel and why I've essentially transitioned my channel into mostly talking about these subjects. Maybe at least one person will pick up on what I'm putting down and maybe they'll learn something and it may help them out on their financial journey going forward. So how ultimately do we even start this journey of becoming financially independent or even learning about financial independence or financial education? Well, you do the same thing you did to learn medicine. You learn it on your own.  Educate yourself, watch YouTube videos, become interested, read books, become a member of forums and surround yourself with people who think the same as you. Do the exact same thing you did in order to learn medicine, but only for finance. The funny thing is that fire or financial independence in retiring early is actually pretty simple. Save, don't spend beyond your means and invest wisely. Eventually you will be able to practice medicine on your own terms and retire as you see fit. You will not only improve your financial status but also your own health and ultimately bringing more joy to you and ultimately your patients. And that officially concludes this video. Hopefully you all enjoyed it. Hopefully you learned something and maybe it motivated you to go out there and do some financial research, get some financial education under your belt and focus on becoming financially independent. So as always make sure you smash the like subscribe button follow me on Instagram and TikTok if you don't already and watch our podcast that we've been putting out every single week with Chalini rounds and otherwise I'll see you all on the next video. Bye.