class Rotation;
class CfgSkeletons
{
class Default
{
isDiscrete = 1;
skeletonInherit = "";
skeletonBones[] = {};
};
class Vehicle : Default {};
class Car : Vehicle {};
class Dingo : Car
{
isDiscrete = 1;
skeletonInherit = "Car";
skeletonBones[] =
{
"drivewheel", "",
"wheel_1_1_damper_land","",
"wheel_1_2_damper_land","",
"wheel_1_3_damper_land","",
"wheel_1_4_damper_land","",
"wheel_2_1_damper_land","",
"wheel_2_2_damper_land","",
"wheel_2_3_damper_land","",
"wheel_2_4_damper_land","",
"wheel_1_1_damper","wheel_1_1_damper_land",
"wheel_1_2_damper","wheel_1_2_damper_land",
"wheel_1_3_damper","wheel_1_3_damper_land",
"wheel_1_4_damper","wheel_1_4_damper_land",
"wheel_2_1_damper","wheel_2_1_damper_land",
"wheel_2_2_damper","wheel_2_2_damper_land",
"wheel_2_3_damper","wheel_2_3_damper_land",
"wheel_2_4_damper","wheel_2_4_damper_land",
"wheel_1_1_steering","wheel_1_1_damper",
"wheel_1_2_steering","wheel_1_2_damper",
"wheel_1_3_steering","wheel_1_3_damper",
"wheel_1_4_steering","wheel_1_4_damper",
"wheel_2_1_steering","wheel_2_1_damper",
"wheel_2_2_steering","wheel_2_2_damper",
"wheel_2_3_steering","wheel_2_3_damper",
"wheel_2_4_steering","wheel_2_4_damper",
"wheel_1_1","wheel_1_1_steering",
"wheel_1_2","wheel_1_2_steering",
"wheel_1_3","wheel_1_3_steering",
"wheel_1_4","wheel_1_4_steering",
"wheel_2_1","wheel_2_1_steering",
"wheel_2_2","wheel_2_2_steering",
"wheel_2_3","wheel_2_3_steering",
"wheel_2_4","wheel_2_4_steering",
"wheel_1_1_unhide","wheel_1_1",
"wheel_1_2_unhide","wheel_1_2",
"wheel_1_3_unhide","wheel_1_3",
"wheel_1_4_unhide","wheel_1_4",
"wheel_2_1_unhide","wheel_2_1",
"wheel_2_2_unhide","wheel_2_2",
"wheel_2_3_unhide","wheel_2_3",
"wheel_2_4_unhide","wheel_2_4",
"wheel_1_1_hide","wheel_1_1",
"wheel_1_2_hide","wheel_1_2",
"wheel_1_3_hide","wheel_1_3",
"wheel_1_4_hide","wheel_1_4",
"wheel_2_1_hide","wheel_2_1",
"wheel_2_2_hide","wheel_2_2",
"wheel_2_3_hide","wheel_2_3",
"wheel_2_4_hide","wheel_2_4",
"turret","",
"gun","turret",
"damageHide","",
"damageTurret","turret",
"damageGun","gun",
"ukaz_rychlo","",
"ukaz_rychlo2","",
"ukaz_rpm","",
"indi_speed","",
"indi_rpm","",
"indi_fuel","",
"fuel_1","",
"fuel_01","",
"fuel_2","",
"fuel_3","",
"prop_01","",
"prop_02","",
"prop_2","",
"prop_1","",
"glass1","damageHide",
"glass2","damageHide",
"glass3","damageHide",
"glass4","damageHide",
"reverse_light","",
"daylights","damageHide",
"door1","",
"door2","",
"glass5","damageHide",
"camonet","",
};
};
class DingoMG : Dingo
{
isDiscrete = 1;
skeletonInherit = "Dingo";
skeletonBones[] =
{
"bullet001","bullet002",
"bullet002","bullet003",
"bullet003","bullet004",
"bullet004","bullet005",
"bullet005","bullet006",
"bullet006","bullet007",
"bullet007","bullet008",
"bullet008","bullet009",
"bullet009","bullet010",
"bullet010","bullet011",
"bullet011","bullet012",
"bullet012","bullet013",
"bullet013","bullet014",
"bullet014","bullet015",
"bullet015","bullet016",
"bullet016","ammo_belt",
"ammo_belt","gun",
"turret","",
"gun","",
};
};
};
class CfgModels
{
class Default
{
sectionsInherit = "";
sections[] = {};
skeletonName = "";
};
class Vehicle : Default
{
sections[] =
{
"cislo",
"grupa",
"side",
"sektor",
"clan",
"clan_sign",
"podsvit pristroju",
"poskozeni",
"L svetlo",
"P svetlo",
"zasleh"
};
}
class Car : Vehicle
{
sections[] =
{
"brzdove svetlo",
"clan",
"P svetlo",
"L svetlo",
"glass1",
"glass2",
"glass3",
"glass4",
"glass5",
};
class Animations
{
class damageHide
{
type = "hide";
source = "damage";
selection = "damageHide";
hideValue = 1.0;
};
class damageHideVez : damageHide
{
selection = "turret";
};
class damageHideHlaven : damageHide
{
selection = "gun";
};
#define DamageOffset 0.2
class Glass1_destruct
{
type="hide";
selection="glass1";
source="HitGlass1";
minValue = 0;
maxValue = 1;
hidevalue = 0.99999;
};
class Glass2_destruct : Glass1_destruct
{
selection="glass2";
source="HitGlass2";
};
class Glass3_destruct : Glass1_destruct
{
selection="glass3";
source="HitGlass3";
};
class Glass4_destruct : Glass1_destruct
{
selection="glass4";
source="HitGlass4";
};
class Glass5_destruct : Glass1_destruct
{
selection="glass5";
source="HitGlass5";
};
class DrivingWheel : Rotation
{
source="drivingWheel";
selection="drivewheel";
axis="drivewheel_axis";
minValue=-1;
maxValue=1;
angle0=(rad 80);
angle1=(rad -80);
};
class Steering_1_1
{
type="rotationY";
source="drivingWheel";
selection="wheel_1_1_steering";
axis="wheel_1_1_steering_axis";
memory=1;
minValue= -1;
maxValue= 1;
angle0=1.047198;
angle1=-1.047198;
};
class Steering_2_1 : Steering_1_1
{
selection="wheel_2_1_steering";
axis="wheel_2_1_steering_axis";
};
class Wheel_1_1
{
type="rotationX";
source="wheel";
selection="wheel_1_1";
axis="wheel_1_1_axis";
memory=1;
sourceAddress="loop";
minValue=0;
maxValue=1;
angle0=0;
angle1="rad -360";
};
class wheel_2_1 : Wheel_1_1
{
selection="wheel_2_1";
axis="wheel_2_1_axis";
};
class wheel_1_2 : Wheel_1_1
{
selection="wheel_1_2";
axis="wheel_1_2_axis";
};
class wheel_1_3 : Wheel_1_1
{
selection="wheel_1_3";
axis="wheel_1_3_axis";
};
class Wheel_2_2 : Wheel_1_1
{
selection="wheel_2_2";
axis="wheel_2_2_axis";
};
class Wheel_2_3 : Wheel_1_1
{
selection="wheel_2_3";
axis="wheel_2_3_axis";
};
class Wheel_1_4 : Wheel_1_1
{
selection="wheel_1_4";
axis="wheel_1_4_axis";
};
class Wheel_2_4 : Wheel_1_1
{
selection="wheel_2_4";
axis="wheel_2_4_axis";
};
class Wheel_1_1_Damper
{
type="translation";
source="damper";
selection="wheel_1_1_damper_land";
axis="posun wheel_1_1";
animPeriod = 1;
minValue="0";
maxValue="1";
offset0= "0.5";
offset1= "-0.5";
memory=1;
};
class wheel_2_1_Damper : Wheel_1_1_Damper
{
selection="wheel_2_1_damper_land";
};
class wheel_1_2_Damper : Wheel_1_1_Damper
{
selection="wheel_1_2_damper_land";
};
class Wheel_2_2_Damper : Wheel_1_1_Damper
{
selection="wheel_2_2_damper_land";
};
class daylights
{
type="hide";
source="rpm";
selection="daylights";
minValue=-0.8;
maxValue=0.2;
unhidevalue=1;
sourceAddress="clamp";
};
class reverse_light
{
type="Hide";
selection="reverse_light";
sourceAddress="clamp";
source="Gear";
minValue = -1;
maxValue = 0;
hideValue = "0.2";
};
};
};
class Dingo2A2 : Car
{
skeletonName = "Dingo";
sectionsInherit = "Car";
sections[] =
{
"camo1",
"camo2",
"camo3",
"camo4",
"brzdove svetlo",
"clan",
"P svetlo",
"L svetlo",
"glass1",
"glass2",
"glass3",
"glass4",
"glass5",
"cislo",
"grupa",
"side",
"sektor",
"clan",
"clan_sign",
"podsvit pristroju",
"poskozeni",
"L svetlo",
"P svetlo",
"zasleh",
"camonet"
};
class Animations : Animations
{
class damageHide
{
type = "hide";
source = "damage";
selection = "damageHide";
hideValue = 1.0;
};
class damageHideVez : damageHide
{
selection = "turret";
};
class damageHideHlaven : damageHide
{
selection = "gun";
};
class wheel_1_1_destruct
{
type="hide";
selection="wheel_1_1_hide";
source="HitLFWheel";
minValue = 0;
maxValue = 1;
hidevalue = 0.99999;
};
class wheel_1_2_destruct : wheel_1_1_destruct
{
source="HitLBWheel";
selection="wheel_1_2_hide";
};
class wheel_1_3_destruct : wheel_1_1_destruct
{
source="HitLMWheel";
selection="wheel_1_3_hide";
};
class wheel_1_4_destruct : wheel_1_1_destruct
{
source="HitLF2Wheel";
selection="wheel_1_4_hide";
};
class wheel_2_1_destruct : wheel_1_1_destruct
{
source="HitRFWheel";
selection="wheel_2_1_hide";
};
class wheel_2_2_destruct : wheel_1_1_destruct
{
source="HitRBWheel";
selection="wheel_2_2_hide";
};
class wheel_2_3_destruct : wheel_1_1_destruct
{
source="HitRMWheel";
selection="wheel_2_3_hide";
};
class wheel_2_4_destruct : wheel_1_1_destruct
{
source="HitRF2Wheel";
selection="wheel_2_4_hide";
};
class wheel_1_1_destruct_unhide
{
type="hide";
selection="wheel_1_1_unhide";
source="HitLFWheel";
minValue = 0;
maxValue = 1;
hidevalue = 0.00000;
UnHidevalue = 1.00000;
};
class wheel_1_2_destruct_unhide : wheel_1_1_destruct_unhide
{
source="HitLBWheel";
selection="wheel_1_2_unhide";
};
class wheel_1_3_destruct_unhide : wheel_1_1_destruct_unhide
{
source="HitLMWheel";
selection="wheel_1_3_unhide";
};
class wheel_1_4_destruct_unhide : wheel_1_1_destruct_unhide
{
source="HitLF2Wheel";
selection="wheel_1_4_unhide";
};
class wheel_2_1_destruct_unhide : wheel_1_1_destruct_unhide
{
source="HitRFWheel";
selection="wheel_2_1_unhide";
};
class wheel_2_2_destruct_unhide : wheel_1_1_destruct_unhide
{
source="HitRBWheel";
selection="wheel_2_2_unhide";
};
class wheel_2_3_destruct_unhide : wheel_1_1_destruct_unhide
{
source="HitRMWheel";
selection="wheel_2_3_unhide";
};
class wheel_2_4_destruct_unhide : wheel_1_1_destruct_unhide
{
source="HitRF2Wheel";
selection="wheel_2_4_unhide";
};
#define DamageOffset 0.2
class wheel_1_1_Damage : wheel_1_1_destruct
{
type = "translation";
axis = "Basic_Damper_Destruct_Axis";
memory = 1;
selection = "wheel_1_1_damper";
source = "HitLFWheel";
minValue = 0.0;
maxValue = 1;
offset0 = 0;
offset1 = DamageOffset;
};
class wheel_1_2_Damage : wheel_1_1_Damage
{
source="HitLBWheel";
selection="wheel_1_2_damper";
};
class wheel_1_3_Damage : wheel_1_1_Damage
{
source="HitLMWheel";
selection="wheel_1_3_damper";
};
class wheel_1_4_Damage : wheel_1_1_Damage
{
source="HitLF2Wheel";
selection="wheel_1_4_damper";
};
class wheel_2_1_Damage : wheel_1_1_Damage
{
source="HitRFWheel";
selection="wheel_2_1_damper";
};
class wheel_2_2_Damage : wheel_1_1_Damage
{
source="HitRBWheel";
selection="wheel_2_2_damper";
};
class wheel_2_3_Damage : wheel_1_1_Damage
{
source="HitRMWheel";
selection="wheel_2_3_damper";
};
class wheel_2_4_Damage : wheel_1_1_Damage
{
source="HitRF2Wheel";
selection="wheel_2_4_damper";
};
class wheel_1_1_Damper_Damage_BackAnim : wheel_1_1_Damage
{
selection="wheel_1_1_damper";
offset1 = -1.2*DamageOffset;
};
class wheel_1_2_Damper_Damage_BackAnim : wheel_1_1_Damper_Damage_BackAnim
{
source="HitLBWheel";
selection="wheel_1_2_damper";
};
class wheel_1_3_Damper_Damage_BackAnim : wheel_1_1_Damper_Damage_BackAnim
{
source="HitLMWheel";
selection="wheel_1_3_damper";
};
class wheel_1_4_Damper_Damage_BackAnim : wheel_1_1_Damper_Damage_BackAnim
{
source="HitLF2Wheel";
selection="wheel_1_4_damper";
};
class wheel_2_1_Damper_Damage_BackAnim : wheel_1_1_Damper_Damage_BackAnim
{
source="HitRFWheel";
selection="wheel_2_1_damper";
};
class wheel_2_2_Damper_Damage_BackAnim : wheel_1_1_Damper_Damage_BackAnim
{
source="HitRBWheel";
selection="wheel_2_2_damper";
};
class wheel_2_3_Damper_Damage_BackAnim : wheel_1_1_Damper_Damage_BackAnim
{
source="HitRMWheel";
selection="wheel_2_3_damper";
};
class wheel_2_4_Damper_Damage_BackAnim : wheel_1_1_Damper_Damage_BackAnim
{
source="HitRF2Wheel";
selection="wheel_2_4_damper";
};
class Glass1_destruct
{
type="hide";
selection="glass1";
source="HitGlass1";
minValue = 0;
maxValue = 1;
hidevalue = 0.99999;
};
class Glass2_destruct : Glass1_destruct
{
selection="glass2";
source="HitGlass2";
};
class Glass3_destruct : Glass1_destruct
{
selection="glass3";
source="HitGlass3";
};
class Glass4_destruct : Glass1_destruct
{
selection="glass4";
source="HitGlass4";
};
class Glass5_destruct : Glass1_destruct
{
selection="glass5";
source="HitGlass5";
};
class Wheel_1_1
{
type="rotationX";
source="wheel";
selection="wheel_1_1";
axis="wheel_1_1_axis";
memory=1;
sourceAddress="loop";
minValue=0;
maxValue=1;
angle0=0;
angle1="rad -360";
};
class wheel_2_1 : Wheel_1_1
{
selection="wheel_2_1";
axis="wheel_2_1_axis";
};
class wheel_1_2 : Wheel_1_1
{
selection="wheel_1_2";
axis="wheel_1_2_axis";
};
class wheel_1_3 : Wheel_1_1
{
selection="wheel_1_3";
axis="wheel_1_3_axis";
};
class Wheel_2_2 : Wheel_1_1
{
selection="wheel_2_2";
axis="wheel_2_2_axis";
};
class Wheel_2_3 : Wheel_1_1
{
selection="wheel_2_3";
axis="wheel_2_3_axis";
};
class Wheel_1_4 : Wheel_1_1
{
selection="wheel_1_4";
axis="wheel_1_4_axis";
};
class Wheel_2_4 : Wheel_1_1
{
selection="wheel_2_4";
axis="wheel_2_4_axis";
};
class Wheel_1_1_Damper
{
type="translation";
source="damper";
selection="wheel_1_1_damper_land";
axis="posun wheel_1_1";
animPeriod = 1;
minValue="0";
maxValue="1";
offset0= "0.5";
offset1= "-0.5";
memory=1;
};
class wheel_2_1_Damper : Wheel_1_1_Damper
{
selection="wheel_2_1_damper_land";
};
class wheel_1_2_Damper : Wheel_1_1_Damper
{
selection="wheel_1_2_damper_land";
};
class Wheel_2_2_Damper : Wheel_1_1_Damper
{
selection="wheel_2_2_damper_land";
};
class DrivingWheel
{
type="rotation";
source="drivingWheel";
selection="drivewheel";
axis="drivewheel_axis";
memory=1;
minValue=-1;
maxValue=1;
angle0=(rad 70);
angle1=(rad -70);
};
class Steering_1_1
{
type="rotationY";
source="drivingWheel";
selection="wheel_1_1_steering";
axis="wheel_1_1_steering_axis";
memory=1;
minValue="rad -90";
maxValue="rad +90";
angle0=1.0471981;
angle1=-1.0471981;
};
class Steering_2_1 : Steering_1_1
{
selection="wheel_2_1_steering";
axis="wheel_2_1_steering_axis";
angle0=1.0471981;
angle1=-1.0471981;
};
class IndicatorFuel : Rotation
{
type="rotation";
source="fuel";
selection="indi_fuel";
axis="axis_fuel";
memory=1;
minValue=0.000000;
maxValue=1.000000;
angle0=-0.087266;
angle1=1.570797;
};
// speed from 0 to 40 kmh
class IndicatorSpeed40 : Rotation
{
type = "rotation";
source="speed";
selection="indi_speed";
axis="axis_speed";
memory=1;
minValue=0.000000;
maxValue=11.111;
angle0="rad -36";
angle1="rad +54";
};
// speed from 40 to 80
class IndicatorSpeed80 : Rotation
{
type = "rotation";
source="speed";
selection="indi_speed";
axis="axis_speed";
memory=1;
minValue=11.112;
maxValue=22.222;
angle0=0;
angle1="rad +77";
};
// speed from 80 to 125
class IndicatorSpeed125 : Rotation
{
type = "rotation";
source="speed";
selection="indi_speed";
axis="axis_speed";
memory=1;
minValue=22.223;
maxValue=34.722;
angle0=0;
angle1="rad +82";
};
class IndicatorRPM : Rotation
{
type = "rotation";
source="rpm";
selection="indi_rpm";
axis="axis_rpm";
memory=1;
minValue=0;
maxValue=1;
angle0="rad -206";
angle1="rad 29";
};
class daylights
{
type="hide";
source="rpm";
selection="daylights";
minValue=-0.8;
maxValue=0.2;
unhidevalue=1;
sourceAddress="clamp";
};
class reverse_light
{
type="Hide";
selection="reverse_light";
sourceAddress="clamp";
source="Gear";
minValue = -1;
maxValue = 0;
hideValue = "0.2";
};
class damageHidedoor1 : damageHide
{
selection="door1";
};
class damageHidedoor2 : damageHide
{
selection="door2";
};
class camoNetHide
{
type = "hide";
source = "user";
selection = "camonet";
hideValue = 1.0;
unhideValue = 0.0;
minValue = 0;
maxValue = 1;
};
};
};
class Dingo2A2MG : Dingo2A2
{
skeletonName = "DingoMG";
sectionsInherit = "Dingo2A2";
sections[] =
{
"camo5",
"turret",
"gun",
"gunnerview",
};
class Animations : Animations
{
class MainTurret
{
type="rotationY";
source="mainTurret";
selection="turret";
axis="axis_turret";
animPeriod=0;
minValue="rad -360";
maxValue="rad +360";
angle0="rad -360";
angle1="rad +360";
memory = 1;
};
class MainGun : MainTurret
{
type="rotationX";
source="mainGun";
selection="gun";
axis="axis_gun";
};
class Magazine_hide
{
type = "hide";
source = "reloadMagazine";
sourceAddress = "mirror";
selection = "magazine";
minValue = 0.0;
maxValue = 0.5;
hideValue = 0.56;
};
class ammo_belt_rotation
{
type = "rotationZ";
source = "ReloadAnim";
selection = "ammo_belt";
axis = "ammo_belt_axis";
memory = 1;
sourceAddress = "loop";
minValue = 0.000000;
maxValue = 1.0000;
angle0 = 0.000000;
angle1 = -0.209440;
};
/*BULLET_HIDE(001,16,100)
BULLET_HIDE(002,16,100)
BULLET_HIDE(003,16,100)
BULLET_HIDE(004,16,100)
BULLET_HIDE(005,16,100)
BULLET_HIDE(006,16,100)
BULLET_HIDE(007,16,100)
BULLET_HIDE(008,16,100)
BULLET_HIDE(009,16,100)
BULLET_HIDE(010,16,100)
BULLET_HIDE(011,16,100)
BULLET_HIDE(012,16,100)
BULLET_HIDE(013,16,100)
BULLET_HIDE(014,16,100)
BULLET_HIDE(015,16,100)
BULLET_HIDE(016,16,100)*/
};
};
};
Y2xhc3MgUm90YXRpb247CgpjbGFzcyBDZmdTa2VsZXRvbnMgIAp7ICAKICAgIGNsYXNzIERlZmF1bHQKICAgIHsKICAgICAgICBpc0Rpc2NyZXRlID0gMTsKICAgICAgICBza2VsZXRvbkluaGVyaXQgPSAiIjsKICAgICAgICBza2VsZXRvbkJvbmVzW10gPSB7fTsKICAgIH07CgogICAgY2xhc3MgVmVoaWNsZSA6IERlZmF1bHQge307CgogICAgY2xhc3MgQ2FyIDogVmVoaWNsZSB7fTsKCiAgICBjbGFzcyBEaW5nbyA6IENhciAgCiAgICB7ICAKICAgICAgICBpc0Rpc2NyZXRlID0gMTsgIAogICAgICAgIHNrZWxldG9uSW5oZXJpdCA9ICJDYXIiOyAgCiAgICAgICAgc2tlbGV0b25Cb25lc1tdID0gIAogICAgICAgIHsgCiAgICAgICAgICAgICJkcml2ZXdoZWVsIiwgIiIsICAKCiAgICAgICAgICAgICJ3aGVlbF8xXzFfZGFtcGVyX2xhbmQiLCIiLCAgCiAgICAgICAgICAgICJ3aGVlbF8xXzJfZGFtcGVyX2xhbmQiLCIiLCAgCiAgICAgICAgICAgICJ3aGVlbF8xXzNfZGFtcGVyX2xhbmQiLCIiLCAgCiAgICAgICAgICAgICJ3aGVlbF8xXzRfZGFtcGVyX2xhbmQiLCIiLCAgCgogICAgICAgICAgICAid2hlZWxfMl8xX2RhbXBlcl9sYW5kIiwiIiwgIAogICAgICAgICAgICAid2hlZWxfMl8yX2RhbXBlcl9sYW5kIiwiIiwgIAogICAgICAgICAgICAid2hlZWxfMl8zX2RhbXBlcl9sYW5kIiwiIiwgIAogICAgICAgICAgICAid2hlZWxfMl80X2RhbXBlcl9sYW5kIiwiIiwgIAoKICAgICAgICAgICAgIndoZWVsXzFfMV9kYW1wZXIiLCJ3aGVlbF8xXzFfZGFtcGVyX2xhbmQiLCAgCiAgICAgICAgICAgICJ3aGVlbF8xXzJfZGFtcGVyIiwid2hlZWxfMV8yX2RhbXBlcl9sYW5kIiwgIAogICAgICAgICAgICAid2hlZWxfMV8zX2RhbXBlciIsIndoZWVsXzFfM19kYW1wZXJfbGFuZCIsICAKICAgICAgICAgICAgIndoZWVsXzFfNF9kYW1wZXIiLCJ3aGVlbF8xXzRfZGFtcGVyX2xhbmQiLCAgCgogICAgICAgICAgICAid2hlZWxfMl8xX2RhbXBlciIsIndoZWVsXzJfMV9kYW1wZXJfbGFuZCIsICAKICAgICAgICAgICAgIndoZWVsXzJfMl9kYW1wZXIiLCJ3aGVlbF8yXzJfZGFtcGVyX2xhbmQiLCAgCiAgICAgICAgICAgICJ3aGVlbF8yXzNfZGFtcGVyIiwid2hlZWxfMl8zX2RhbXBlcl9sYW5kIiwgIAogICAgICAgICAgICAid2hlZWxfMl80X2RhbXBlciIsIndoZWVsXzJfNF9kYW1wZXJfbGFuZCIsICAKCiAgICAgICAgICAgICJ3aGVlbF8xXzFfc3RlZXJpbmciLCJ3aGVlbF8xXzFfZGFtcGVyIiwgIAogICAgICAgICAgICAid2hlZWxfMV8yX3N0ZWVyaW5nIiwid2hlZWxfMV8yX2RhbXBlciIsICAKICAgICAgICAgICAgIndoZWVsXzFfM19zdGVlcmluZyIsIndoZWVsXzFfM19kYW1wZXIiLCAgCiAgICAgICAgICAgICJ3aGVlbF8xXzRfc3RlZXJpbmciLCJ3aGVlbF8xXzRfZGFtcGVyIiwgIAoKICAgICAgICAgICAgIndoZWVsXzJfMV9zdGVlcmluZyIsIndoZWVsXzJfMV9kYW1wZXIiLAogICAgICAgICAgICAid2hlZWxfMl8yX3N0ZWVyaW5nIiwid2hlZWxfMl8yX2RhbXBlciIsCiAgICAgICAgICAgICJ3aGVlbF8yXzNfc3RlZXJpbmciLCJ3aGVlbF8yXzNfZGFtcGVyIiwKICAgICAgICAgICAgIndoZWVsXzJfNF9zdGVlcmluZyIsIndoZWVsXzJfNF9kYW1wZXIiLAoKICAgICAgICAgICAgIndoZWVsXzFfMSIsIndoZWVsXzFfMV9zdGVlcmluZyIsCiAgICAgICAgICAgICJ3aGVlbF8xXzIiLCJ3aGVlbF8xXzJfc3RlZXJpbmciLAogICAgICAgICAgICAid2hlZWxfMV8zIiwid2hlZWxfMV8zX3N0ZWVyaW5nIiwKICAgICAgICAgICAgIndoZWVsXzFfNCIsIndoZWVsXzFfNF9zdGVlcmluZyIsCgogICAgICAgICAgICAid2hlZWxfMl8xIiwid2hlZWxfMl8xX3N0ZWVyaW5nIiwKICAgICAgICAgICAgIndoZWVsXzJfMiIsIndoZWVsXzJfMl9zdGVlcmluZyIsCiAgICAgICAgICAgICJ3aGVlbF8yXzMiLCJ3aGVlbF8yXzNfc3RlZXJpbmciLAogICAgICAgICAgICAid2hlZWxfMl80Iiwid2hlZWxfMl80X3N0ZWVyaW5nIiwKCiAgICAgICAgICAgICJ3aGVlbF8xXzFfdW5oaWRlIiwid2hlZWxfMV8xIiwgIAogICAgICAgICAgICAid2hlZWxfMV8yX3VuaGlkZSIsIndoZWVsXzFfMiIsICAKICAgICAgICAgICAgIndoZWVsXzFfM191bmhpZGUiLCJ3aGVlbF8xXzMiLCAgCiAgICAgICAgICAgICJ3aGVlbF8xXzRfdW5oaWRlIiwid2hlZWxfMV80IiwgIAoKICAgICAgICAgICAgIndoZWVsXzJfMV91bmhpZGUiLCJ3aGVlbF8yXzEiLCAgCiAgICAgICAgICAgICJ3aGVlbF8yXzJfdW5oaWRlIiwid2hlZWxfMl8yIiwgIAogICAgICAgICAgICAid2hlZWxfMl8zX3VuaGlkZSIsIndoZWVsXzJfMyIsICAKICAgICAgICAgICAgIndoZWVsXzJfNF91bmhpZGUiLCJ3aGVlbF8yXzQiLCAgCgogICAgICAgICAgICAid2hlZWxfMV8xX2hpZGUiLCJ3aGVlbF8xXzEiLCAgCiAgICAgICAgICAgICJ3aGVlbF8xXzJfaGlkZSIsIndoZWVsXzFfMiIsICAKICAgICAgICAgICAgIndoZWVsXzFfM19oaWRlIiwid2hlZWxfMV8zIiwgIAogICAgICAgICAgICAid2hlZWxfMV80X2hpZGUiLCJ3aGVlbF8xXzQiLCAgCgogICAgICAgICAgICAid2hlZWxfMl8xX2hpZGUiLCJ3aGVlbF8yXzEiLCAgCiAgICAgICAgICAgICJ3aGVlbF8yXzJfaGlkZSIsIndoZWVsXzJfMiIsICAKICAgICAgICAgICAgIndoZWVsXzJfM19oaWRlIiwid2hlZWxfMl8zIiwgIAogICAgICAgICAgICAid2hlZWxfMl80X2hpZGUiLCJ3aGVlbF8yXzQiLCAgCgogICAgICAgICAgICAidHVycmV0IiwiIiwgIAogICAgICAgICAgICAiZ3VuIiwidHVycmV0IiwgIAoKICAgICAgICAgICAgImRhbWFnZUhpZGUiLCIiLCAgCiAgICAgICAgICAgICJkYW1hZ2VUdXJyZXQiLCJ0dXJyZXQiLCAgCiAgICAgICAgICAgICJkYW1hZ2VHdW4iLCJndW4iLCAgCgogICAgICAgICAgICAidWthel9yeWNobG8iLCIiLCAgCiAgICAgICAgICAgICJ1a2F6X3J5Y2hsbzIiLCIiLCAgCiAgICAgICAgICAgICJ1a2F6X3JwbSIsIiIsICAKICAgICAgICAgICAgImluZGlfc3BlZWQiLCIiLCAgCiAgICAgICAgICAgICJpbmRpX3JwbSIsIiIsICAKICAgICAgICAgICAgImluZGlfZnVlbCIsIiIsICAKICAgICAgICAgICAgImZ1ZWxfMSIsIiIsICAKICAgICAgICAgICAgImZ1ZWxfMDEiLCIiLCAgCiAgICAgICAgICAgICJmdWVsXzIiLCIiLCAgCiAgICAgICAgICAgICJmdWVsXzMiLCIiLCAgCiAgICAgICAgICAgICJwcm9wXzAxIiwiIiwgIAogICAgICAgICAgICAicHJvcF8wMiIsIiIsICAKICAgICAgICAgICAgInByb3BfMiIsIiIsICAKICAgICAgICAgICAgInByb3BfMSIsIiIsICAKICAgICAgICAgICAgImdsYXNzMSIsImRhbWFnZUhpZGUiLCAgCiAgICAgICAgICAgICJnbGFzczIiLCJkYW1hZ2VIaWRlIiwgIAogICAgICAgICAgICAiZ2xhc3MzIiwiZGFtYWdlSGlkZSIsICAKICAgICAgICAgICAgImdsYXNzNCIsImRhbWFnZUhpZGUiLCAgCiAgICAgICAgICAgICJyZXZlcnNlX2xpZ2h0IiwiIiwgIAogICAgICAgICAgICAiZGF5bGlnaHRzIiwiZGFtYWdlSGlkZSIsICAKICAgICAgICAgICAgImRvb3IxIiwiIiwgIAogICAgICAgICAgICAiZG9vcjIiLCIiLCAgCiAgICAgICAgICAgICJnbGFzczUiLCJkYW1hZ2VIaWRlIiwKICAgICAgICAgICAgImNhbW9uZXQiLCIiLAogICAgICAgIH07ICAKICAgIH07CgogICAgY2xhc3MgRGluZ29NRyA6IERpbmdvCiAgICB7CiAgICAgICAgaXNEaXNjcmV0ZSA9IDE7CiAgICAgICAgc2tlbGV0b25Jbmhlcml0ID0gIkRpbmdvIjsKICAgICAgICBza2VsZXRvbkJvbmVzW10gPQogICAgICAgIHsKICAgICAgICAgICAgImJ1bGxldDAwMSIsImJ1bGxldDAwMiIsCiAgICAgICAgICAgICJidWxsZXQwMDIiLCJidWxsZXQwMDMiLAogICAgICAgICAgICAiYnVsbGV0MDAzIiwiYnVsbGV0MDA0IiwKICAgICAgICAgICAgImJ1bGxldDAwNCIsImJ1bGxldDAwNSIsCiAgICAgICAgICAgICJidWxsZXQwMDUiLCJidWxsZXQwMDYiLAogICAgICAgICAgICAiYnVsbGV0MDA2IiwiYnVsbGV0MDA3IiwKICAgICAgICAgICAgImJ1bGxldDAwNyIsImJ1bGxldDAwOCIsCiAgICAgICAgICAgICJidWxsZXQwMDgiLCJidWxsZXQwMDkiLAogICAgICAgICAgICAiYnVsbGV0MDA5IiwiYnVsbGV0MDEwIiwKICAgICAgICAgICAgImJ1bGxldDAxMCIsImJ1bGxldDAxMSIsCiAgICAgICAgICAgICJidWxsZXQwMTEiLCJidWxsZXQwMTIiLAogICAgICAgICAgICAiYnVsbGV0MDEyIiwiYnVsbGV0MDEzIiwKICAgICAgICAgICAgImJ1bGxldDAxMyIsImJ1bGxldDAxNCIsCiAgICAgICAgICAgICJidWxsZXQwMTQiLCJidWxsZXQwMTUiLAogICAgICAgICAgICAiYnVsbGV0MDE1IiwiYnVsbGV0MDE2IiwKICAgICAgICAgICAgImJ1bGxldDAxNiIsImFtbW9fYmVsdCIsCiAgICAgICAgICAgICJhbW1vX2JlbHQiLCJndW4iLAogICAgICAgICAgICAidHVycmV0IiwiIiwKICAgICAgICAgICAgImd1biIsIiIsCiAgICAgICAgfTsKICAgIH07Cn07ICAKCmNsYXNzIENmZ01vZGVscyAgCnsgCiAgICBjbGFzcyBEZWZhdWx0CiAgICB7CiAgICAgICAgc2VjdGlvbnNJbmhlcml0ID0gIiI7CiAgICAgICAgc2VjdGlvbnNbXSA9IHt9OwogICAgICAgIHNrZWxldG9uTmFtZSA9ICIiOwogICAgfTsKCiAgICBjbGFzcyBWZWhpY2xlIDogRGVmYXVsdAogICAgewogICAgICAgIHNlY3Rpb25zW10gPQogICAgICAgIHsKICAgICAgICAgICAgImNpc2xvIiwKICAgICAgICAgICAgImdydXBhIiwKICAgICAgICAgICAgInNpZGUiLAogICAgICAgICAgICAic2VrdG9yIiwKICAgICAgICAgICAgImNsYW4iLAogICAgICAgICAgICAiY2xhbl9zaWduIiwKICAgICAgICAgICAgInBvZHN2aXQgcHJpc3Ryb2p1IiwKICAgICAgICAgICAgInBvc2tvemVuaSIsCiAgICAgICAgICAgICJMIHN2ZXRsbyIsCiAgICAgICAgICAgICJQIHN2ZXRsbyIsCiAgICAgICAgICAgICJ6YXNsZWgiCiAgICAgICAgfTsKICAgIH0KCiAgICBjbGFzcyBDYXIgOiBWZWhpY2xlCiAgICB7CiAgICAgICAgc2VjdGlvbnNbXSA9CiAgICAgICAgewogICAgICAgICAgICAiYnJ6ZG92ZSBzdmV0bG8iLAogICAgICAgICAgICAiY2xhbiIsCiAgICAgICAgICAgICJQIHN2ZXRsbyIsCiAgICAgICAgICAgICJMIHN2ZXRsbyIsCiAgICAgICAgICAgICJnbGFzczEiLAogICAgICAgICAgICAiZ2xhc3MyIiwKICAgICAgICAgICAgImdsYXNzMyIsCiAgICAgICAgICAgICJnbGFzczQiLAogICAgICAgICAgICAiZ2xhc3M1IiwKICAgICAgICB9OwogICAgICAgIAogICAgICAgIGNsYXNzIEFuaW1hdGlvbnMKICAgICAgICB7CiAgICAgICAgICAgIGNsYXNzIGRhbWFnZUhpZGUKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdHlwZSA9ICJoaWRlIjsKICAgICAgICAgICAgICAgIHNvdXJjZSA9ICJkYW1hZ2UiOwogICAgICAgICAgICAgICAgc2VsZWN0aW9uID0gImRhbWFnZUhpZGUiOwogICAgICAgICAgICAgICAgaGlkZVZhbHVlID0gMS4wOwogICAgICAgICAgICB9OwoKICAgICAgICAgICAgY2xhc3MgZGFtYWdlSGlkZVZleiA6IGRhbWFnZUhpZGUKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2VsZWN0aW9uID0gInR1cnJldCI7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBjbGFzcyBkYW1hZ2VIaWRlSGxhdmVuIDogZGFtYWdlSGlkZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzZWxlY3Rpb24gPSAiZ3VuIjsKICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICNkZWZpbmUgRGFtYWdlT2Zmc2V0IDAuMgoKICAgICAgICAgICAgY2xhc3MgR2xhc3MxX2Rlc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHR5cGU9ImhpZGUiOwogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJnbGFzczEiOwogICAgICAgICAgICAgICAgc291cmNlPSJIaXRHbGFzczEiOwogICAgICAgICAgICAgICAgbWluVmFsdWUgPSAwOyAKICAgICAgICAgICAgICAgIG1heFZhbHVlID0gMTsgCiAgICAgICAgICAgICAgICBoaWRldmFsdWUgPSAwLjk5OTk5OwogICAgICAgICAgICB9OwogICAgICAgICAgICBjbGFzcyBHbGFzczJfZGVzdHJ1Y3QgOiBHbGFzczFfZGVzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJnbGFzczIiOwogICAgICAgICAgICAgICAgc291cmNlPSJIaXRHbGFzczIiOwogICAgICAgICAgICB9OwogICAgICAgICAgICBjbGFzcyBHbGFzczNfZGVzdHJ1Y3QgOiBHbGFzczFfZGVzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJnbGFzczMiOwogICAgICAgICAgICAgICAgc291cmNlPSJIaXRHbGFzczMiOwogICAgICAgICAgICB9OwogICAgICAgICAgICBjbGFzcyBHbGFzczRfZGVzdHJ1Y3QgOiBHbGFzczFfZGVzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJnbGFzczQiOwogICAgICAgICAgICAgICAgc291cmNlPSJIaXRHbGFzczQiOwogICAgICAgICAgICB9OwogICAgICAgICAgICBjbGFzcyBHbGFzczVfZGVzdHJ1Y3QgOiBHbGFzczFfZGVzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJnbGFzczUiOwogICAgICAgICAgICAgICAgc291cmNlPSJIaXRHbGFzczUiOwogICAgICAgICAgICB9OwoKICAgICAgICAgICAgY2xhc3MgRHJpdmluZ1doZWVsIDogUm90YXRpb24KICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc291cmNlPSJkcml2aW5nV2hlZWwiOwogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJkcml2ZXdoZWVsIjsKICAgICAgICAgICAgICAgIGF4aXM9ImRyaXZld2hlZWxfYXhpcyI7CiAgICAgICAgICAgICAgICBtaW5WYWx1ZT0tMTsKICAgICAgICAgICAgICAgIG1heFZhbHVlPTE7CiAgICAgICAgICAgICAgICBhbmdsZTA9KHJhZCA4MCk7CiAgICAgICAgICAgICAgICBhbmdsZTE9KHJhZCAtODApOwogICAgICAgICAgICB9OwogICAgICAgICAgICBjbGFzcyBTdGVlcmluZ18xXzEKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdHlwZT0icm90YXRpb25ZIjsKICAgICAgICAgICAgICAgIHNvdXJjZT0iZHJpdmluZ1doZWVsIjsKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV8xX3N0ZWVyaW5nIjsKICAgICAgICAgICAgICAgIGF4aXM9IndoZWVsXzFfMV9zdGVlcmluZ19heGlzIjsKICAgICAgICAgICAgICAgIG1lbW9yeT0xOwogICAgICAgICAgICAgICAgbWluVmFsdWU9IC0xOwogICAgICAgICAgICAgICAgbWF4VmFsdWU9IDE7CiAgICAgICAgICAgICAgICBhbmdsZTA9MS4wNDcxOTg7CiAgICAgICAgICAgICAgICBhbmdsZTE9LTEuMDQ3MTk4OwogICAgICAgICAgICB9OwogICAgICAgICAgICBjbGFzcyBTdGVlcmluZ18yXzEgOiBTdGVlcmluZ18xXzEKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8yXzFfc3RlZXJpbmciOwogICAgICAgICAgICAgICAgYXhpcz0id2hlZWxfMl8xX3N0ZWVyaW5nX2F4aXMiOwogICAgICAgICAgICB9OwogICAgICAgICAgICBjbGFzcyBXaGVlbF8xXzEKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdHlwZT0icm90YXRpb25YIjsKICAgICAgICAgICAgICAgIHNvdXJjZT0id2hlZWwiOwogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8xXzEiOwogICAgICAgICAgICAgICAgYXhpcz0id2hlZWxfMV8xX2F4aXMiOwogICAgICAgICAgICAgICAgbWVtb3J5PTE7CiAgICAgICAgICAgICAgICBzb3VyY2VBZGRyZXNzPSJsb29wIjsKICAgICAgICAgICAgICAgIG1pblZhbHVlPTA7CiAgICAgICAgICAgICAgICBtYXhWYWx1ZT0xOwogICAgICAgICAgICAgICAgYW5nbGUwPTA7CiAgICAgICAgICAgICAgICBhbmdsZTE9InJhZCAtMzYwIjsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMl8xIDogV2hlZWxfMV8xCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMl8xIjsKICAgICAgICAgICAgICAgIGF4aXM9IndoZWVsXzJfMV9heGlzIjsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMV8yIDogV2hlZWxfMV8xCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV8yIjsKICAgICAgICAgICAgICAgIGF4aXM9IndoZWVsXzFfMl9heGlzIjsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMV8zIDogV2hlZWxfMV8xCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV8zIjsKICAgICAgICAgICAgICAgIGF4aXM9IndoZWVsXzFfM19heGlzIjsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgY2xhc3MgV2hlZWxfMl8yIDogV2hlZWxfMV8xCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMl8yIjsKICAgICAgICAgICAgICAgIGF4aXM9IndoZWVsXzJfMl9heGlzIjsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgY2xhc3MgV2hlZWxfMl8zIDogV2hlZWxfMV8xCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMl8zIjsKICAgICAgICAgICAgICAgIGF4aXM9IndoZWVsXzJfM19heGlzIjsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgY2xhc3MgV2hlZWxfMV80IDogV2hlZWxfMV8xCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV80IjsKICAgICAgICAgICAgICAgIGF4aXM9IndoZWVsXzFfNF9heGlzIjsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgY2xhc3MgV2hlZWxfMl80IDogV2hlZWxfMV8xCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMl80IjsKICAgICAgICAgICAgICAgIGF4aXM9IndoZWVsXzJfNF9heGlzIjsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgY2xhc3MgV2hlZWxfMV8xX0RhbXBlcgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB0eXBlPSJ0cmFuc2xhdGlvbiI7CiAgICAgICAgICAgICAgICBzb3VyY2U9ImRhbXBlciI7CiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzFfMV9kYW1wZXJfbGFuZCI7CiAgICAgICAgICAgICAgICBheGlzPSJwb3N1biB3aGVlbF8xXzEiOwogICAgICAgICAgICAgICAgYW5pbVBlcmlvZCA9IDE7CiAgICAgICAgICAgICAgICBtaW5WYWx1ZT0iMCI7CiAgICAgICAgICAgICAgICBtYXhWYWx1ZT0iMSI7CiAgICAgICAgICAgICAgICBvZmZzZXQwPSAiMC41IjsKICAgICAgICAgICAgICAgIG9mZnNldDE9ICItMC41IjsKICAgICAgICAgICAgICAgIG1lbW9yeT0xOwogICAgICAgICAgICB9OwogICAgICAgICAgICBjbGFzcyB3aGVlbF8yXzFfRGFtcGVyIDogV2hlZWxfMV8xX0RhbXBlcgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzJfMV9kYW1wZXJfbGFuZCI7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGNsYXNzIHdoZWVsXzFfMl9EYW1wZXIgOiBXaGVlbF8xXzFfRGFtcGVyCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV8yX2RhbXBlcl9sYW5kIjsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgY2xhc3MgV2hlZWxfMl8yX0RhbXBlciA6IFdoZWVsXzFfMV9EYW1wZXIKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8yXzJfZGFtcGVyX2xhbmQiOwogICAgICAgICAgICB9OwogICAgICAgICAgICBjbGFzcyBkYXlsaWdodHMKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdHlwZT0iaGlkZSI7CiAgICAgICAgICAgICAgICBzb3VyY2U9InJwbSI7CiAgICAgICAgICAgICAgICBzZWxlY3Rpb249ImRheWxpZ2h0cyI7CiAgICAgICAgICAgICAgICBtaW5WYWx1ZT0tMC44OwogICAgICAgICAgICAgICAgbWF4VmFsdWU9MC4yOwogICAgICAgICAgICAgICAgdW5oaWRldmFsdWU9MTsKICAgICAgICAgICAgICAgIHNvdXJjZUFkZHJlc3M9ImNsYW1wIjsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGNsYXNzIHJldmVyc2VfbGlnaHQKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdHlwZT0iSGlkZSI7CiAgICAgICAgICAgICAgICBzZWxlY3Rpb249InJldmVyc2VfbGlnaHQiOwogICAgICAgICAgICAgICAgc291cmNlQWRkcmVzcz0iY2xhbXAiOwogICAgICAgICAgICAgICAgc291cmNlPSJHZWFyIjsKICAgICAgICAgICAgICAgIG1pblZhbHVlID0gLTE7CiAgICAgICAgICAgICAgICBtYXhWYWx1ZSA9IDA7CiAgICAgICAgICAgICAgICBoaWRlVmFsdWUgPSAiMC4yIjsgIAogICAgICAgICAgICB9OwogICAgICAgIH07CiAgICB9OwoKICAgIGNsYXNzIERpbmdvMkEyIDogQ2FyICAKICAgIHsgIAogICAgICAgIHNrZWxldG9uTmFtZSA9ICJEaW5nbyI7CiAgICAgICAgc2VjdGlvbnNJbmhlcml0ID0gIkNhciI7CiAgICAgICAgc2VjdGlvbnNbXSA9CiAgICAgICAgewogICAgICAgICAgICAiY2FtbzEiLAogICAgICAgICAgICAiY2FtbzIiLAogICAgICAgICAgICAiY2FtbzMiLAogICAgICAgICAgICAiY2FtbzQiLAogICAgICAgICAgICAiYnJ6ZG92ZSBzdmV0bG8iLAogICAgICAgICAgICAiY2xhbiIsCiAgICAgICAgICAgICJQIHN2ZXRsbyIsCiAgICAgICAgICAgICJMIHN2ZXRsbyIsCiAgICAgICAgICAgICJnbGFzczEiLAogICAgICAgICAgICAiZ2xhc3MyIiwKICAgICAgICAgICAgImdsYXNzMyIsCiAgICAgICAgICAgICJnbGFzczQiLAogICAgICAgICAgICAiZ2xhc3M1IiwKICAgICAgICAgICAgImNpc2xvIiwKICAgICAgICAgICAgImdydXBhIiwKICAgICAgICAgICAgInNpZGUiLAogICAgICAgICAgICAic2VrdG9yIiwKICAgICAgICAgICAgImNsYW4iLAogICAgICAgICAgICAiY2xhbl9zaWduIiwKICAgICAgICAgICAgInBvZHN2aXQgcHJpc3Ryb2p1IiwKICAgICAgICAgICAgInBvc2tvemVuaSIsCiAgICAgICAgICAgICJMIHN2ZXRsbyIsCiAgICAgICAgICAgICJQIHN2ZXRsbyIsCiAgICAgICAgICAgICJ6YXNsZWgiLAogICAgICAgICAgICAiY2Ftb25ldCIKICAgICAgICB9OyAgCgogICAgICAgIGNsYXNzIEFuaW1hdGlvbnMgOiBBbmltYXRpb25zCiAgICAgICAgeyAgCiAgICAgICAgICAgIGNsYXNzIGRhbWFnZUhpZGUgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHR5cGUgPSAiaGlkZSI7ICAKICAgICAgICAgICAgICAgIHNvdXJjZSA9ICJkYW1hZ2UiOyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb24gPSAiZGFtYWdlSGlkZSI7ICAKICAgICAgICAgICAgICAgIGhpZGVWYWx1ZSA9IDEuMDsgIAogICAgICAgICAgICB9OyAgCgogICAgICAgICAgICBjbGFzcyBkYW1hZ2VIaWRlVmV6IDogZGFtYWdlSGlkZSAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uID0gInR1cnJldCI7ICAKICAgICAgICAgICAgfTsgIAoKICAgICAgICAgICAgY2xhc3MgZGFtYWdlSGlkZUhsYXZlbiA6IGRhbWFnZUhpZGUgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbiA9ICJndW4iOyAgCiAgICAgICAgICAgIH07CgogICAgICAgICAgICBjbGFzcyB3aGVlbF8xXzFfZGVzdHJ1Y3QgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHR5cGU9ImhpZGUiOyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzFfMV9oaWRlIjsgIAogICAgICAgICAgICAgICAgc291cmNlPSJIaXRMRldoZWVsIjsgIAogICAgICAgICAgICAgICAgbWluVmFsdWUgPSAwOwogICAgICAgICAgICAgICAgbWF4VmFsdWUgPSAxOwogICAgICAgICAgICAgICAgaGlkZXZhbHVlID0gMC45OTk5OTsgIAogICAgICAgICAgICB9OyAgCiAgICAgICAgICAgIGNsYXNzIHdoZWVsXzFfMl9kZXN0cnVjdCA6IHdoZWVsXzFfMV9kZXN0cnVjdCAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc291cmNlPSJIaXRMQldoZWVsIjsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8xXzJfaGlkZSI7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyB3aGVlbF8xXzNfZGVzdHJ1Y3QgOiB3aGVlbF8xXzFfZGVzdHJ1Y3QgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNvdXJjZT0iSGl0TE1XaGVlbCI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV8zX2hpZGUiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMV80X2Rlc3RydWN0IDogd2hlZWxfMV8xX2Rlc3RydWN0ICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9IkhpdExGMldoZWVsIjsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8xXzRfaGlkZSI7ICAKICAgICAgICAgICAgfTsgIAoKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMl8xX2Rlc3RydWN0IDogd2hlZWxfMV8xX2Rlc3RydWN0ICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9IkhpdFJGV2hlZWwiOyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzJfMV9oaWRlIjsgIAogICAgICAgICAgICB9OyAgCiAgICAgICAgICAgIGNsYXNzIHdoZWVsXzJfMl9kZXN0cnVjdCA6IHdoZWVsXzFfMV9kZXN0cnVjdCAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc291cmNlPSJIaXRSQldoZWVsIjsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8yXzJfaGlkZSI7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyB3aGVlbF8yXzNfZGVzdHJ1Y3QgOiB3aGVlbF8xXzFfZGVzdHJ1Y3QgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNvdXJjZT0iSGl0Uk1XaGVlbCI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMl8zX2hpZGUiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMl80X2Rlc3RydWN0IDogd2hlZWxfMV8xX2Rlc3RydWN0ICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9IkhpdFJGMldoZWVsIjsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8yXzRfaGlkZSI7ICAKICAgICAgICAgICAgfTsgIAoKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMV8xX2Rlc3RydWN0X3VuaGlkZSAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgdHlwZT0iaGlkZSI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV8xX3VuaGlkZSI7ICAKICAgICAgICAgICAgICAgIHNvdXJjZT0iSGl0TEZXaGVlbCI7ICAKICAgICAgICAgICAgICAgIG1pblZhbHVlID0gMDsgICAKICAgICAgICAgICAgICAgIG1heFZhbHVlID0gMTsgICAKICAgICAgICAgICAgICAgIGhpZGV2YWx1ZSA9IDAuMDAwMDA7ICAKICAgICAgICAgICAgICAgIFVuSGlkZXZhbHVlID0gMS4wMDAwMDsgIAogICAgICAgICAgICB9OyAgCiAgICAgICAgICAgIGNsYXNzIHdoZWVsXzFfMl9kZXN0cnVjdF91bmhpZGUgOiB3aGVlbF8xXzFfZGVzdHJ1Y3RfdW5oaWRlICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9IkhpdExCV2hlZWwiOyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzFfMl91bmhpZGUiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMV8zX2Rlc3RydWN0X3VuaGlkZSA6IHdoZWVsXzFfMV9kZXN0cnVjdF91bmhpZGUgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNvdXJjZT0iSGl0TE1XaGVlbCI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV8zX3VuaGlkZSI7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyB3aGVlbF8xXzRfZGVzdHJ1Y3RfdW5oaWRlIDogd2hlZWxfMV8xX2Rlc3RydWN0X3VuaGlkZSAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc291cmNlPSJIaXRMRjJXaGVlbCI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV80X3VuaGlkZSI7ICAKICAgICAgICAgICAgfTsgIAoKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMl8xX2Rlc3RydWN0X3VuaGlkZSA6IHdoZWVsXzFfMV9kZXN0cnVjdF91bmhpZGUgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNvdXJjZT0iSGl0UkZXaGVlbCI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMl8xX3VuaGlkZSI7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyB3aGVlbF8yXzJfZGVzdHJ1Y3RfdW5oaWRlIDogd2hlZWxfMV8xX2Rlc3RydWN0X3VuaGlkZSAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc291cmNlPSJIaXRSQldoZWVsIjsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8yXzJfdW5oaWRlIjsgIAogICAgICAgICAgICB9OyAgCiAgICAgICAgICAgIGNsYXNzIHdoZWVsXzJfM19kZXN0cnVjdF91bmhpZGUgOiB3aGVlbF8xXzFfZGVzdHJ1Y3RfdW5oaWRlICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9IkhpdFJNV2hlZWwiOyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzJfM191bmhpZGUiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMl80X2Rlc3RydWN0X3VuaGlkZSA6IHdoZWVsXzFfMV9kZXN0cnVjdF91bmhpZGUgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNvdXJjZT0iSGl0UkYyV2hlZWwiOyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzJfNF91bmhpZGUiOyAgCiAgICAgICAgICAgIH07CgogICAgICAgICAgICAjZGVmaW5lIERhbWFnZU9mZnNldCAwLjIgIAoKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMV8xX0RhbWFnZSA6IHdoZWVsXzFfMV9kZXN0cnVjdCAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgdHlwZSA9ICJ0cmFuc2xhdGlvbiI7ICAKICAgICAgICAgICAgICAgIGF4aXMgPSAiQmFzaWNfRGFtcGVyX0Rlc3RydWN0X0F4aXMiOyAgCiAgICAgICAgICAgICAgICBtZW1vcnkgPSAxOyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb24gPSAid2hlZWxfMV8xX2RhbXBlciI7ICAKICAgICAgICAgICAgICAgIHNvdXJjZSA9ICJIaXRMRldoZWVsIjsgIAogICAgICAgICAgICAgICAgbWluVmFsdWUgPSAwLjA7ICAKICAgICAgICAgICAgICAgIG1heFZhbHVlID0gMTsgIAogICAgICAgICAgICAgICAgb2Zmc2V0MCA9IDA7ICAKICAgICAgICAgICAgICAgIG9mZnNldDEgPSBEYW1hZ2VPZmZzZXQ7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyB3aGVlbF8xXzJfRGFtYWdlIDogd2hlZWxfMV8xX0RhbWFnZSAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc291cmNlPSJIaXRMQldoZWVsIjsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8xXzJfZGFtcGVyIjsgIAogICAgICAgICAgICB9OyAgCiAgICAgICAgICAgIGNsYXNzIHdoZWVsXzFfM19EYW1hZ2UgOiB3aGVlbF8xXzFfRGFtYWdlICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9IkhpdExNV2hlZWwiOyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzFfM19kYW1wZXIiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMV80X0RhbWFnZSA6IHdoZWVsXzFfMV9EYW1hZ2UgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNvdXJjZT0iSGl0TEYyV2hlZWwiOyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzFfNF9kYW1wZXIiOyAgCiAgICAgICAgICAgIH07ICAKCiAgICAgICAgICAgIGNsYXNzIHdoZWVsXzJfMV9EYW1hZ2UgOiB3aGVlbF8xXzFfRGFtYWdlICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9IkhpdFJGV2hlZWwiOyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzJfMV9kYW1wZXIiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMl8yX0RhbWFnZSA6IHdoZWVsXzFfMV9EYW1hZ2UgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNvdXJjZT0iSGl0UkJXaGVlbCI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMl8yX2RhbXBlciI7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyB3aGVlbF8yXzNfRGFtYWdlIDogd2hlZWxfMV8xX0RhbWFnZSAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc291cmNlPSJIaXRSTVdoZWVsIjsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8yXzNfZGFtcGVyIjsgIAogICAgICAgICAgICB9OyAgCiAgICAgICAgICAgIGNsYXNzIHdoZWVsXzJfNF9EYW1hZ2UgOiB3aGVlbF8xXzFfRGFtYWdlICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9IkhpdFJGMldoZWVsIjsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8yXzRfZGFtcGVyIjsgIAogICAgICAgICAgICB9OyAgCgogICAgICAgICAgICBjbGFzcyB3aGVlbF8xXzFfRGFtcGVyX0RhbWFnZV9CYWNrQW5pbSA6IHdoZWVsXzFfMV9EYW1hZ2UgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV8xX2RhbXBlciI7ICAKICAgICAgICAgICAgICAgIG9mZnNldDEgPSAtMS4yKkRhbWFnZU9mZnNldDsgIAogICAgICAgICAgICB9OyAgCiAgICAgICAgICAgIGNsYXNzIHdoZWVsXzFfMl9EYW1wZXJfRGFtYWdlX0JhY2tBbmltIDogd2hlZWxfMV8xX0RhbXBlcl9EYW1hZ2VfQmFja0FuaW0gIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNvdXJjZT0iSGl0TEJXaGVlbCI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV8yX2RhbXBlciI7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyB3aGVlbF8xXzNfRGFtcGVyX0RhbWFnZV9CYWNrQW5pbSA6IHdoZWVsXzFfMV9EYW1wZXJfRGFtYWdlX0JhY2tBbmltICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9IkhpdExNV2hlZWwiOyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzFfM19kYW1wZXIiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMV80X0RhbXBlcl9EYW1hZ2VfQmFja0FuaW0gOiB3aGVlbF8xXzFfRGFtcGVyX0RhbWFnZV9CYWNrQW5pbSAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc291cmNlPSJIaXRMRjJXaGVlbCI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV80X2RhbXBlciI7ICAKICAgICAgICAgICAgfTsgIAoKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMl8xX0RhbXBlcl9EYW1hZ2VfQmFja0FuaW0gOiB3aGVlbF8xXzFfRGFtcGVyX0RhbWFnZV9CYWNrQW5pbSAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc291cmNlPSJIaXRSRldoZWVsIjsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8yXzFfZGFtcGVyIjsgIAogICAgICAgICAgICB9OyAgCiAgICAgICAgICAgIGNsYXNzIHdoZWVsXzJfMl9EYW1wZXJfRGFtYWdlX0JhY2tBbmltIDogd2hlZWxfMV8xX0RhbXBlcl9EYW1hZ2VfQmFja0FuaW0gIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNvdXJjZT0iSGl0UkJXaGVlbCI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMl8yX2RhbXBlciI7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyB3aGVlbF8yXzNfRGFtcGVyX0RhbWFnZV9CYWNrQW5pbSA6IHdoZWVsXzFfMV9EYW1wZXJfRGFtYWdlX0JhY2tBbmltICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9IkhpdFJNV2hlZWwiOyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzJfM19kYW1wZXIiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMl80X0RhbXBlcl9EYW1hZ2VfQmFja0FuaW0gOiB3aGVlbF8xXzFfRGFtcGVyX0RhbWFnZV9CYWNrQW5pbSAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc291cmNlPSJIaXRSRjJXaGVlbCI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMl80X2RhbXBlciI7ICAKICAgICAgICAgICAgfTsgIAoKICAgICAgICAgICAgY2xhc3MgR2xhc3MxX2Rlc3RydWN0ICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICB0eXBlPSJoaWRlIjsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJnbGFzczEiOyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9IkhpdEdsYXNzMSI7ICAKICAgICAgICAgICAgICAgIG1pblZhbHVlID0gMDsgICAKICAgICAgICAgICAgICAgIG1heFZhbHVlID0gMTsgICAKICAgICAgICAgICAgICAgIGhpZGV2YWx1ZSA9IDAuOTk5OTk7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyBHbGFzczJfZGVzdHJ1Y3QgOiBHbGFzczFfZGVzdHJ1Y3QgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0iZ2xhc3MyIjsgIAogICAgICAgICAgICAgICAgc291cmNlPSJIaXRHbGFzczIiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3MgR2xhc3MzX2Rlc3RydWN0IDogR2xhc3MxX2Rlc3RydWN0ICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249ImdsYXNzMyI7ICAKICAgICAgICAgICAgICAgIHNvdXJjZT0iSGl0R2xhc3MzIjsgIAogICAgICAgICAgICB9OyAgCiAgICAgICAgICAgIGNsYXNzIEdsYXNzNF9kZXN0cnVjdCA6IEdsYXNzMV9kZXN0cnVjdCAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJnbGFzczQiOyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9IkhpdEdsYXNzNCI7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyBHbGFzczVfZGVzdHJ1Y3QgOiBHbGFzczFfZGVzdHJ1Y3QgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0iZ2xhc3M1IjsgIAogICAgICAgICAgICAgICAgc291cmNlPSJIaXRHbGFzczUiOyAgCiAgICAgICAgICAgIH07CgogICAgICAgICAgICBjbGFzcyBXaGVlbF8xXzEgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHR5cGU9InJvdGF0aW9uWCI7ICAKICAgICAgICAgICAgICAgIHNvdXJjZT0id2hlZWwiOyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzFfMSI7ICAKICAgICAgICAgICAgICAgIGF4aXM9IndoZWVsXzFfMV9heGlzIjsgIAogICAgICAgICAgICAgICAgbWVtb3J5PTE7ICAKICAgICAgICAgICAgICAgIHNvdXJjZUFkZHJlc3M9Imxvb3AiOyAgCiAgICAgICAgICAgICAgICBtaW5WYWx1ZT0wOyAgCiAgICAgICAgICAgICAgICBtYXhWYWx1ZT0xOyAgCiAgICAgICAgICAgICAgICBhbmdsZTA9MDsgIAogICAgICAgICAgICAgICAgYW5nbGUxPSJyYWQgLTM2MCI7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyB3aGVlbF8yXzEgOiBXaGVlbF8xXzEgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMl8xIjsgIAogICAgICAgICAgICAgICAgYXhpcz0id2hlZWxfMl8xX2F4aXMiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3Mgd2hlZWxfMV8yIDogV2hlZWxfMV8xICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzFfMiI7ICAKICAgICAgICAgICAgICAgIGF4aXM9IndoZWVsXzFfMl9heGlzIjsgIAogICAgICAgICAgICB9OyAgCiAgICAgICAgICAgIGNsYXNzIHdoZWVsXzFfMyA6IFdoZWVsXzFfMSAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8xXzMiOyAgCiAgICAgICAgICAgICAgICBheGlzPSJ3aGVlbF8xXzNfYXhpcyI7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyBXaGVlbF8yXzIgOiBXaGVlbF8xXzEgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMl8yIjsgIAogICAgICAgICAgICAgICAgYXhpcz0id2hlZWxfMl8yX2F4aXMiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3MgV2hlZWxfMl8zIDogV2hlZWxfMV8xICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzJfMyI7ICAKICAgICAgICAgICAgICAgIGF4aXM9IndoZWVsXzJfM19heGlzIjsgIAogICAgICAgICAgICB9OyAgCiAgICAgICAgICAgIGNsYXNzIFdoZWVsXzFfNCA6IFdoZWVsXzFfMSAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8xXzQiOyAgCiAgICAgICAgICAgICAgICBheGlzPSJ3aGVlbF8xXzRfYXhpcyI7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyBXaGVlbF8yXzQgOiBXaGVlbF8xXzEgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMl80IjsgIAogICAgICAgICAgICAgICAgYXhpcz0id2hlZWxfMl80X2F4aXMiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3MgV2hlZWxfMV8xX0RhbXBlciAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgdHlwZT0idHJhbnNsYXRpb24iOyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9ImRhbXBlciI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV8xX2RhbXBlcl9sYW5kIjsgIAogICAgICAgICAgICAgICAgYXhpcz0icG9zdW4gd2hlZWxfMV8xIjsgIAogICAgICAgICAgICAgICAgYW5pbVBlcmlvZCA9IDE7ICAKICAgICAgICAgICAgICAgIG1pblZhbHVlPSIwIjsgIAogICAgICAgICAgICAgICAgbWF4VmFsdWU9IjEiOyAgCiAgICAgICAgICAgICAgICBvZmZzZXQwPSAiMC41IjsgIAogICAgICAgICAgICAgICAgb2Zmc2V0MT0gIi0wLjUiOyAgCiAgICAgICAgICAgICAgICBtZW1vcnk9MTsgIAogICAgICAgICAgICB9OyAgCiAgICAgICAgICAgIGNsYXNzIHdoZWVsXzJfMV9EYW1wZXIgOiBXaGVlbF8xXzFfRGFtcGVyICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzJfMV9kYW1wZXJfbGFuZCI7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICBjbGFzcyB3aGVlbF8xXzJfRGFtcGVyIDogV2hlZWxfMV8xX0RhbXBlciAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJ3aGVlbF8xXzJfZGFtcGVyX2xhbmQiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3MgV2hlZWxfMl8yX0RhbXBlciA6IFdoZWVsXzFfMV9EYW1wZXIgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMl8yX2RhbXBlcl9sYW5kIjsgIAogICAgICAgICAgICB9OwogICAgICAgICAgICAgIAogICAgICAgICAgICBjbGFzcyBEcml2aW5nV2hlZWwgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgdHlwZT0icm90YXRpb24iOyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9ImRyaXZpbmdXaGVlbCI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0iZHJpdmV3aGVlbCI7ICAKICAgICAgICAgICAgICAgIGF4aXM9ImRyaXZld2hlZWxfYXhpcyI7ICAKICAgICAgICAgICAgICAgIG1lbW9yeT0xOyAgCiAgICAgICAgICAgICAgICBtaW5WYWx1ZT0tMTsgIAogICAgICAgICAgICAgICAgbWF4VmFsdWU9MTsgIAogICAgICAgICAgICAgICAgYW5nbGUwPShyYWQgNzApOyAgCiAgICAgICAgICAgICAgICBhbmdsZTE9KHJhZCAtNzApOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3MgU3RlZXJpbmdfMV8xICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICB0eXBlPSJyb3RhdGlvblkiOyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9ImRyaXZpbmdXaGVlbCI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0id2hlZWxfMV8xX3N0ZWVyaW5nIjsgIAogICAgICAgICAgICAgICAgYXhpcz0id2hlZWxfMV8xX3N0ZWVyaW5nX2F4aXMiOyAgCiAgICAgICAgICAgICAgICBtZW1vcnk9MTsgIAogICAgICAgICAgICAgICAgbWluVmFsdWU9InJhZCAtOTAiOyAgCiAgICAgICAgICAgICAgICBtYXhWYWx1ZT0icmFkICs5MCI7ICAKICAgICAgICAgICAgICAgIGFuZ2xlMD0xLjA0NzE5ODE7ICAKICAgICAgICAgICAgICAgIGFuZ2xlMT0tMS4wNDcxOTgxOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3MgU3RlZXJpbmdfMl8xIDogU3RlZXJpbmdfMV8xICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICBzZWxlY3Rpb249IndoZWVsXzJfMV9zdGVlcmluZyI7ICAKICAgICAgICAgICAgICAgIGF4aXM9IndoZWVsXzJfMV9zdGVlcmluZ19heGlzIjsgIAogICAgICAgICAgICAgICAgYW5nbGUwPTEuMDQ3MTk4MTsgIAogICAgICAgICAgICAgICAgYW5nbGUxPS0xLjA0NzE5ODE7ICAKICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIGNsYXNzIEluZGljYXRvckZ1ZWwgOiBSb3RhdGlvbgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB0eXBlPSJyb3RhdGlvbiI7CiAgICAgICAgICAgICAgICBzb3VyY2U9ImZ1ZWwiOwogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJpbmRpX2Z1ZWwiOwogICAgICAgICAgICAgICAgYXhpcz0iYXhpc19mdWVsIjsKICAgICAgICAgICAgICAgIG1lbW9yeT0xOwogICAgICAgICAgICAgICAgbWluVmFsdWU9MC4wMDAwMDA7CiAgICAgICAgICAgICAgICBtYXhWYWx1ZT0xLjAwMDAwMDsKICAgICAgICAgICAgICAgIGFuZ2xlMD0tMC4wODcyNjY7CiAgICAgICAgICAgICAgICBhbmdsZTE9MS41NzA3OTc7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIC8vIHNwZWVkIGZyb20gMCB0byA0MCBrbWgKICAgICAgICAgICAgY2xhc3MgSW5kaWNhdG9yU3BlZWQ0MCAgOiBSb3RhdGlvbgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB0eXBlID0gInJvdGF0aW9uIjsKICAgICAgICAgICAgICAgIHNvdXJjZT0ic3BlZWQiOwogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJpbmRpX3NwZWVkIjsKICAgICAgICAgICAgICAgIGF4aXM9ImF4aXNfc3BlZWQiOwogICAgICAgICAgICAgICAgbWVtb3J5PTE7CiAgICAgICAgICAgICAgICBtaW5WYWx1ZT0wLjAwMDAwMDsKICAgICAgICAgICAgICAgIG1heFZhbHVlPTExLjExMTsKICAgICAgICAgICAgICAgIGFuZ2xlMD0icmFkIC0zNiI7CiAgICAgICAgICAgICAgICBhbmdsZTE9InJhZCArNTQiOwogICAgICAgICAgICB9OwogICAgICAgICAgICAvLyBzcGVlZCBmcm9tIDQwIHRvIDgwCiAgICAgICAgICAgIGNsYXNzIEluZGljYXRvclNwZWVkODAgOiBSb3RhdGlvbgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB0eXBlID0gInJvdGF0aW9uIjsKICAgICAgICAgICAgICAgIHNvdXJjZT0ic3BlZWQiOwogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJpbmRpX3NwZWVkIjsKICAgICAgICAgICAgICAgIGF4aXM9ImF4aXNfc3BlZWQiOwogICAgICAgICAgICAgICAgbWVtb3J5PTE7CiAgICAgICAgICAgICAgICBtaW5WYWx1ZT0xMS4xMTI7CiAgICAgICAgICAgICAgICBtYXhWYWx1ZT0yMi4yMjI7CiAgICAgICAgICAgICAgICBhbmdsZTA9MDsKICAgICAgICAgICAgICAgIGFuZ2xlMT0icmFkICs3NyI7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIC8vIHNwZWVkIGZyb20gODAgdG8gMTI1CiAgICAgICAgICAgIGNsYXNzIEluZGljYXRvclNwZWVkMTI1IDogUm90YXRpb24KICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdHlwZSA9ICJyb3RhdGlvbiI7CiAgICAgICAgICAgICAgICBzb3VyY2U9InNwZWVkIjsKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0iaW5kaV9zcGVlZCI7CiAgICAgICAgICAgICAgICBheGlzPSJheGlzX3NwZWVkIjsKICAgICAgICAgICAgICAgIG1lbW9yeT0xOwogICAgICAgICAgICAgICAgbWluVmFsdWU9MjIuMjIzOwogICAgICAgICAgICAgICAgbWF4VmFsdWU9MzQuNzIyOwogICAgICAgICAgICAgICAgYW5nbGUwPTA7CiAgICAgICAgICAgICAgICBhbmdsZTE9InJhZCArODIiOwogICAgICAgICAgICB9OwogICAgICAgICAgICBjbGFzcyBJbmRpY2F0b3JSUE0gOiBSb3RhdGlvbgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB0eXBlID0gInJvdGF0aW9uIjsKICAgICAgICAgICAgICAgIHNvdXJjZT0icnBtIjsKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0iaW5kaV9ycG0iOwogICAgICAgICAgICAgICAgYXhpcz0iYXhpc19ycG0iOwogICAgICAgICAgICAgICAgbWVtb3J5PTE7CiAgICAgICAgICAgICAgICBtaW5WYWx1ZT0wOwogICAgICAgICAgICAgICAgbWF4VmFsdWU9MTsKICAgICAgICAgICAgICAgIGFuZ2xlMD0icmFkIC0yMDYiOwogICAgICAgICAgICAgICAgYW5nbGUxPSJyYWQgMjkiOwogICAgICAgICAgICB9OwogICAgICAgICAgICAgIAogICAgICAgICAgICBjbGFzcyBkYXlsaWdodHMgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHR5cGU9ImhpZGUiOyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9InJwbSI7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0iZGF5bGlnaHRzIjsgIAogICAgICAgICAgICAgICAgbWluVmFsdWU9LTAuODsgIAogICAgICAgICAgICAgICAgbWF4VmFsdWU9MC4yOyAgCiAgICAgICAgICAgICAgICB1bmhpZGV2YWx1ZT0xOyAgCiAgICAgICAgICAgICAgICBzb3VyY2VBZGRyZXNzPSJjbGFtcCI7ICAKICAgICAgICAgICAgfTsgIAogICAgICAgICAgICAgIAogICAgICAgICAgICBjbGFzcyByZXZlcnNlX2xpZ2h0ICAKICAgICAgICAgICAgeyAgCiAgICAgICAgICAgICAgICB0eXBlPSJIaWRlIjsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJyZXZlcnNlX2xpZ2h0IjsgIAogICAgICAgICAgICAgICAgc291cmNlQWRkcmVzcz0iY2xhbXAiOyAgCiAgICAgICAgICAgICAgICBzb3VyY2U9IkdlYXIiOyAgCiAgICAgICAgICAgICAgICBtaW5WYWx1ZSA9IC0xOyAgCiAgICAgICAgICAgICAgICBtYXhWYWx1ZSA9IDA7ICAKICAgICAgICAgICAgICAgIGhpZGVWYWx1ZSA9ICIwLjIiOyAgICAgIAogICAgICAgICAgICB9OyAgCiAgICAgICAgICAgICAgCiAgICAgICAgICAgIGNsYXNzIGRhbWFnZUhpZGVkb29yMSA6IGRhbWFnZUhpZGUgIAogICAgICAgICAgICB7ICAKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0iZG9vcjEiOyAgCiAgICAgICAgICAgIH07ICAKICAgICAgICAgICAgY2xhc3MgZGFtYWdlSGlkZWRvb3IyIDogZGFtYWdlSGlkZSAgCiAgICAgICAgICAgIHsgIAogICAgICAgICAgICAgICAgc2VsZWN0aW9uPSJkb29yMiI7ICAKICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIGNsYXNzIGNhbW9OZXRIaWRlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHR5cGUgPSAiaGlkZSI7CiAgICAgICAgICAgICAgICBzb3VyY2UgPSAidXNlciI7CiAgICAgICAgICAgICAgICBzZWxlY3Rpb24gPSAiY2Ftb25ldCI7CiAgICAgICAgICAgICAgICBoaWRlVmFsdWUgPSAxLjA7CiAgICAgICAgICAgICAgICB1bmhpZGVWYWx1ZSA9IDAuMDsKICAgICAgICAgICAgICAgIG1pblZhbHVlID0gMDsKICAgICAgICAgICAgICAgIG1heFZhbHVlID0gMTsKICAgICAgICAgICAgfTsKICAgICAgICB9OyAgCiAgICB9OwoKICAgIGNsYXNzIERpbmdvMkEyTUcgOiBEaW5nbzJBMgogICAgewogICAgICAgIHNrZWxldG9uTmFtZSA9ICJEaW5nb01HIjsKICAgICAgICBzZWN0aW9uc0luaGVyaXQgPSAiRGluZ28yQTIiOwogICAgICAgIHNlY3Rpb25zW10gPQogICAgICAgIHsKICAgICAgICAgICAgImNhbW81IiwKICAgICAgICAgICAgInR1cnJldCIsCiAgICAgICAgICAgICJndW4iLAogICAgICAgICAgICAiZ3VubmVydmlldyIsCiAgICAgICAgfTsgIAoKICAgICAgICBjbGFzcyBBbmltYXRpb25zIDogQW5pbWF0aW9ucwogICAgICAgIHsKICAgICAgICAgICAgY2xhc3MgTWFpblR1cnJldAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB0eXBlPSJyb3RhdGlvblkiOwogICAgICAgICAgICAgICAgc291cmNlPSJtYWluVHVycmV0IjsKICAgICAgICAgICAgICAgIHNlbGVjdGlvbj0idHVycmV0IjsKICAgICAgICAgICAgICAgIGF4aXM9ImF4aXNfdHVycmV0IjsKICAgICAgICAgICAgICAgIGFuaW1QZXJpb2Q9MDsKICAgICAgICAgICAgICAgIG1pblZhbHVlPSJyYWQgLTM2MCI7CiAgICAgICAgICAgICAgICBtYXhWYWx1ZT0icmFkICszNjAiOwogICAgICAgICAgICAgICAgYW5nbGUwPSJyYWQgLTM2MCI7CiAgICAgICAgICAgICAgICBhbmdsZTE9InJhZCArMzYwIjsKICAgICAgICAgICAgICAgIG1lbW9yeSA9IDE7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICB9OwoKICAgICAgICAgICAgY2xhc3MgTWFpbkd1biA6IE1haW5UdXJyZXQKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdHlwZT0icm90YXRpb25YIjsKICAgICAgICAgICAgICAgIHNvdXJjZT0ibWFpbkd1biI7CiAgICAgICAgICAgICAgICBzZWxlY3Rpb249Imd1biI7CiAgICAgICAgICAgICAgICBheGlzPSJheGlzX2d1biI7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBjbGFzcyBNYWdhemluZV9oaWRlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHR5cGUgPSAiaGlkZSI7CiAgICAgICAgICAgICAgICBzb3VyY2UgPSAicmVsb2FkTWFnYXppbmUiOwogICAgICAgICAgICAgICAgc291cmNlQWRkcmVzcyA9ICJtaXJyb3IiOwogICAgICAgICAgICAgICAgc2VsZWN0aW9uID0gIm1hZ2F6aW5lIjsKICAgICAgICAgICAgICAgIG1pblZhbHVlID0gMC4wOwogICAgICAgICAgICAgICAgbWF4VmFsdWUgPSAwLjU7CiAgICAgICAgICAgICAgICBoaWRlVmFsdWUgPSAwLjU2OwogICAgICAgICAgICB9OwogICAgICAgICAgICBjbGFzcyBhbW1vX2JlbHRfcm90YXRpb24KICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdHlwZSA9ICJyb3RhdGlvbloiOwogICAgICAgICAgICAgICAgc291cmNlID0gIlJlbG9hZEFuaW0iOwogICAgICAgICAgICAgICAgc2VsZWN0aW9uID0gImFtbW9fYmVsdCI7CiAgICAgICAgICAgICAgICBheGlzID0gImFtbW9fYmVsdF9heGlzIjsKICAgICAgICAgICAgICAgIG1lbW9yeSA9IDE7CiAgICAgICAgICAgICAgICBzb3VyY2VBZGRyZXNzID0gImxvb3AiOwogICAgICAgICAgICAgICAgbWluVmFsdWUgPSAwLjAwMDAwMDsKICAgICAgICAgICAgICAgIG1heFZhbHVlID0gMS4wMDAwOwogICAgICAgICAgICAgICAgYW5nbGUwID0gMC4wMDAwMDA7CiAgICAgICAgICAgICAgICBhbmdsZTEgPSAtMC4yMDk0NDA7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICAvKkJVTExFVF9ISURFKDAwMSwxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAwMiwxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAwMywxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAwNCwxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAwNSwxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAwNiwxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAwNywxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAwOCwxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAwOSwxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAxMCwxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAxMSwxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAxMiwxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAxMywxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAxNCwxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAxNSwxNiwxMDApCiAgICAgICAgICAgIEJVTExFVF9ISURFKDAxNiwxNiwxMDApKi8KICAgICAgICB9OwogICAgfTsKfTsKICAgIA==