Our site is reader-supported. When you buy via the affiliate links on this site, we will receive a commission at no cost to you. All opinions remain our own. Learn more

Sovol SV06 Review: The Best Prusa Clone?

Sovol SV06 Review Summary
Despite its plasticky and somewhat outdated appearance, the Sovol SV06 is a great 3D printer. It offers features that are usually only found on more expensive machines, like an all-metal hot end, auto bed leveling sensor, and a PEI-coated build plate. Its build quality could be improved, but for the price it is more than acceptable.
  • Impressive print quality for its price
  • Auto bed leveling sensor
  • Powerful planetary-geared extruder
  • Flexible PEI-coated print surface
  • All-metal hot end
  • Sensorless homing
  • Quiet during operation
  • 32-bit controller with TMC 2209 drivers in UART mode
  • Weak print cooling
  • Extruder is not able to deal well with flexible filaments
  • No filament runout sensor
  • No touch screen
  • Print surface grid paint comes off at high temperatures
Full StarFull StarFull StarHalf StarEmpty Star
Build Quality
Full StarFull StarFull StarEmpty StarEmpty Star
Print Quality
Full StarFull StarFull StarHalf StarEmpty Star
Ease of Use
Full StarFull StarFull StarFull StarEmpty Star
Full StarFull StarFull StarFull StarHalf Star
Full StarFull StarFull StarHalf StarEmpty Star
Notification icon
Check out the latest deals for discounts on the Sovol SV06!

Sovol is a 3D printer manufacturer that is known for its low-budget machines. With their previous SV01 and SV03 models, they’ve shown that they can put out decent 3D printers that don’t cost an arm and a leg.

A noticeable pattern in Sovol’s 3D printers is that they are heavily based on other manufacturers’ designs. For example, the SV03 heavily leans on the design of Creality’s CR-10, albeit with some improvements.

Sovol’s newest offering, the SV06, is no different. From its overall layout to the build volume, motion system, and component design, it is all very similar to the Prusa i3. In fact, the machines are so similar that we can easily call the SV06 a Prusa clone.

At less than a third of the price, however, and with a couple of noticeable improvements, the Sovol SV06 could be a great alternative. Whether that is the case is something we will look at today.

In this Sovol SV06 review you will see how well the machine is designed, what you can expect from its build quality, and what kind of print quality it offers.

Sovol SV06 Specifications

Sovol SV06 Specs
Price Sovol | Amazon | AliExpress
Interface Language English
Print Size 220x220x250mm
Build Plate Size 235x235mm
Print Method TF card / USB connection
Layer Thickness 0.1-0.4mm (Adjustable)
Nozzle DIameter Standard 0.4mm ( Adjustable)
Recommend Print Speed ≤80mm/s
Max nozzle temperature 300 °C
Bed Temperature 100 °C
Material Diameter 1.75mm
Support File Format G-code
Machine Weight 9 kg
Package Size 525x540x220mm
Package Weight 10.4 kg
Voltage input 115v/230v
Voltage output 24v
Operation System Windows/ Mac/Linux


The unboxing of the Sovol SV06 is simple. The machine comes partially pre-assembled and is well-protected against shipping damage with several layers of foam.

One thing to note is that there is a bit more to unbox than usual. Because the power supply and electronics are not pre-installed inside of the 3D printer itself, they come as separate components to unbox.

As for the complete list of components, it is as follows:

  • Sovol SV06 base
  • XZ gantry
  • LCD screen assembly
  • Print head assembly
  • Power supply
  • Spool holder components
  • Hex wrenches
  • A small sample of white PLA filament
  • Screws for assembly
  • A variety of 3D printer accessories
  • TF card with USB adapter
  • Documentation
  • Power cable

It’s all common stuff that you would expect to find with a 3D printer kit. The only notable thing missing is perhaps a USB cable. But since this is a common Micro A -> Micro USB cable, you are likely to have one lying around if you happen to need it.

Getting Started with the Sovol SV06

As a partially pre-assembled 3D printer, the Sovol SV06 will require assembly before it can be used. Because of the aforementioned loose power supply and electronics box, this takes more time than similar 3D printers.

The included instructions cover the assembly process fairly well. Even if this is your first time assembling a 3D printer, you should be able to get it done without too much trouble. The steps and associated components are clearly labeled, so there is not much room for error.

After the assembly, it is important to tighten the X- and Y-axis timing belts by hand. They are likely to have loosened during shipping.

