<?php
'Me'=>500,
'Ma'=>400,
'En'=>200,
'An'=>800
);
'Me'=>20,
'Ma'=>15,
'En'=>5,
'An'=>50
);
'Me'=>200,
'Ma'=>150,
'En'=>50,
'An'=>5
);
class Employees
{
public $department;
public $position;
public $rank;
public $boss;
public $salary;
public $quantity;
public function __construct($department, $position, $rank, $boss, $quantity, $rates)
{
if ($rank == 1){
$factor = 1;
}elseif($rank == 2){
$factor = 1.25;
}elseif($rank == 3){
$factor = 1.5;
}
$this->department = $department;
$this->position = $position;
$this->rank = $rank;
$this->boss = $boss;
if ($this->boss == true){
$this->salary = ($rates[$position] * $factor) * 1.5;
}else{
$this->salary = $rates[$position] * $factor;
}
$this->quantity = $quantity;
}
}
class Department
{
public $departmentName;
public $personelAmount;
public $departmentSalary;
public $departmentCoffe;
public $departmentDocumentation;
public $salaryPerPages;
public function __construct($employees, $coffe, $documentation)
{
foreach ($employees as $employee)
{
$this->departmentName = $employee->department;
$this->personelAmount = $employee->quantity + $this->personelAmount;
$this->departmentSalary = $employee->salary + $this->departmentSalary;
if ($employee->boss == true){
$this->departmentCoffe = $coffe[$employee->position] * 2 + $this->departmentCoffe;
$this->departmentDocumentation = 0 + $this->departmentDocumentation;
}else{
$this->departmentCoffe = $coffe[$employee->position] + $this->departmentCoffe;
$this->departmentDocumentation = $documentation[$employee->position] + $this->departmentDocumentation ;
}
}$this->salaryPerPages = round($this->departmentSalary / $this->departmentDocumentation, 2); }
}
class Company
{
public $total = 'Всего';
public $totalPersonelAmount;
public $totalSalary;
public $totalCoffe;
public $totalDocumentation;
public $totalSalaryPerPages;
public $average = 'Среднее';
public $averagePersonelAmount;
public $averageSalary;
public $averageCoffe;
public $averageDocumentation;
public $averageSalaryPerPages;
public function __construct($departments)
{
foreach ($departments as $department)
{
$this->totalPersonelAmount = $department->personelAmount + $this->totalPersonelAmount;
$this->totalSalary = $department->departmentSalary + $this->totalSalary;
$this->totalCoffe = $department->departmentCoffe + $this->totalCoffe;
$this->totalDocumentation = $department->departmentDocumentation + $this->totalDocumentation;
$this->totalSalaryPerPages = $department->salaryPerPages + $this->totalSalaryPerPages;
}
$this->averagePersonelAmount = $this->totalPersonelAmount / count($departments); $this->averageSalary = round($this->totalSalary / count($departments), 2); $this->averageCoffe = round($this->totalCoffe / count($departments), 2); $this->averageDocumentation = round($this->totalDocumentation / count($departments), 2); $this->averageSalaryPerPages = round($this->totalSalaryPerPages / count($departments), 2); }
}
function padRight($q, $w){
}
function padLeft($q, $w){
}
new Employees ('Закупок', 'Me', 1, false, 9, $rates),
new Employees ('Закупок', 'Me', 2, false, 3, $rates),
new Employees ('Закупок', 'Me', 3, false, 2, $rates),
new Employees ('Закупок', 'Ma', 1, false, 1, $rates),
new Employees ('Закупок', 'Me', 2, true, 1, $rates)
);
new Employees ('Продаж', 'Me', 1, false, 12, $rates),
new Employees ('Продаж', 'Ma', 1, false, 6, $rates),
new Employees ('Продаж', 'An', 1, false, 3, $rates),
new Employees ('Продаж', 'An', 2, false, 2, $rates),
new Employees ('Продаж', 'Ma', 2, true, 1, $rates)
);
new Employees ('Рекламы', 'Ma', 1, false, 15, $rates),
new Employees ('Рекламы', 'Ma', 2, false, 10, $rates),
new Employees ('Рекламы', 'Me', 1, false, 8, $rates),
new Employees ('Рекламы', 'En', 1, false, 2, $rates),
new Employees ('Рекламы', 'Ma', 3, true, 1, $rates)
);
new Employees ('Логистики', 'Me', 1, false, 13, $rates),
new Employees ('Логистики', 'Me', 2, false, 5, $rates),
new Employees ('Логистики', 'En', 1, false, 5, $rates),
new Employees ('Логистики', 'Me', 1, true, 1, $rates)
);
new Department($workers1, $coffe, $documentation),
new Department($workers2, $coffe, $documentation),
new Department($workers3, $coffe, $documentation),
new Department($workers4, $coffe, $documentation)
);
$company = new Company ($departments);
$col1 = 20;
$col2 = 8;
$col3 = 10;
$col4 = 8;
$col5 = 8;
$col6 = 12;
echo padRight("Департамент", $col1) .
padLeft("сотр.", $col2) .
padLeft("тугр.", $col3) .
padLeft("кофе", $col4) .
padLeft("стр.", $col5) .
padLeft("тугр./стр.", $col6) . "\n" .
foreach ($departments as $department) {
echo padRight($department->departmentName, $col1) .
padLeft($department->personelAmount, $col2) .
padLeft($department->departmentSalary, $col3) .
padLeft($department->departmentCoffe, $col4) .
padLeft($department->departmentDocumentation, $col5) .
padLeft($department->salaryPerPages, $col6) . "\n" ;
echo padRight($company->average, $col1) .
padLeft($company->averagePersonelAmount, $col2) .
padLeft($company->averageSalary, $col3) .
padLeft($company->averageCoffe, $col4) .
padLeft($company->averageDocumentation, $col5) .
padLeft($company->averageSalaryPerPages, $col6) . "\n";
echo padRight($company->total, $col1) .
padLeft($company->totalPersonelAmount, $col2) .
padLeft($company->totalSalary, $col3) .
padLeft($company->totalCoffe, $col4) .
padLeft($company->totalDocumentation, $col5) .
padLeft($company->totalSalaryPerPages, $col6);
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7Cm1iX2ludGVybmFsX2VuY29kaW5nKCd1dGYtOCcpOwoKJHJhdGVzID0gYXJyYXkoCgknTWUnPT41MDAsCgknTWEnPT40MDAsCgknRW4nPT4yMDAsCgknQW4nPT44MDAKCSk7CiRjb2ZmZSA9IGFycmF5KAoJJ01lJz0+MjAsCgknTWEnPT4xNSwKCSdFbic9PjUsCgknQW4nPT41MAoJKTsKJGRvY3VtZW50YXRpb24gPSBhcnJheSgKCSdNZSc9PjIwMCwKCSdNYSc9PjE1MCwKCSdFbic9PjUwLAoJJ0FuJz0+NQoJKTsKCQpjbGFzcyBFbXBsb3llZXMKewoJcHVibGljICRkZXBhcnRtZW50OwoJcHVibGljICRwb3NpdGlvbjsKCXB1YmxpYyAkcmFuazsKCXB1YmxpYyAkYm9zczsKCXB1YmxpYyAkc2FsYXJ5OwoJcHVibGljICRxdWFudGl0eTsKCQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRkZXBhcnRtZW50LCAkcG9zaXRpb24sICRyYW5rLCAkYm9zcywgJHF1YW50aXR5LCAkcmF0ZXMpCgl7CgkJaWYgKCRyYW5rID09IDEpewoJCQkkZmFjdG9yID0gMTsKCQl9ZWxzZWlmKCRyYW5rID09IDIpewoJCQkkZmFjdG9yID0gMS4yNTsKCQl9ZWxzZWlmKCRyYW5rID09IDMpewoJCQkkZmFjdG9yID0gMS41OwoJCX0KCQkkdGhpcy0+ZGVwYXJ0bWVudCA9ICRkZXBhcnRtZW50OwoJCSR0aGlzLT5wb3NpdGlvbiA9ICRwb3NpdGlvbjsKCQkkdGhpcy0+cmFuayA9ICRyYW5rOwoJCSR0aGlzLT5ib3NzID0gJGJvc3M7CgkJaWYgKCR0aGlzLT5ib3NzID09IHRydWUpewoJCQkkdGhpcy0+c2FsYXJ5ID0gKCRyYXRlc1skcG9zaXRpb25dICogJGZhY3RvcikgKiAxLjU7CgkJfWVsc2V7CgkJCSR0aGlzLT5zYWxhcnkgPSAkcmF0ZXNbJHBvc2l0aW9uXSAqICRmYWN0b3I7CgkJfQoJCSR0aGlzLT5xdWFudGl0eSA9ICRxdWFudGl0eTsKCX0KfQoKY2xhc3MgRGVwYXJ0bWVudCAKewoJcHVibGljICRkZXBhcnRtZW50TmFtZTsKCXB1YmxpYyAkcGVyc29uZWxBbW91bnQ7CglwdWJsaWMgJGRlcGFydG1lbnRTYWxhcnk7CglwdWJsaWMgJGRlcGFydG1lbnRDb2ZmZTsKCXB1YmxpYyAkZGVwYXJ0bWVudERvY3VtZW50YXRpb247CglwdWJsaWMgJHNhbGFyeVBlclBhZ2VzOwoJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGVtcGxveWVlcywgJGNvZmZlLCAkZG9jdW1lbnRhdGlvbikKCXsKCQlmb3JlYWNoICgkZW1wbG95ZWVzIGFzICRlbXBsb3llZSkKCQkJewoJCQkkdGhpcy0+ZGVwYXJ0bWVudE5hbWUgPSAkZW1wbG95ZWUtPmRlcGFydG1lbnQ7CgkJCgkJCSR0aGlzLT5wZXJzb25lbEFtb3VudCA9ICAkZW1wbG95ZWUtPnF1YW50aXR5ICsgJHRoaXMtPnBlcnNvbmVsQW1vdW50OwoJCQkkdGhpcy0+ZGVwYXJ0bWVudFNhbGFyeSA9ICAkZW1wbG95ZWUtPnNhbGFyeSArICR0aGlzLT5kZXBhcnRtZW50U2FsYXJ5OwoJCQlpZiAoJGVtcGxveWVlLT5ib3NzID09IHRydWUpewoJCQkJJHRoaXMtPmRlcGFydG1lbnRDb2ZmZSA9ICAkY29mZmVbJGVtcGxveWVlLT5wb3NpdGlvbl0gKiAyICsgJHRoaXMtPmRlcGFydG1lbnRDb2ZmZTsKCQkJCSR0aGlzLT5kZXBhcnRtZW50RG9jdW1lbnRhdGlvbiA9ICAwICsgJHRoaXMtPmRlcGFydG1lbnREb2N1bWVudGF0aW9uOwoJCQl9ZWxzZXsKCQkJCSR0aGlzLT5kZXBhcnRtZW50Q29mZmUgPSAgJGNvZmZlWyRlbXBsb3llZS0+cG9zaXRpb25dICsgJHRoaXMtPmRlcGFydG1lbnRDb2ZmZTsKCQkJCSR0aGlzLT5kZXBhcnRtZW50RG9jdW1lbnRhdGlvbiA9ICAkZG9jdW1lbnRhdGlvblskZW1wbG95ZWUtPnBvc2l0aW9uXSArICR0aGlzLT5kZXBhcnRtZW50RG9jdW1lbnRhdGlvbiA7CgkJCX0KCQl9JHRoaXMtPnNhbGFyeVBlclBhZ2VzID0gcm91bmQoJHRoaXMtPmRlcGFydG1lbnRTYWxhcnkgLyAkdGhpcy0+ZGVwYXJ0bWVudERvY3VtZW50YXRpb24sIDIpOwoJfQp9CgpjbGFzcyBDb21wYW55CnsKCXB1YmxpYyAkdG90YWwgPSAn0JLRgdC10LPQvic7CglwdWJsaWMgJHRvdGFsUGVyc29uZWxBbW91bnQ7CglwdWJsaWMgJHRvdGFsU2FsYXJ5OwoJcHVibGljICR0b3RhbENvZmZlOwoJcHVibGljICR0b3RhbERvY3VtZW50YXRpb247CglwdWJsaWMgJHRvdGFsU2FsYXJ5UGVyUGFnZXM7CgkKCXB1YmxpYyAkYXZlcmFnZSA9ICfQodGA0LXQtNC90LXQtSc7CglwdWJsaWMgJGF2ZXJhZ2VQZXJzb25lbEFtb3VudDsKCXB1YmxpYyAkYXZlcmFnZVNhbGFyeTsKCXB1YmxpYyAkYXZlcmFnZUNvZmZlOwoJcHVibGljICRhdmVyYWdlRG9jdW1lbnRhdGlvbjsKCXB1YmxpYyAkYXZlcmFnZVNhbGFyeVBlclBhZ2VzOwoJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGRlcGFydG1lbnRzKQoJewoJCWZvcmVhY2ggKCRkZXBhcnRtZW50cyBhcyAkZGVwYXJ0bWVudCkKCQl7CgkJCSR0aGlzLT50b3RhbFBlcnNvbmVsQW1vdW50ID0gJGRlcGFydG1lbnQtPnBlcnNvbmVsQW1vdW50ICsgJHRoaXMtPnRvdGFsUGVyc29uZWxBbW91bnQ7CgkgCQkkdGhpcy0+dG90YWxTYWxhcnkgPSAkZGVwYXJ0bWVudC0+ZGVwYXJ0bWVudFNhbGFyeSArICR0aGlzLT50b3RhbFNhbGFyeTsKCSAJCSR0aGlzLT50b3RhbENvZmZlID0gJGRlcGFydG1lbnQtPmRlcGFydG1lbnRDb2ZmZSArICR0aGlzLT50b3RhbENvZmZlOwoJCQkkdGhpcy0+dG90YWxEb2N1bWVudGF0aW9uID0gJGRlcGFydG1lbnQtPmRlcGFydG1lbnREb2N1bWVudGF0aW9uICsgJHRoaXMtPnRvdGFsRG9jdW1lbnRhdGlvbjsKCQkJJHRoaXMtPnRvdGFsU2FsYXJ5UGVyUGFnZXMgPSAkZGVwYXJ0bWVudC0+c2FsYXJ5UGVyUGFnZXMgKyAkdGhpcy0+dG90YWxTYWxhcnlQZXJQYWdlczsKCQl9CgkJJHRoaXMtPmF2ZXJhZ2VQZXJzb25lbEFtb3VudCA9ICR0aGlzLT50b3RhbFBlcnNvbmVsQW1vdW50IC8gY291bnQoJGRlcGFydG1lbnRzKTsKCQkkdGhpcy0+YXZlcmFnZVNhbGFyeSA9IHJvdW5kKCR0aGlzLT50b3RhbFNhbGFyeSAvIGNvdW50KCRkZXBhcnRtZW50cyksIDIpOwoJCSR0aGlzLT5hdmVyYWdlQ29mZmUgPSByb3VuZCgkdGhpcy0+dG90YWxDb2ZmZSAvIGNvdW50KCRkZXBhcnRtZW50cyksIDIpOwoJCSR0aGlzLT5hdmVyYWdlRG9jdW1lbnRhdGlvbiA9IHJvdW5kKCR0aGlzLT50b3RhbERvY3VtZW50YXRpb24gLyBjb3VudCgkZGVwYXJ0bWVudHMpLCAyKTsKCQkkdGhpcy0+YXZlcmFnZVNhbGFyeVBlclBhZ2VzID0gcm91bmQoJHRoaXMtPnRvdGFsU2FsYXJ5UGVyUGFnZXMgLyBjb3VudCgkZGVwYXJ0bWVudHMpLCAyKTsKCX0KfQoKICBmdW5jdGlvbiBwYWRSaWdodCgkcSwgJHcpewogcmV0dXJuIGltcGxvZGUoIiIsIChhcnJheV9tZXJnZShwcmVnX3NwbGl0KCcvL3UnLCAkcSwgMCwgUFJFR19TUExJVF9OT19FTVBUWSksIGFycmF5X2ZpbGwoMCwgJHctbWJfc3RybGVuKCRxKSwgIiAiKSkpKTsKIH0KICBmdW5jdGlvbiBwYWRMZWZ0KCRxLCAkdyl7CiByZXR1cm4gaW1wbG9kZSgiIiwgKGFycmF5X21lcmdlKGFycmF5X2ZpbGwoMCwgJHctbWJfc3RybGVuKCRxKSwgIiAiKSwgcHJlZ19zcGxpdCgnLy91JywgJHEsIDAsIFBSRUdfU1BMSVRfTk9fRU1QVFkpKSkpOwogfQogCiR3b3JrZXJzMSA9IGFycmF5KApuZXcgRW1wbG95ZWVzICgn0JfQsNC60YPQv9C+0LonLCAnTWUnLCAxLCBmYWxzZSwgOSwgJHJhdGVzKSwKbmV3IEVtcGxveWVlcyAoJ9CX0LDQutGD0L/QvtC6JywgJ01lJywgMiwgZmFsc2UsIDMsICRyYXRlcyksCm5ldyBFbXBsb3llZXMgKCfQl9Cw0LrRg9C/0L7QuicsICdNZScsIDMsIGZhbHNlLCAyLCAkcmF0ZXMpLApuZXcgRW1wbG95ZWVzICgn0JfQsNC60YPQv9C+0LonLCAnTWEnLCAxLCBmYWxzZSwgMSwgJHJhdGVzKSwKbmV3IEVtcGxveWVlcyAoJ9CX0LDQutGD0L/QvtC6JywgJ01lJywgMiwgdHJ1ZSwgMSwgJHJhdGVzKQopOwokd29ya2VyczIgPSBhcnJheSgKbmV3IEVtcGxveWVlcyAoJ9Cf0YDQvtC00LDQticsICdNZScsIDEsIGZhbHNlLCAxMiwgJHJhdGVzKSwKbmV3IEVtcGxveWVlcyAoJ9Cf0YDQvtC00LDQticsICdNYScsIDEsIGZhbHNlLCA2LCAkcmF0ZXMpLApuZXcgRW1wbG95ZWVzICgn0J/RgNC+0LTQsNC2JywgJ0FuJywgMSwgZmFsc2UsIDMsICRyYXRlcyksCm5ldyBFbXBsb3llZXMgKCfQn9GA0L7QtNCw0LYnLCAnQW4nLCAyLCBmYWxzZSwgMiwgJHJhdGVzKSwKbmV3IEVtcGxveWVlcyAoJ9Cf0YDQvtC00LDQticsICdNYScsIDIsIHRydWUsIDEsICRyYXRlcykKKTsKJHdvcmtlcnMzID0gYXJyYXkoCm5ldyBFbXBsb3llZXMgKCfQoNC10LrQu9Cw0LzRiycsICdNYScsIDEsIGZhbHNlLCAxNSwgJHJhdGVzKSwKbmV3IEVtcGxveWVlcyAoJ9Cg0LXQutC70LDQvNGLJywgJ01hJywgMiwgZmFsc2UsIDEwLCAkcmF0ZXMpLApuZXcgRW1wbG95ZWVzICgn0KDQtdC60LvQsNC80YsnLCAnTWUnLCAxLCBmYWxzZSwgOCwgJHJhdGVzKSwKbmV3IEVtcGxveWVlcyAoJ9Cg0LXQutC70LDQvNGLJywgJ0VuJywgMSwgZmFsc2UsIDIsICRyYXRlcyksCm5ldyBFbXBsb3llZXMgKCfQoNC10LrQu9Cw0LzRiycsICdNYScsIDMsIHRydWUsIDEsICRyYXRlcykKKTsKJHdvcmtlcnM0ID0gYXJyYXkoCm5ldyBFbXBsb3llZXMgKCfQm9C+0LPQuNGB0YLQuNC60LgnLCAnTWUnLCAxLCBmYWxzZSwgMTMsICRyYXRlcyksCm5ldyBFbXBsb3llZXMgKCfQm9C+0LPQuNGB0YLQuNC60LgnLCAnTWUnLCAyLCBmYWxzZSwgNSwgJHJhdGVzKSwKbmV3IEVtcGxveWVlcyAoJ9Cb0L7Qs9C40YHRgtC40LrQuCcsICdFbicsIDEsIGZhbHNlLCA1LCAkcmF0ZXMpLApuZXcgRW1wbG95ZWVzICgn0JvQvtCz0LjRgdGC0LjQutC4JywgJ01lJywgMSwgdHJ1ZSwgMSwgJHJhdGVzKQopOwoKJGRlcGFydG1lbnRzID0gYXJyYXkoCm5ldyBEZXBhcnRtZW50KCR3b3JrZXJzMSwgJGNvZmZlLCAkZG9jdW1lbnRhdGlvbiksCm5ldyBEZXBhcnRtZW50KCR3b3JrZXJzMiwgJGNvZmZlLCAkZG9jdW1lbnRhdGlvbiksCm5ldyBEZXBhcnRtZW50KCR3b3JrZXJzMywgJGNvZmZlLCAkZG9jdW1lbnRhdGlvbiksCm5ldyBEZXBhcnRtZW50KCR3b3JrZXJzNCwgJGNvZmZlLCAkZG9jdW1lbnRhdGlvbikKKTsKJGNvbXBhbnkgPSBuZXcgQ29tcGFueSAoJGRlcGFydG1lbnRzKTsKCQokY29sMSA9IDIwOwokY29sMiA9IDg7CiRjb2wzID0gMTA7CiRjb2w0ID0gODsKJGNvbDUgPSA4OwokY29sNiA9IDEyOwoKZWNobyBwYWRSaWdodCgi0JTQtdC/0LDRgNGC0LDQvNC10L3RgiIsICRjb2wxKSAuCiAgICAgcGFkTGVmdCgi0YHQvtGC0YAuIiwgJGNvbDIpIC4gCiAgICAgcGFkTGVmdCgi0YLRg9Cz0YAuIiwgJGNvbDMpIC4gCiAgICAgcGFkTGVmdCgi0LrQvtGE0LUiLCAkY29sNCkgLgogICAgIHBhZExlZnQoItGB0YLRgC4iLCAkY29sNSkgLgogICAgIHBhZExlZnQoItGC0YPQs9GALi/RgdGC0YAuIiwgJGNvbDYpIC4gIlxuIiAuIAogICAgIGltcGxvZGUoIiIsIGFycmF5X2ZpbGwoMCwgNDAsICctLScpKSAuICJcbiI7Cgpmb3JlYWNoICgkZGVwYXJ0bWVudHMgYXMgJGRlcGFydG1lbnQpIHsKICAgIGVjaG8gcGFkUmlnaHQoJGRlcGFydG1lbnQtPmRlcGFydG1lbnROYW1lLCAkY29sMSkgLgogICAgICAgICBwYWRMZWZ0KCRkZXBhcnRtZW50LT5wZXJzb25lbEFtb3VudCwgJGNvbDIpIC4gCiAgICAgICAgIHBhZExlZnQoJGRlcGFydG1lbnQtPmRlcGFydG1lbnRTYWxhcnksICRjb2wzKSAuIAogICAgICAgICBwYWRMZWZ0KCRkZXBhcnRtZW50LT5kZXBhcnRtZW50Q29mZmUsICRjb2w0KSAuIAogICAgICAgICBwYWRMZWZ0KCRkZXBhcnRtZW50LT5kZXBhcnRtZW50RG9jdW1lbnRhdGlvbiwgJGNvbDUpIC4KICAgICAgICAgcGFkTGVmdCgkZGVwYXJ0bWVudC0+c2FsYXJ5UGVyUGFnZXMsICRjb2w2KSAuICJcbiIgOwogICAgICAgICAKfSAgIGVjaG8gaW1wbG9kZSgiIiwgYXJyYXlfZmlsbCgwLCA0MCwgJy0tJykpIC4gIlxuIjsKCiAgICBlY2hvIHBhZFJpZ2h0KCRjb21wYW55LT5hdmVyYWdlLCAkY29sMSkgLgogICAgICAgICBwYWRMZWZ0KCRjb21wYW55LT5hdmVyYWdlUGVyc29uZWxBbW91bnQsICRjb2wyKSAuIAogICAgICAgICBwYWRMZWZ0KCRjb21wYW55LT5hdmVyYWdlU2FsYXJ5LCAkY29sMykgLiAKICAgICAgICAgcGFkTGVmdCgkY29tcGFueS0+YXZlcmFnZUNvZmZlLCAkY29sNCkgLgogICAgICAgICBwYWRMZWZ0KCRjb21wYW55LT5hdmVyYWdlRG9jdW1lbnRhdGlvbiwgJGNvbDUpIC4KICAgICAgICAgcGFkTGVmdCgkY29tcGFueS0+YXZlcmFnZVNhbGFyeVBlclBhZ2VzLCAkY29sNikgLiAiXG4iOwogICAgICAgICAKICAgIGVjaG8gcGFkUmlnaHQoJGNvbXBhbnktPnRvdGFsLCAkY29sMSkgLgogICAgICAgICBwYWRMZWZ0KCRjb21wYW55LT50b3RhbFBlcnNvbmVsQW1vdW50LCAkY29sMikgLiAKICAgICAgICAgcGFkTGVmdCgkY29tcGFueS0+dG90YWxTYWxhcnksICRjb2wzKSAuIAogICAgICAgICBwYWRMZWZ0KCRjb21wYW55LT50b3RhbENvZmZlLCAkY29sNCkgLgogICAgICAgICBwYWRMZWZ0KCRjb21wYW55LT50b3RhbERvY3VtZW50YXRpb24sICRjb2w1KSAuCiAgICAgICAgIHBhZExlZnQoJGNvbXBhbnktPnRvdGFsU2FsYXJ5UGVyUGFnZXMsICRjb2w2KTsK