Cost of killing a mob with different weapons (inc. skill based, overkill, regen, amp, enhancers etc.)

scorch

Guardian
Joined
May 30, 2011
Posts
204
Location
From Sweden, living in Shanghai, China
Avatar Name
Elder Scorch Jiub
Entropia Armory

About

I was wondering how much difference the dmg/PEC of weapons actually made, so I made a tool for it.

It allows you to select a mob and see how good/bad different weapons are against it. The most important aspects that I wanted to explore were:

  • How much of an impact mob health regeneration have,
  • Cost of average overkill (based on effective damage).

NB: All data is taken from Entropedia.

Here's the site: http://eldslott.org/entropia
Code is available on github: https://github.com/sovaa/entropia-calc

If you want to contribute, please send pull-requests to the git repository.

Feel free to comment, leave suggestions, criticize, praise and most importantly, if you find any bugs, please post them here! :)

Some things to keep in mind

  • This is sort of beta,
  • If you don't select a mob, no cost calculation is done,
  • If you select a mob with a high health regeneration, the weapons that does less damage per second than the mob regenerates are filtered out (it will be included if the amps/enhancers applied makes the dps higher than the regen),
  • Approx search is like ordinary "=" search, but you can add "*" as "anything here",
  • Regex search is preg_match in php except the "/" in the beginning and the end, so this is valid: "Isis .* \(L\)",
  • Column sorting is done with javascript, so no extra request to the server for that,
  • Weapons with missing skill requirement is greyed out when a hit/dmg skill is included,
  • Unlimited number of filters,
  • Markup on weapons and amplifier,
  • If you check the weapon markup checkbox, you can manually enter another markup value in the input field for that weapon and search again for it to take effect,
  • You can mark rows by clicking on them,
  • Finishers can be suggested if the "Find finishers" checkbox is checked,
  • Alternative amplifiers that will lower the cost is shown in the cost details window,
  • You can get an explanation of the cost by clicking on it.

Known issues

  • In VU 14.3: "Learning period Skill Increase Bonus (SIB) has been extended for several levels after mastering an item." This change has not been implemented in this tool. Any information on exact change would help a lot,
  • Low mob count (fixed: all added),
  • Low amplifier count (fixed: all added),
  • Skill enhancers don't work yet, since I'm not sure how they work,
  • Markup is not (yet!) taken into consideration for finishers; limited finishers are therefore not currently included when finding finishers,
  • If too few filters are used, so that too many weapons are shown (about 500 I think), and "Include markup" is checked, a 414 will occur (the url will get too long with all the markup inputs),
  • Alternative amplifier costs are a couple of pecs off. Check this; A103 is suggested as better, apply it and the A104 will be suggested as better. Might have something to do with markup (fixed: markup was not taken into consideration for alternative amps),
  • Regen speed from Entropedia is used instead of regen time, causing the cost to be a bit off, since the regen speed is a rounded value of HP / regen time (fixed as of 2012-06-16),
  • The markup is not always up to date; no automatic markup import is run, it only gets updated whenever I run a weapons import from Entropedia. You can still enter a custom markup if you know it though,
  • For the cost column to show, a creature needs to be selected; should show as long as the HP/regen boxes has values. (fixed as of 2012-07-02)

Upcoming features and changes

  • A name for the application,
  • A standalone site for the application,
  • Find similar weapons to a selected one,
  • Compare two or more weapons with individual amp, skills and enhancers,
  • Add amp decay per use and sec and amp ammo burn to the result table (added on 2012-07-02),
  • Make available as an app on Entropialife,
  • Make weapon stats editable if you think the stats from Entropedia are wrong,
  • Instead of searching for weapons for a mob, search for mobs for a weapons (added on 2012-11-20),
  • Choosing different buffs,
  • Fix enhancer break rate for UL/L weapons (changed in VU 14.7): "The consumption rate of enhancers attached to unlimited items has been reduced by 50%".