This step is not mentioned in the manual and definitely should not be skipped. Not doing this can result in the belts skipping and affecting print quality.

Next is to follow the instructions for auto-aligning the Z-axis steppers, setting the probe offset, and leveling the bed. It is key to follow these steps correctly. Doing them in the wrong order will throw off the calibration.

After that, you should be all set and ready to print!

Sovol SV06 Features

For its current price, the Sovol SV06 provides a lot of features and bang for the buck. You’ll be hard-pressed to find another 3D printer under $300 that offers you the same. Let’s look at the standout features.

Planetary Direct Drive Extruder

It’s always great to see a budget 3D printer use a direct drive extruder as opposed to a Bowden one, but the Sovol SV06 takes it a step further by using a planetary-geared direct drive.

Geared extruders offer better performance than regular direct-drive extruders. They can apply more force to the filament and can extrude with more precision. Both of these factors result in better print quality.

Whereas many cheaper 3D printers, like the previous Sovol SV01, use a Titan-style geared extruder, the planetary-geared approach of the SV06 leads to a more compact design. All gears are located internally, so no gears are sticking out anywhere.

The exposed gear on Titan-style extruders is useful to manually turn for loading filament in or out of the hot end, but Sovol included a large wheel on the front of the SV06 print head that lets you do the same. It’s a lot easier to use and less painful on the fingertips.

One shortcoming that we noticed on the SV06 extruder is that it can be difficult to insert filament. The path towards the filament drive gear is not well-constrained. As a result, it is easy for the filament to take a different path and get stuck.

This was particularly an issue when we tried to 3D print with TPU, which we ultimately had to give up on. The 92A filament we used was simply too flexible to direct into the filament drive gear.

We were successful with PLA, ABS, and PETG, but flexible filaments took too much time to get working. You might be able to do it with enough patience, or by constraining the filament path in the extruder somehow. But for us, we had to move on with our testing.

Print Cooling Fan

Another limitation of the extruder, or more of the print head itself, is that the print cooling fan input faces downwards and sucks in warm air from the print bed. This is similar to what we saw on the Ender 3 S1 lineup, even though those 3D printers still have the cooling fan mounted at an angle.

This positioning, in combination with the fact that the Sovol SV06 only uses a single small (40×40 mm) blower fan, leads to decreased print cooling performance.

As you will see in our test prints below, you will sometimes have to increase the print time per layer to ensure that the previous layer has properly cooled down before the next one is laid down.

This is not ideal, and we would love to see Sovol include a better print cooling solution in their future line-up.

All-Metal Hot End

Whereas many low-cost 3D printers come with a PTFE-lined 3D printer hot end, the Sovol SV06 has a proper all-metal hot end that can reach temperatures of up to 300 °C.

If you want to print with filaments like ABS or nylon, you will need an all-metal hot end. This is because PTFE starts to degrade at temperatures around 250 °C. With the hot end of the SV06, 3D printing high-temperature materials is not a problem.

The heat break on the SV06 hot end seems to be the same bi-metal heat break that is used on the SV01Pro, SV04, and SV05.

Bi-metal heat breaks promise less heat creep and higher maximum extrusion rates but do need to have a high manufacturing quality to work as advertised. Given that Sovol sells these heat breaks for $13 per 3, the quality likely isn’t that high.

That said, we haven’t run into any issues with the heat break’s performance in our testing. The same goes for the rest of the hot end and extruder. Aside from the print cooling aspect, the whole print head of the Sovol SV06 performs great.

Automatic Bed Leveling Sensor

The Sovol SV06 uses an inductive bed leveling sensor to measure inaccuracies in the print surface. With that information, the firmware automatically adjusts the Z height of the extruder to ensure that the first layer is perfectly squished.

We are happy to see that bed leveling probes are starting to become more standard on 3D printers under $300. Upgrading your 3D printer yourself with a bed leveling sensor, like a BLTouch, can be a hassle. Running the machine without one altogether just leads to unnecessary frustration.

Compared to other types of bed leveling sensors, an inductive probe is not the most accurate. In practice, however, it is more than good enough for what it needs to do. It also has the benefit of coming without moving components that wear out.

A downside of inductive ABL sensors is that they can only detect metal. So if you want to switch to a glass surface, for example, to get a smooth texture on the bottom of your 3D prints, the sensor won’t be able to detect the bed.

For use with the included PEI-coated flexible steel bed, however, the inductive sensor does a great job.

PEI-Coated Print Surface

Flexible PEI-coated print surfaces have quickly become our favorite material to 3D print on. They provide great adhesion while making it easy to remove 3D prints. A perfect combination.

We are happy to see one included on the Sovol SV06, as not all 3D printer manufacturers offer one, even at higher price points. For example, Creality’s new Ender 3 S1 range only has a PEI-coated bed on the top model, the Ender 3 S1 Pro.

The PEI surface of the Sovol SV06 works as all others—very well. It also comes with an imprinted grid on the surface, which is something we haven’t seen before.

After 3D printing with ABS, we quickly figured out why this is not common. At high print bed temperatures, the white paint came off and stuck to our 3D print.

We’re not sure if this happens with all filaments at the maximum bed temperature of 100 °C, or (our) ABS is just very sticky towards this kind of paint.

It’s a bit of an annoying issue, especially if you plan on 3D printing a lot of high-temperature materials. The easiest way to deal with this would be to run a couple of full-area one-layer 3D prints to remove the paint altogether.

Temperature Uniformity

A thermal image of the print surface of the Sovol SV06

As expected from a 3D printer at this price point, the print bed of the Sovol SV06 has some areas that don’t reach the target temperature. Three out of the four corners show a cooler temperature compared to the center.

The majority of the print surface is still within acceptable temperature limits, so you’ll be able to print in these areas without worrying much about warping.

Notification icon
The grid and logo on the print bed show as if they have a higher temperature. That’s an effect caused by the emissivity of the paint. It is different than that of the PEI coating. The temperatures of the painted surfaces are the same as those of the PEI coating itself.

Build Volume

Not surprisingly, the 220x220x250 mm build volume of the Sovol SV06 is similar to that of the Prusa i3 MK3S+ (210x210x250 mm). The extra 10 mm on the X- and Y-axis is nice to have, but won’t make a big difference for most users.

The 220x220x250 mm build volume is also identical to that of the Anycubic Kobra and Creality Ender 3 V2 Neo, so the Sovol SV06 does not stand out in any way here.

The main reason for all these 3D printers having this print area is that it is more than enough for all basic 3D printing needs. For most people, it’s better to go with something more modest than a costly large 3D printer that takes up significantly more desktop space.

Sensorless Homing

A notable feature of the Sovol SV06 is its sensorless homing. Instead of using traditional endstops, it uses the sensorless homing feature of its Trinamic TMC2209 stepper drivers.

The way this works is by sensing the back EMF (electromotive force) when the axis carriage is at its end. It works well, even though it is noisier during the homing process than traditional endstops.

Auto Z Align

Another nice feature of the SV06 is its support for the G34 Auto Z align Gcode. During calibration, or even before every 3D print if you want, the 3D printer will lift both sides of the Z axis to the top until they are aligned.

This is useful to fix misalignments in the Z-axis. For example, if one of the Z-axis lead screws has been turned more than the other, or if you need to address X-axis sag.

Most other recent 3D printers we have come across use pulleys and a timing belt to keep the two Z-axis lead screws in sync, but this system works just as well, without the cost of additional hardware.

Build Quality and Construction

In terms of build quality, the Sovol SV06 doesn’t offer anything special. At less than $300, that shouldn’t come as a surprise. Sovol has taken several cost-saving measures that reduce the overall quality of the 3D printer.

This is perfectly okay, and what Sovol has done very well is that they have made sure that the most important elements—those related to safety—have not been compromised.


Linear Rods

Something directly inspired by the Prusa i3 is the SV06’s use of linear rods and bearings on all axes. Compared to the more common V-wheels, these are easier to work with and require less maintenance. A drop of Super Lube 51010 once in a while is enough to keep things running smoothly.

The SV06’s linear bearings are not of top quality, however. While they run smoothly, they have wider tolerances than higher-end bearings. This results in a less precise 3D printer.

For the price, the bearings are still more than acceptable. They are also easy to swap out for better ones.

TF Card Slot

One thing we noticed is that the opening of the electronics box around the TF card slot is a bit too wide. This resulted in us often accidentally inserting the TF card into the gap in the casing instead of the slot.

This problem is made worse by the fact that the slot is hidden behind the frame, and therefore difficult to see. A simple fix would be to make the opening around the slot smaller or to use a larger SD card for file reading. It’s a minor annoyance, but still.

Another issue we ran into is that during our firmware upgrade process, the TF card did not work properly. We were only able to manage to get new firmware on the machine by using a different TF card.

If you are running into unexplained issues with file reading or writing on your Sovol SV06, it might be a good idea to try a different TF card as well.