Changelog

  • 2012-03-06: Fixed graphical issue with the help boxes,
  • 2012-03-08: Added comparison with other amplifiers that would lower the cost,
  • 2012-03-08: Changed from POST to GET, so searches can be linked,
  • 2012-03-09: Fixed a bug in amplifier suggestion cost when enhancers were selected,
  • 2012-03-09: Increased precision on displayed costs,
  • 2012-03-09: Added regen cost to details, which is now also shown in the bar with a slightly darker shade of green,
  • 2012-03-09: Added mouse-over tool tips to health bar in details showing percentage of original health, regenerated health and overkill,
  • 2012-03-09: Increased accuracy of regenerated HP; eight iterations are now done,
  • 2012-03-09: Fixed a regeneration display bug that was showing regeneration amount way wrong,
  • 2012-03-09: Implemented an approximation on regenerated HP, does 50000 iterations and is accurate as long as the regen is at least 0.01% less than the DPS,
  • 2012-03-09: Added inputs for creature HP and creature regen rate where the user may enter any HP and regen to override the stored ones,
  • 2012-03-09: Added a reset button that clears all input fields,
  • 2012-03-10: Fixed a bug where in IE the creature names in the creature list were shown as "hp:regen" instead,
  • 2012-03-15: Added finisher suggestions. The checkbox "Find finishers" must be checked for this,
  • 2012-03-15: Added search options for finishers,
  • 2012-03-15: Fixed a bug that made no finishers show if no finisher type and class were selected,
  • 2012-03-15: Fixed a bug that made selected type and class for finishers not be remembered,
  • 2012-03-15: Weapon name now links to the Entropia page for that weapon,
  • 2012-03-15: If "Find finishers" is checked, 20 finishers are always shown, even if it's not worth it. A negative "difference" value means it's worth it and has black text. A positive "difference" value means it's not worth it and has a red text,
  • 2012-03-15: Renamed the column "Damage" to "Effective Damage" to avoid mixing the two ("Damage" on Entropedia is not effective damage),
  • 2012-03-16: Fixed a bug that made selected finisher BLP amplifier not be remembered,
  • 2012-03-16: Made some style changes to make it easier to see important information and often used information,
  • 2012-03-20: Added a simple visualization of the cost,
  • 2012-03-22: Fixed a bug where alternative amplifiers did not take into account the markup of the weapon,
  • 2012-03-23: Added 41 new weapons discovered since 2011-12-05,
  • 2012-03-23: Creatures are now grouped by what creature they are (a thin grey line separates them), and sorted by maturity level (only correct order if they are correct on Entropedia, which is true for most common mobs),
  • 2012-05-21: Clicking on an amplifier in the details will now apply it directly,
  • 2012-05-21: Added 28 new weapons discovered since 2012-03-23,
  • 2012-06-04: Moved finisher selectors to the side of main weapon selectors,
  • 2012-06-04: Made a couple of style changes so it doesn't look as dull,
  • 2012-06-04: Fixed an UI bug where the reset button didn't clear all fields,
  • 2012-06-07: Added 4 new weapons discovered since 2012-05-21 (Adjusted Dagger of Despair was one of them),
  • 2012-06-15: Fixed a bug that made the result header disappear on some occations (thanks to Max Erdes Jino for finding it),
  • 2012-06-15: Minimized the HTML some, reducing the gziped HTML size by ~15%, and the unpacked HTML by ~50%,
  • 2012-06-16: Fixed a bug where the regen speed was used instead of the regen time, causing a rounding error resulting in the cost being a couple of PECs off,
  • 2012-06-16: More minimization, and also reduced the number of DOM elements significantly; should decrease loading and rendeing time bit on large results,
  • 2012-06-17: Reduced the number of DOM elemens by more than 50% by keeping the finisher and amplifier tables in the details view as JSON until it is shown, then creating a table from it using javascript,
  • 2012-06-19: Fixed a bug showing a division by zero error at the bottom of the page when no mob was chosen,
  • 2012-06-21: Dropped previous column sorting and started using DataTables; features include quicker rendering time, pagination of results, quicker column sorting and a second level instant filtering,
  • 2012-06-22: Valid HTML5, BrowserID login, show/hide search filters,
  • 2012-06-23: Fixed some css problems, a js bug when clicking the help link and added a g+ button,
  • 2012-07-02: No creature needs to be selected to calculate cost, as long as there are values in the HP/Regen boxes it will be shown,
  • 2012-07-02: Amp burn and amp decay per second and use is now included in the results,
  • 2012-09-03: Added 28 new weapons discovered since 2012-06-07, also removed some unused code for login/stats to reduce page load speed,
  • 2012-09-16: Backend refactoring, getting code ready for Github,
  • 2012-09-16: Moved filters to the right to conserve space,
  • 2012-09-22: Fixed a division by zero bug when finishers weren't strong enough to kill the selected mob,
  • 2012-09-22: Added a "Weapon ID" search field to limit result to a single weapon; mostly used when linking to a finisher,
  • 2012-10-11: Added 29 new weapons discovered since 2012-09-03, some of which are from the new VU 12.8,
  • 2012-10-25: Selected amplifiers are now remembered after a search,
  • 2012-10-25: Enhancers are no longer a show stopper,
  • 2012-10-25: Some division by zero issues when weapon DPS was exactly the same as creature regen,
  • 2012-10-25: Amplifiers too strong for a weapon were not discarded,
  • 2012-10-26: Added 60 new weapons discovered since 2012-10-11,
  • 2012-11-08: Fixed a bug were professions were not applied correctly, giving incorrect dmg/pec and cost,
  • 2012-11-09: Added 30 new weapons and 4 new creatures discovered since 2012-01-26 (see this post to see which ones),
  • 2012-11-19: Fixed a bug when using markup; "100%" was showing initially for every weapon,
  • 2012-11-20: Changing to a suggested amplifier when using weapon markup caused a crash (thanks to Roy Tyrell for finding),
  • 2012-11-20: Amplifier markup was not working correctly,
  • 2012-11-20: Added an option to find creatures that are profitable to hunt with the selected weapon (thanks to sawachika for suggesting this),
  • 2012-11-21: Added 15 new weapons discovered since 2012-11-09 (see this post to see which ones),
  • 2012-11-21: Added regen percentage, overkill percentage and threat level to the other creatures table to indicate better whether or not it's actually feasible to hunt it,
  • 2012-11-22: Added HP and damage to the other creatures table. Also added a numerical threat in the threat column so it can be sorted. So pretty,
  • 2012-11-23: Minor UI changes; moved the table selectors and sorters to single rows,
  • 2012-11-24: Fixed that enhancers could be added to invalid classes,
  • 2012-11-24: Clicking on other creatures names will rerun the search with that creature instead,
  • 2012-11-24: Added an option to ignore limited weapons,
  • 2012-11-24: Added an option to ignore finding amplifiers,
  • 2012-11-24: Minor UI changes, mostly colouring and hiding stuff,
  • 2012-11-25: Added an option to ignore regen rate (thanks to Vedder for the suggestion). See this post for details about how it should be used,
  • 2012-12-02: Minor UI changes,
  • 2012-12-02: Added an option to ignore weapons with unknown skill requirements (only if profession levels are entered),
  • 2012-12-02: Added a delay to tool tips so they're not as annoying,
  • 2012-12-02: Added max hit profession and max damage profession to default columns,
  • 2012-12-02: Fixed amp decay from markup (cosmetic in details, does not affect cost value),
  • 2012-12-02: Fixed weapon decay from markup (cosmetic in details, does not affect cost value),
  • 2012-12-02: Fixed finisher filtering on type and class,
  • 2012-12-02: Added 15 new weapons discovered since 2012-11-21 (see this post to see which ones),
  • 2012-12-12: Fixed HTML validation errors,
  • 2012-12-12: Added Cloudflare support,
  • 2013-01-04: Added 79 new weapons discovered since 2012-12-02 (see this post to see which ones),
  • 2013-01-04: The reset button did not work,
  • 2013-01-04: Added a skip list,
  • 2013-01-11: Added 14 new amplifiers (all limited) (see this post to see which ones),
  • 2013-01-11: Energy amplifiers can now be applied to plasma weapons, previously only worked for laser weapons,
  • 2013-01-11: Added an option to show "The Bond Theory", thanks to Shard-Angel for the suggestion, and thanks to Stefan 008 Bond for the theory. See this thread to read more on how it works,
  • 2013-01-13: Amplifier ammo burn was not added to the total ammo burn in the result table (it was included in the cost calculations, just not shown),
  • 2013-01-13: Made the multiplier value adjustable and added alt. profit, min loot, max loot columns to the result, all using the current weapons' DPP instead of the configured value,
  • 2013-01-13: Implemented enhancer decay rate, see this post to learn how it works and how it should be used,
  • 2013-01-14: Made the 'cost details' section more detailed and easier to read, also now they all show PEDs or they all show PECs, depending on if the total cost is above or below 4 PEDs,
  • 2013-05-31: Added 2 new amplifiers, 17 new creatures and 306 new weapons (see this post to see which ones),
  • 2013-09-22: Added 18 new amplifiers, 31 new creatures and 83 new weapons (see this post to see which ones),
  • 2013-09-24: Switched DB engine, mobs sorted correctly and minor performance fixes,
  • 2014-05-15: Added 13 new amplifiers, 12 new creatures and 146 new weapons (see this post to see which ones),
  • 2014-05-15: Fixed the weapon name link to entropia not working when there were apostrophes in the name (thanks to Haruto Rat for finding the bug),
  • 2014-05-17: Added weapon buffs; reload speed which can be gotten from e.g. Berserker heads, and then three other buffs only used for testing and are not real buffs available in game: damage, skill requirements and ammo burn. See this post for more info. Thanks to Doer for the suggestion,
  • 2014-05-25: Added scopes and sights that give critical hit rate/damage bonus (thanks to Stryker for the suggestion, see this post for more info),
  • 2014-05-25: Added a table to the cost details showing the formula used for effective damage,
  • 2015-09-15: Added 331 new weapons, 6 new creatures and 5 new amps, see this post for which.