X-Axis Belt Tightening

When tightening the X-axis timing belt, you should make sure not to over-tighten it. Due to the Prusa i3-inspired design, the timing belt tension is directly transferred to the Z-axis rods. So the more you tighten the belt, the more the Z-axis rods get pulled together

It’s not something that can be avoided with this design, so make sure you pay attention to this. If you overtighten the belt, it will put unnecessary strain on the Z-axis rods and bearings. This can lead to premature wear, or even the Z-axis seizing up.

The Good Stuff

Injection-Molded Components

We weren’t sure whether this put this in the pro or con section, but if we are judging the Sovol SV06 as a Prusa-clone, then the SV06’s injection-molded parts are a definite advantage.

The Prusa uses FDM 3D-printed PETG parts, which are not as strong or as precise as injection-molded parts.

Compared to other 3D printers that come with a full-metal construction, however, injection-molded components are still a disadvantage. Their lack of rigidity will impact print quality at higher print speeds.


Unlike the Prusa i3, and like most other 3D printers nowadays, the Sovol SV06 uses a 32-bit 3D printer controller. The board is Sovol’s design—the SV_NL_1.3.1—and is based around a GD32F103 chip, a drop-in replacement for the popular STM32F103.

It is a powerful and Klipper firmware compatible controller board, which is a major advantage. This means you can use it with Klipper pads, like the Creality Sonic Pad, as well.

As for the stepper motor drivers, the SV06 uses the Trinamic TMC2209 drivers. They are silent and driven in UART mode. As a result, the stepper motor current can be set through the firmware without the use of potentiometers. This mode also offers the aforementioned sensorless homing.

For the low price of the SV06, it is amazing to have access to all these features. If we had to nitpick, we would have liked to see a fifth stepper motor driver for independent control of the two Z-axis steppers. But this is not a major issue.

Wiring & Safety

We typically judge 3D printers quite harshly on wiring and safety, and we are glad to see that Sovol has done a great job in this area with the SV06.

For example, high-current connectors have been crimped with wire ferrules, removing the risks that come with the alternative—tinned wires.

At the same time, all connectors and plugs on the 3D printer controller board have been applied with hot glue to prevent them from coming loose from the machine’s vibrations over time.

The print bed also comes with proper strain relief to prevent its wires from wearing out and causing a fire. You’d think that would be standard at this point, but we found it missing on the Longer LK5 Pro recently.

In short, Sovol had to make some choices to keep the cost down on the SV06. It seems like they picked all the right options, however, and we are glad to see they did not compromise on safety.


The repairability of the Sovol SV06 is quite good. Unlike most popular 3D printers, it has its electronics installed in a box that is mounted to the frame. This makes it very easy to access and troubleshoot when necessary.

At the same time, its open base gives easy access to the wiring. This is often a pain point on 3D printers, as many of them have the wiring routed underneath the frame, making it difficult to access.

We’re not sure how much credit to give Sovol for this, as the design is lifted from Prusa. But for end users like yourself, it is a definite advantage.

The only thing we can see as a possible maintenance issue is that the internal workings of the extruder are difficult to access. Disassembling it to the point where you get access to the drive gear is quite some work.

In our testing, we did not find the need to do this (clogs, jams, etc), aside from satisfying our curiosity, of course.


Ease of Use

Monochrome LCD Screen with Knob

Just like the SV01 and SV04, the Sovol SV06 uses a monochrome LCD screen with a knob for menu navigation. With most modern 3D printers having a color touch screen, this monochrome LCD/knob combo looks outdated.

That said, it still works well and is intuitive to use. The knob can be both pressed and rotated for input, so you don’t have to fiddle with multiple buttons.

Spinning the knob faster increases the value you are changing more rapidly, so you won’t spend a lot of time setting temperatures to high values or anything like that. Some touch screens can be finicky in that regard.

The information on the main screen is laid out well and easy to read. Despite the small size of the screen, the most important information you need (nozzle target/actual temp, bed target/actual temp, fan %, position, print progress) is all right there.

If you are looking for a 3D printer for kids, this type of screen might be too confusing, but otherwise, we think it is a perfectly adequate and budget-friendly solution.

I/O Ports

The I/O section of the Sovol SV06 contains a micro USB port and a TF card slot. They are positioned on the left side, behind the frame. We would have liked to see them on the front of the printer, where they would be easier to access.

Also impractical is the position of the power switch. It is located on the right side of the 3D printer, with the power cable sticking out from the same side.

Neither of these things is a big issue, but compared to other 3D printers it makes the Sovol SV06 less user-friendly.

Sovol SV06 Print Quality


Printing the included Benchy GCode gave great results. The overhangs were printed well, with no curling or sagging. The details came out nice and sharp.

Autodesk x Kickstarter Test Model

The same goes for this test model. Impressive performance on the overhangs and bridging, with limited ringing as well.

The delicate features on top show that the SV06 has great flow control, which does not come as a surprise with the geared extruder. There is some stringing, but that’s to be expected. We did not fine-tune any settings to match our specific filament.

Invisible Death

This 3D print is where we ran into the main limitation of the SV06—its poor print cooling.

You can see that the thin features did not have enough time to cool before the next layer was laid down on top. This resulted in some deformation and even a complete breakage of the scythe near the top.

The top of the scythe somehow still managed to print mid-air, but better print cooling would have given better results.

Increasing the minimum layer time in your slicing software also helps with this, but that increases print times. For this 3D print, the minimum print time was set to 5 seconds per layer, which was not enough.

Monarch Glider

3D printing this glider in ABS is an easy way to see how the SV06 deals with high-temperature ABS filament and warping.

The glider printed without any issues and there was no warping whatsoever. Its limited details printed well, although we did have to manually turn down the print speed when it got to the thin tail wing.

As you saw above, the white paint on the PEI coating came off when removing the 3D print. We recommend Sovol uses better quality paint on their future revisions, or skip the grid overlay altogether.


Similar 3D Printers

There are a couple of alternatives to the Sovol SV06 that are worth considering.

Anycubic Kobra

The Anycubic Kobra is Anycubic’s latest 3D printer under $300. Feature-wise, it is very similar to the SV06, with an identical build volume, a bed leveling sensor, sensorless homing, and a PEI-coated print surface

The Anycubic Kobra does have some advantages over the Sovol SV06, like its superior build quality and touch screen.

On the other hand, the Sovol SV06 has a better extruder, an all-metal hot end, and is more silent.

Both 3D printers are great options if you are on a budget. In practice, the Anycubic Kobra and Sovol SV06 perform similarly. Whichever one is cheaper at the time of purchase is probably the better deal.

Prusa i3 MK3S+

As you have seen, we have compared the Sovol SV06 with the Prusa i3 MK3S+ a lot during this review. And for good reason, as the SV06 is a clone of the popular Prusa i3 MK3S+.

Is the Prusa better than the SV06? Absolutely, and there are several reasons for that. For example, the Prusa uses better-quality components, has a more rigid frame, and has better print cooling.

Does that mean you should buy the Prusa? Not necessarily. At over 3x the price of the SV06, the Prusa is not for everyone. In terms of value, the Sovol SV06 might be the better choice. Especially if you don’t mind tinkering and are willing to upgrade the 3D printer as you go.

Creality Ender 3 V2 Neo

Another 3D printer similar around the $300 mark that is similar to the SV06 is the Creality Ender 3 V2 Neo. This upgraded version of the Ender 3 V2 has a few new features, like a flexible print bed and a CRTouch bed leveling sensor.

Compared to Sovol’s SV06, the Ender 3 V2 has a stiffer frame and a more user-friendly LCD screen. But its Bowden extruder and higher price tag are definite drawbacks.

Conclusion: Should You Buy the Sovol SV06?

If you are looking for a feature-rich 3D printer under $300, the Sovol SV06 is one of the best options to get at the moment. The value it offers is impressive, and it is clear that Sovol has put some thought into where to save costs, and where not to—safety.

Despite it being a Prusa i3 MK3S+ clone, you shouldn’t expect the same build quality or performance. That just simply isn’t possible at this price point, and the Sovol SV06 is not meant to be a direct competitor to the Prusa i3 MK3S+.

Even with its shortcomings—the print cooling and the reduced build quality—you still get a lot of 3D printer for your money. The planetary geared extruder, all-metal hot end, PEI-coated build plate, and auto bed leveling sensor are all great features that give this machine an edge over its competition.

So if you are looking for a cheap 3D printer that is still packed with features, the Sovol SV06 is a great choice. Just be aware that you might have to do some tinkering to get the most out of it.

Sovol SV06 Review Summary
  • Impressive print quality for its price
  • Auto bed leveling sensor
  • Powerful planetary-geared extruder
  • Flexible PEI-coated print surface
  • All-metal hot end
  • Sensorless homing
  • Quiet during operation
  • 32-bit controller with TMC 2209 drivers in UART mode
  • Weak print cooling
  • Extruder is not able to deal well with flexible filaments
  • No filament runout sensor
  • No touch screen
  • Print surface grid paint comes off at high temperatures