Example searches

 
Last edited:
Very interesting, beware you don't fall in the "Market manipulation" stuff with that when people discover the real effectiveness of some famous combos... ;p (It is already hard to explain that MU <> Eco...)

I have such function in some complex XLS documents I use for years.
Will compare some of your values with the XLS when back at home.

Does the mob selection take into account the regen time in the Time to kill and Cost to kill formulas? This part was a nightmare, especially for deciding how to count the last shot. Was also thinking about an advanced version with finisher (or tagger) but the complexity killed the project. :laugh:
 
Does the mob selection take into account the regen time in the Time to kill and Cost to kill formulas? This part was a nightmare, especially for deciding how to count the last shot.

Yes, it does. And the last shot isn't actually that bad. You have an equal chance for doing 1% overkill as you have of doing 100% overkill for the last shot, and the average is always ~50% (half your cost/use).

Though I admit that the overkill cost is not 100% correct. To calculate the exact average overkill cost you would have to do a rather arduous calculation (see Achilles and the Tortoise and 1/4 + 1/16 + 1/64 + 1/256 + · · ·).

As of now, the overkill calculates the cost to kill the regenerated hp when the mob should be dead without regen, plus the regen during that period, i.e. two steps in the infinite series.

I plan to include this soon, but it's not really critical, since it will only show as a pec or two on the toughest mobs.