Full StarFull StarFull StarHalf StarEmpty Star
Build Quality
Full StarFull StarFull StarEmpty StarEmpty Star
Print Quality
Full StarFull StarFull StarHalf StarEmpty Star
Ease of Use
Full StarFull StarFull StarFull StarEmpty Star
Full StarFull StarFull StarFull StarHalf Star
Full StarFull StarFull StarHalf StarEmpty Star
Notification icon
Check out the latest deals for discounts on the Sovol SV06!
Author image
The editorial team at Clever Creations excels in providing cutting-edge news and content on 3D printing, laser cutting, 3D scanning, CNC machining, and more. With a rich background in mechanical engineering, product design, electronics, and content writing, each expert offers in-depth, accessible content that helps you make your projects.

5 thoughts on “Sovol SV06 Review: The Best Prusa Clone?”

  1. I can successfully print TPU 95A with the SV06. YOYI TPU – 210°C 60°C no retraction and less then 20m/s . I can’t understand why many ABS want to print without an exhaust vent and without a housing.
    PLA, PLA+, PLA with filling, PETG and TPU are enough choices for you at home.
    I’m glad I don’t have a touch screen. All functions can be reached quickly and logically with the rotary wheel. If Marlin gets an update then a new menu item can be added. My brother has a different printer with a touch screen. Now after the Marlin update he has connected such a simple display because the touch screen does not add any menu items.
    The printer does not have a runout sensor. But the motherboard has a connector for it. All you have to do is install a runout sensor and rebuild Marlin. Sovol has put the source code branch online.
    But many also remove runout sensors.

  2. Is it possible to connect a filament runout sensor (Smart Filament Sensor) to the motherboard inside?

    1. Hey Mihaly,

      The SV06 uses the same controller board as the SV06 Plus, which has a filament runout sensor. So from a hardware perspective, it is possible to connect one.

      Whether or not the SV06 firmware supports a runout sensor, I can not tell you at the moment. If it doesn’t, you might be able to flash custom firmware.

Leave a Reply

Comments are moderated on a ~24-48 hour cycle. There will be some delay after submitting a comment. Your email address will not be published.

'),a.insertAdjacentHTML(d,e));return document.getElementById(b)};c.prototype._repeatDynamicAds=function(a){var b= [],d=this._removeRecipeCapExperiment.result&&"Recipe"===a.location?99:this.locationMaxLazySequence.get(a.location),e=a.lazy?u(d,0):0;d=a.max;var f=a.lazyMax;e=Math.max(d,0===e&&a.lazy?d+f:Math.min(Math.max(e-a.sequence+1,0),d+f));for(f=0;f=d;b.push(y(y({},a),{sequence:g,lazy:h}))}return b};c.prototype._locationEnabled=function(a){a=this._clsOptions.enabledLocations.includes(a.location);var b=this._clsOptions.disableAds&&this._clsOptions.disableAds.all|| document.body.classList.contains("adthrive-disable-all"),d=!document.body.classList.contains("adthrive-disable-content")&&!this._clsOptions.disableAds.reasons.has("content_plugin");return a&&!b&&d};return c}(),Za=function(c){function a(b,d){var e=c.call(this,b,"ClsVideoInsertion")||this;e._videoConfig=b;e._clsOptions=d;e._IN_POST_SELECTOR=".adthrive-video-player";e._WRAPPER_BAR_HEIGHT=36;e._playersAddedFromPlugin=[];d.removeVideoTitleWrapper&&(e._WRAPPER_BAR_HEIGHT=0);return e}v(a,c);a.prototype.init= function(){this._initializePlayers()};a.prototype._wrapJWPlayerWithCLS=function(b,d,e){void 0===e&&(e=0);return b.parentNode?(d=this._createGenericCLSWrapper(.5625*b.offsetWidth,d,e),b.parentNode.insertBefore(d,b),d.appendChild(b),d):null};a.prototype._createGenericCLSWrapper=function(b,d,e){var f=document.createElement("div");f.id="cls-video-container-".concat(d);f.className="adthrive";f.style.minHeight="".concat(b+e,"px");return f};a.prototype._getTitleHeight=function(b){b.innerText="Title";b.style.visibility= "hidden";document.body.appendChild(b);var d=window.getComputedStyle(b),e=parseInt(d.height,10),f=parseInt(d.marginTop,10);d=parseInt(d.marginBottom,10);document.body.removeChild(b);return Math.min(e+d+f,50)};a.prototype._initializePlayers=function(){var b=document.querySelectorAll(this._IN_POST_SELECTOR);b.length&&this._initializeRelatedPlayers(b);this._shouldRunAutoplayPlayers()&&this._determineAutoplayPlayers()};a.prototype._createStationaryRelatedPlayer=function(b,d,e){var f="mobile"===this._device? [400,225]:[640,360],g=G.Video_In_Post_ClicktoPlay_SoundOn;d&&b.mediaId&&(e="".concat(b.mediaId,"_").concat(e),d=this._wrapJWPlayerWithCLS(d,e),this._playersAddedFromPlugin.push(b.mediaId),d&&this._clsOptions.setInjectedVideoSlots({playerId:b.playerId,playerName:g,playerSize:f,element:d,type:"stationaryRelated"}))};a.prototype._createStickyRelatedPlayer=function(b,d){var e="mobile"===this._device?[400,225]:[640,360],f=G.Video_Individual_Autoplay_SOff;this._stickyRelatedOnPage=!0;this._videoConfig.mobileStickyPlayerOnPage= "mobile"===this._device;if(d&&b.position&&b.mediaId){var g=document.createElement("div");d.insertAdjacentElement(b.position,g);d=document.createElement("h3");d.style.margin="10px 0";d=this._getTitleHeight(d);d=this._wrapJWPlayerWithCLS(g,b.mediaId,this._WRAPPER_BAR_HEIGHT+d);this._playersAddedFromPlugin.push(b.mediaId);d&&this._clsOptions.setInjectedVideoSlots({playlistId:b.playlistId,playerId:b.playerId,playerSize:e,playerName:f,element:g,type:"stickyRelated"})}};a.prototype._createPlaylistPlayer= function(b,d){var e=b.playlistId,f="mobile"===this._device?G.Video_Coll_SOff_Smartphone:G.Video_Collapse_Autoplay_SoundOff,g="mobile"===this._device?[400,225]:[640,360];this._videoConfig.mobileStickyPlayerOnPage=!0;var h=document.createElement("div");d.insertAdjacentElement(b.position,h);d=this._wrapJWPlayerWithCLS(h,e,this._WRAPPER_BAR_HEIGHT);this._playersAddedFromPlugin.push("playlist-".concat(e));d&&this._clsOptions.setInjectedVideoSlots({playlistId:b.playlistId,playerId:b.playerId,playerSize:g, playerName:f,element:h,type:"stickyPlaylist"})};a.prototype._isVideoAllowedOnPage=function(){var b=this._clsOptions.disableAds;if(b&&b.video){var d="";b.reasons.has("video_tag")?d="video tag":b.reasons.has("video_plugin")?d="video plugin":b.reasons.has("video_page")&&(d="command queue");q.error(d?"ClsVideoInsertionMigrated":"ClsVideoInsertion","isVideoAllowedOnPage",Error("DBP: Disabled by publisher via ".concat(d||"other")));return!1}return this._clsOptions.videoDisabledFromPlugin?!1:!0};return a}(function(c){function a(b, d){var e=c.call(this)||this;e._videoConfig=b;e._component=d;e._stickyRelatedOnPage=!1;e._contextualMediaIds=[];b=void 0;void 0===b&&(b=navigator.userAgent);b=/Windows NT|Macintosh/i.test(b);e._device=b?"desktop":"mobile";e._potentialPlayerMap=e.setPotentialPlayersMap();return e}v(a,c);a.prototype.setPotentialPlayersMap=function(){var b=this._videoConfig.players||[],d=this._filterPlayerMap();b=b.filter(function(e){return"stationaryRelated"===e.type&&e.enabled});d.stationaryRelated=b;return this._potentialPlayerMap= d};a.prototype._filterPlayerMap=function(){var b=this,d=this._videoConfig.players,e={stickyRelated:[],stickyPlaylist:[],stationaryRelated:[]};return d&&d.length?d.filter(function(f){var g;return null===(g=f.devices)||void 0===g?void 0:g.includes(b._device)}).reduce(function(f,g){f[g.type]||(q.event(b._component,"constructor","Unknown Video Player Type detected",g.type),f[g.type]=[]);g.enabled&&f[g.type].push(g);return f},e):e};a.prototype._checkPlayerSelectorOnPage=function(b){var d=this;b=this._potentialPlayerMap[b].map(function(e){return{player:e, playerElement:d._getPlacementElement(e)}});return b.length?b[0]:{player:null,playerElement:null}};a.prototype._getOverrideElement=function(b,d,e){b&&d?(e=document.createElement("div"),d.insertAdjacentElement(b.position,e)):(d=this._checkPlayerSelectorOnPage("stickyPlaylist"),b=d.player,d=d.playerElement,b&&d&&(e=document.createElement("div"),d.insertAdjacentElement(b.position,e)));return e};a.prototype._shouldOverrideElement=function(b){b=b.getAttribute("override-embed");return"true"===b||"false"=== b?"true"===b:this._videoConfig.contextualSettings?this._videoConfig.contextualSettings.overrideEmbedLocation:!1};a.prototype._checkPageSelector=function(b,d,e){void 0===e&&(e=[]);return b&&d&&0===e.length?("/"!==window.location.pathname&&q.event("VideoUtils","getPlacementElement",Error("PSNF: ".concat(b," does not exist on the page"))),!1):!0};a.prototype._getElementSelector=function(b,d,e){if(d&&d.length>e)return d[e];q.event("VideoUtils","getPlacementElement",Error("ESNF: ".concat(b," does not exist on the page"))); return null};a.prototype._getPlacementElement=function(b){var d=b.pageSelector,e=b.elementSelector;b=b.skip;var f=da(d),g=f.valid,h=f.elements;f=S(f,["valid","elements"]);var k=ca(e),l=k.valid,p=k.elements;k=S(k,["valid","elements"]);return""===d||g?l?this._checkPageSelector(d,g,h)?this._getElementSelector(e,p,b)||null:null:(q.error("VideoUtils","getPlacementElement",Error("".concat(e," is not a valid selector")),k),null):(q.error("VideoUtils","getPlacementElement",Error("".concat(d," is not a valid selector")), f),null)};a.prototype._getEmbeddedPlayerType=function(b){(b=b.getAttribute("data-player-type"))&&"default"!==b||(b=this._videoConfig.contextualSettings?this._videoConfig.contextualSettings.defaultPlayerType:"static");this._stickyRelatedOnPage&&(b="static");return b};a.prototype._getMediaId=function(b){return(b=b.getAttribute("data-video-id"))?(this._contextualMediaIds.push(b),b):!1};a.prototype._createRelatedPlayer=function(b,d,e,f){"collapse"===d?this._createCollapsePlayer(b,e):"static"===d&&this._createStaticPlayer(b, e,f)};a.prototype._createCollapsePlayer=function(b,d){var e=this._checkPlayerSelectorOnPage("stickyRelated"),f=e.player;e=e.playerElement;var g=f?f:this._potentialPlayerMap.stationaryRelated[0];g&&g.playerId?(this._shouldOverrideElement(d)&&(d=this._getOverrideElement(f,e,d)),d=document.querySelector("#cls-video-container-".concat(b," > div"))||d,this._createStickyRelatedPlayer(y(y({},g),{mediaId:b}),d)):q.error(this._component,"_createCollapsePlayer","No video player found")};a.prototype._createStaticPlayer= function(b,d,e){this._potentialPlayerMap.stationaryRelated.length&&this._potentialPlayerMap.stationaryRelated[0].playerId?this._createStationaryRelatedPlayer(y(y({},this._potentialPlayerMap.stationaryRelated[0]),{mediaId:b}),d,e):q.error(this._component,"_createStaticPlayer","No video player found")};a.prototype._shouldRunAutoplayPlayers=function(){return this._isVideoAllowedOnPage()&&(this._potentialPlayerMap.stickyRelated.length||this._potentialPlayerMap.stickyPlaylist.length)?!0:!1};a.prototype._determineAutoplayPlayers= function(){var b=this._component,d="VideoManagerComponent"===b,e=this._config;if(this._stickyRelatedOnPage)q.event(b,"stickyRelatedOnPage",d&&{device:e&&e.context.device,isDesktop:this._device}||{});else{var f=this._checkPlayerSelectorOnPage("stickyPlaylist"),g=f.player;f=f.playerElement;g&&g.playerId&&g.playlistId&&f?this._createPlaylistPlayer(g,f):q.event(b,"noStickyPlaylist",d&&{vendor:"none",device:e&&e.context.device,isDesktop:this._device}||{})}};a.prototype._initializeRelatedPlayers=function(b){for(var d= new Map,e=0;e