Was also thinking about an advanced version with finisher (or tagger) but the complexity killed the project. :laugh:

I've had that idea too, to suggest a matching finisher if the overkill cost is high enough. Might be a while before I get the time to do it though. :)
 
Last edited:
Very interesting tool, can't wait till more amps/mob combos are available

+rep
 
Seems like a great tool!
Subscribing
 
1. What alg. are you using for dpp? Hit/dmg looks funny, imk2 should have <2.9 for 66/66

2. Overkill is not complex as you can reduce it to an approximation, and it always has an upper and lower limit - precalced monte carlo is the fastest search, or you can just generate the equation as an average of limits (i used 500-cell averaging on a weapon_Dmg/mob_hp ratio, incorporating crits and misses)


...Or you could just hack it and use ave. dps and that would be enough as the precision is usually <1%, whcihc is way better than human error anyway
 
1. What alg. are you using for dpp? Hit/dmg looks funny, imk2 should have <2.9 for 66/66

Same as entropedia. It too has a dmg/pec of 2.977 for 66/66.

2. Overkill is not complex as you can reduce it to an approximation, and it always has an upper and lower limit - precalced monte carlo is the fastest search, or you can just generate the equation as an average of limits (i used 500-cell averaging on a weapon_Dmg/mob_hp ratio, incorporating crits and misses)


...Or you could just hack it and use ave. dps and that would be enough as the precision is usually <1%, whcihc is way better than human error anyway

Monte Carlo method looks promising. Didn't know about it, thanks. But it feel like its a bit... overkill to use it. :)
 
what about mob regeneration rate?
 
what about mob regeneration rate?

It is included if the data exists on entropedia (specific for different mobs).

For example, try Araneatrox Stalker and the cost (and time) will skyrocket with a weapon with low dps, compared to the same weapon used for e.g. Argonaut Young.
 
Yes, it does. And the last shot isn't actually that bad. You have an equal chance for doing 1% overkill as you have of doing 100% overkill for the last shot, and the average is always ~50% (half your cost/use).

Though I admit that the overkill cost is not 100% correct. To calculate the exact average overkill cost you would have to do a rather arduous calculation (see Achilles and the Tortoise and 1/4 + 1/16 + 1/64 + 1/256 + · · ·).

As of now, the overkill calculates the cost to kill the regenerated hp when the mob should be dead without regen, plus the regen during that period, i.e. two steps in the infinite series.

I plan to include this soon, but it's not really critical, since it will only show as a pec or two on the toughest mobs.



I've had that idea too, to suggest a matching finisher if the overkill cost is high enough. Might be a while before I get the time to do it though. :)



I decided to calculate the regenerated HP at each shot since it was too hard in XLS to manage a regen step every 5 sec.

Example with H400 + A104 vs Atrox Young (Figures are rounded due to XLS):

1) Regen
- H400 is 57 shot/min
- H400 shot every 1.053 sec
- Atrox Young regens 0.75% each second
- Atrox Young regens 7.82 HP each second

2) Real DPS
- H400 + A104 is 35.2 average DMG (counting 75% * 92%)
- H400 + A104 is 33.43 average DPS
- H400 + A104 is 27.37 real DPS (removing the 7.82 HP due to regen)

3) Theoric Shots
- H400 + A104 will need 36.2 shots (990 / 27.37)

4) Total HP
- Total HP to eat is 1273 HP (36.2 * 27.37)


When you have the total HP, it is easy to calculate the HP Rate (129%), the Time to Kill (38 sec).

As I see in formula, I finally added 0.5 shot for the average shot number (36.7), which gives 4.411 PED, with 3.30 PED in ammo and 1.11 PED in decay.


Finally, you may remove even the MOB selector and just add:
- An Edit field for the HP.
- A Combo box for the Regen speed.

Ultimately, if you can get the daily MU of weapons, you can also present an array like this:
weaponselector.jpg


At this point, some people will maybe reconsider the weapons they use on some mobs, especially on fast regen ones. :yup:
 
I would like to see the beast amp and A104 added, but it is a very nice app you have started, and I am eager to see how it turns out as a finished product.
(I agree that it may be easier and just as simple for the users to enter total hp, and a drop down of regen rates)

narfi
 
I would like to see the beast amp and A104 added, but it is a very nice app you have started, and I am eager to see how it turns out as a finished product.
(I agree that it may be easier and just as simple for the users to enter total hp, and a drop down of regen rates)

narfi

That would be quite nice. I will consider it, thanks. :)
 
I just imported all amplifiers from Entropedia. Will see if I can find some more mobs with known regens to add soon, and probably a drop-down list for manually setting regen and total hp.
 
Subscribing ... seems promising :)
 
Very nice effort.

+rep
 
Added Kreltin, Maffoid and Zadul. If anyone want to help out with the mobs they're free to post a semi-colon separated list here. :)

Why I ask is because it is (as far as I know) not possible to get the maturity lists on Entropedia as CSV, and I have to go through every creature in the list and manually and write them down...

What I need:

Code:
Name Maturity[B];[/B]HP[B];[/B]regen

Example:

Code:
Araneatrox Young[B];[/B]1660[B];[/B]16.6
Araneatrox Mature[B];[/B]1820[B];[/B]18.2
Araneatrox Old[B];[/B]2100[B];[/B]21

I would be grateful for any help. :)
 
Added Kreltin, Maffoid and Zadul. If anyone want to help out with the mobs they're free to post a semi-colon separated list here. :)

Why I ask is because it is (as far as I know) not possible to get the maturity lists on Entropedia as CSV, and I have to go through every creature in the list and manually and write them down...

What I need:

Code:
Name Maturity[B];[/B]HP[B];[/B]regen

Example:

Code:
Araneatrox Young[B];[/B]1660[B];[/B]16.6
Araneatrox Mature[B];[/B]1820[B];[/B]18.2
Araneatrox Old[B];[/B]2100[B];[/B]21

I would be grateful for any help. :)

Try the Armor vs Mobs tool on Entropedia.

You can export that to CSV.
 
Hello, well, first of all I would give you a nice +rep for your afford. This is going to be an awesome tool.
I just got a little question ^^

Is the data reliable?
becose I hardly see myself with Ul3(L) killing an atrox young.
 
Hello, well, first of all I would give you a nice +rep for your afford. This is going to be an awesome tool.

Thanks!

I just got a little question ^^

Is the data reliable?
becose I hardly see myself with Ul3(L) killing an atrox young.

All data is taken directly from Entropedia. This is still a work in progress, so there may be bugs I haven't detected yet.

If you compare the UL3 with a HL8 on Atrox Young with an A104 amp, you see that the cost for UL3 is 4.311 PEDs, and the HL8 3.893 PEDs. Even though it takes more than twice as long to kill one with the UL3, it only have half the ammo burn of the HL8, and you see (if you click on the cost for the UL3, "4.311") that the ammo cost is lower than that of the HL8, but the decay is that much higher, resulting in a pretty high cost.

Edit: I was looking at the cost with the markup included.
 
Last edited:
I must do something wrong.
UL3 (L) + a104 on Atrox young. Included markup.
I have a result of 1,004 PED.

Hl8 (L) + a104 on Atrox young, included MU.
The cost would be 1,034 PED.

 
I must do something wrong.
UL3 (L) + a104 on Atrox young. Included markup.
I have a result of 1,004 PED.

Hl8 (L) + a104 on Atrox young, included MU.
The cost would be 1,034 PED.


That's an Atrax Young, not an Atrox Young. ;)
 
Thanks!



All data is taken directly from Entropedia. This is still a work in progress, so there may be bugs I haven't detected yet.

If you compare the UL3 with a HL8 on Atrox Young with an A104 amp, you see that the cost for UL3 is 4.311 PEDs, and the HL8 3.893 PEDs. Even though it takes more than twice as long to kill one with the UL3, it only have half the ammo burn of the HL8, and you see (if you click on the cost for the UL3, "4.311") that the ammo cost is lower than that of the HL8, but the decay is that much higher, resulting in a pretty high cost.

Edit: I was looking at the cost with the markup included.

On slow-regen mobs, the cost to kill is dependant from the Eco of the weapon (Dmg/PEC).

But on fast-regen mobs, the cost to kill is strongly dependant from the regen, and therefore the eco of the weapon doesn't count much.


Using the today's MUs given by Entropedia (Riker UL3 (L) = 104.04% // Isis HL8 (L) = 110%) I find:

troxyoung.jpg


There is 1.5 PED difference (thats 134% cost).

I don't take into account the defensive costs (Armor / FAP / FAPer) but I consider than using a more eco weapon and finally have to take down more than 150% of the initial Mob HP is not worth it. (It *may* be possible that a *portion* of the regenerated HP is given back as loot, but certainly not all of it.)
 
That's an Atrax Young, not an Atrox Young. ;)

You're so right :) I'm sorry to waste your time... now the result on AtrOx seems more real.

Peace :yay:
 
subscribing sounds very nice +rep for your efforts
 
Added comparison with other amplifiers that would lower the cost. Comparison is shown in the cost details window.

EDIT: Forgot to say that I also changed from POST to GET, so all searches can now be linked.

entropia-amp-diff.png
 
Last edited:
looks good fingers crossed it work how you want it to :)

+rep

Bug
 
Finally, you may remove even the MOB selector and just add:
- An Edit field for the HP.
- A Combo box for the Regen speed.

This has now been implemented. Though not as a combo box; the user is free to enter any HP and regen values.

I've also made an approximation on the regenerated HP instead of recursively calculate it eight times (which it did before). The plus is that it's a lot more accurate when the regen rate is high, but when the regen rate comes ridiculously close to the DPS the cost and time to kill becomes pretty inaccurate. By "ridiculously close" I mean if the regen is more than 66.70 and your DPS is 66.74...

The number of iterations approximated is now 50000 instead of 8. The approximation looks like this:

regen-approx.png


Where 'r' is regeneration rate, 'd' is DPS, 'h' is health and 'i' is the number of iterations (50000 as of now).
 
Last edited:
It needs a "Minimum Expected Total COST for kill" column. And a RESET button to clear all data. Good work.
 
Back
Top