From 20b58f3c0e66b13421749b1bbda9a05dcb391f17 Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Mon, 3 Oct 2022 14:53:54 +0800 Subject: [PATCH 01/14] =?UTF-8?q?java=20=E8=AE=BE=E8=AE=A1=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=20=E5=8E=9F=E5=9E=8B=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pattern/prototype/demo/Realizetype.java | 19 +++++++++++ .../hongyi/pattern/prototype/demo/Test.java | 16 ++++++++++ .../pattern/prototype/demo1/Citation.java | 32 +++++++++++++++++++ .../pattern/prototype/demo1/CitationTest.java | 21 ++++++++++++ 4 files changed, 88 insertions(+) create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/prototype/demo/Realizetype.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/prototype/demo/Test.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/prototype/demo1/Citation.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/prototype/demo1/CitationTest.java diff --git a/design_patterns/src/main/java/com/hongyi/pattern/prototype/demo/Realizetype.java b/design_patterns/src/main/java/com/hongyi/pattern/prototype/demo/Realizetype.java new file mode 100644 index 0000000..93deed5 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/prototype/demo/Realizetype.java @@ -0,0 +1,19 @@ +package com.hongyi.pattern.prototype.demo; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/3 14:34 + * @Version 1.0 + */ +public class Realizetype implements Cloneable{ + + public Realizetype() { + System.out.println("具体的原型对象创建完成"); + } + + @Override + public Realizetype clone() throws CloneNotSupportedException { + System.out.println("具体原型复制成功"); + return (Realizetype) super.clone(); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/prototype/demo/Test.java b/design_patterns/src/main/java/com/hongyi/pattern/prototype/demo/Test.java new file mode 100644 index 0000000..88638f3 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/prototype/demo/Test.java @@ -0,0 +1,16 @@ +package com.hongyi.pattern.prototype.demo; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/3 14:36 + * @Version 1.0 + */ +public class Test { + public static void main(String[] args) throws CloneNotSupportedException { + // 创建一个原型类对象 + Realizetype realizetype = new Realizetype(); + // 调用clone方法 + Realizetype clone = realizetype.clone(); + System.out.println(clone == realizetype); // false + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/prototype/demo1/Citation.java b/design_patterns/src/main/java/com/hongyi/pattern/prototype/demo1/Citation.java new file mode 100644 index 0000000..bd64d72 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/prototype/demo1/Citation.java @@ -0,0 +1,32 @@ +package com.hongyi.pattern.prototype.demo1; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/3 14:41 + * @Version 1.0 + */ +public class Citation implements Cloneable{ + + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public Citation clone() { + try { + return (Citation) super.clone(); + } catch (CloneNotSupportedException e) { + throw new AssertionError(); + } + } + + public void show() { + System.out.println(this.name + "同学:在2022学年第一学期中表现优秀,被评为三好学生。特发此状!"); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/prototype/demo1/CitationTest.java b/design_patterns/src/main/java/com/hongyi/pattern/prototype/demo1/CitationTest.java new file mode 100644 index 0000000..e830e42 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/prototype/demo1/CitationTest.java @@ -0,0 +1,21 @@ +package com.hongyi.pattern.prototype.demo1; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/3 14:43 + * @Version 1.0 + */ +public class CitationTest { + public static void main(String[] args) { + // 创建原型对象 + Citation citation = new Citation(); + // 克隆 + Citation c1 = citation.clone(); + c1.setName("张三"); + c1.show(); + + Citation c2 = citation.clone(); + c2.setName("李四"); + c2.show(); + } +} -- Gitee From 5d50858da755172a25fbc3474f367dbfecce065e Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Mon, 3 Oct 2022 16:13:41 +0800 Subject: [PATCH 02/14] =?UTF-8?q?java=20=E8=AE=BE=E8=AE=A1=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=20=E6=9E=84=E5=BB=BA=E8=80=85=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hongyi/pattern/builder/demo1/Bike.java | 16 +++++ .../hongyi/pattern/builder/demo1/Builder.java | 18 ++++++ .../pattern/builder/demo1/Director.java | 22 +++++++ .../pattern/builder/demo1/MobikeBuilder.java | 23 +++++++ .../pattern/builder/demo1/OfoBuilder.java | 23 +++++++ .../hongyi/pattern/builder/demo1/Test.java | 17 ++++++ .../hongyi/pattern/builder/demo2/Phone.java | 60 +++++++++++++++++++ .../hongyi/pattern/builder/demo2/Test.java | 19 ++++++ 8 files changed, 198 insertions(+) create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Bike.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Builder.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Director.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/MobikeBuilder.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/OfoBuilder.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Test.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/builder/demo2/Phone.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/builder/demo2/Test.java diff --git a/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Bike.java b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Bike.java new file mode 100644 index 0000000..c1cb3cf --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Bike.java @@ -0,0 +1,16 @@ +package com.hongyi.pattern.builder.demo1; + +import lombok.Data; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/3 15:04 + * @Version 1.0 + */ +@Data +public class Bike { + // 车架 + private String frame; + // 车座 + private String seat; +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Builder.java b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Builder.java new file mode 100644 index 0000000..11805ea --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Builder.java @@ -0,0 +1,18 @@ +package com.hongyi.pattern.builder.demo1; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/3 15:05 + * @Version 1.0 + */ +public abstract class Builder { + // 声明一个Bike类型的变量,并赋值,但是并未构建 + protected Bike bike = new Bike(); + + // 声明构建方法 + public abstract void buildFrame(); + + public abstract void buildSeat(); + + public abstract Bike createBike(); +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Director.java b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Director.java new file mode 100644 index 0000000..74f36ad --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Director.java @@ -0,0 +1,22 @@ +package com.hongyi.pattern.builder.demo1; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/3 15:11 + * @Version 1.0 + */ +public class Director { + + private Builder builder; + + public Director(Builder builder) { + this.builder = builder; + } + + // 组装自行车 + public Bike construct() { + builder.buildFrame(); + builder.buildSeat(); + return builder.createBike(); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/MobikeBuilder.java b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/MobikeBuilder.java new file mode 100644 index 0000000..a223257 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/MobikeBuilder.java @@ -0,0 +1,23 @@ +package com.hongyi.pattern.builder.demo1; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/3 15:07 + * @Version 1.0 + */ +public class MobikeBuilder extends Builder{ + @Override + public void buildFrame() { + bike.setFrame("摩拜车架"); + } + + @Override + public void buildSeat() { + bike.setSeat("摩拜车座"); + } + + @Override + public Bike createBike() { + return bike; + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/OfoBuilder.java b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/OfoBuilder.java new file mode 100644 index 0000000..63db8a4 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/OfoBuilder.java @@ -0,0 +1,23 @@ +package com.hongyi.pattern.builder.demo1; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/3 15:09 + * @Version 1.0 + */ +public class OfoBuilder extends Builder{ + @Override + public void buildFrame() { + bike.setFrame("Ofo车架"); + } + + @Override + public void buildSeat() { + bike.setSeat("Ofo车座"); + } + + @Override + public Bike createBike() { + return bike; + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Test.java b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Test.java new file mode 100644 index 0000000..e6dd730 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo1/Test.java @@ -0,0 +1,17 @@ +package com.hongyi.pattern.builder.demo1; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/3 15:12 + * @Version 1.0 + */ +public class Test { + public static void main(String[] args) { + // 创建指挥者 + Director director = new Director(new MobikeBuilder()); + // 指挥组装 + Bike bike = director.construct(); + System.out.println(bike.getFrame()); + System.out.println(bike.getSeat()); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/builder/demo2/Phone.java b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo2/Phone.java new file mode 100644 index 0000000..c57bd5d --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo2/Phone.java @@ -0,0 +1,60 @@ +package com.hongyi.pattern.builder.demo2; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.ToString; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/3 15:57 + * @Version 1.0 + */ +@ToString +public class Phone { + private String cpu; + private String screen; + private String memory; + private String mainboard; + + // 私有构造方法 + private Phone(Builder builder) { + this.cpu = builder.cpu; + this.screen = builder.screen; + this.memory = builder.memory; + this.mainboard = builder.mainboard; + }; + + // 静态内部类——建造者类 + public static final class Builder { + private String cpu; + private String screen; + private String memory; + private String mainboard; + + public Builder cpu(String cpu) { + this.cpu = cpu; + return this; + } + + public Builder screen(String screen) { + this.screen = screen; + return this; + } + + public Builder memory(String memory) { + this.memory = memory; + return this; + } + + public Builder mainboard(String mainboard) { + this.mainboard = mainboard; + return this; + } + + // 使用构建者创建对象 + public Phone build() { + return new Phone(this); + } + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/builder/demo2/Test.java b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo2/Test.java new file mode 100644 index 0000000..ef6a3de --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/builder/demo2/Test.java @@ -0,0 +1,19 @@ +package com.hongyi.pattern.builder.demo2; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/3 16:04 + * @Version 1.0 + */ +public class Test { + public static void main(String[] args) { + // 使用构建者创建对象 + Phone phone = new Phone.Builder() + .cpu("intel") // 链式调用 + .screen("三星") + .memory("金士顿") + .mainboard("华硕") + .build(); + System.out.println(phone); + } +} -- Gitee From fe8af3c42a5c5df7f28e75815595aebabd06e9d4 Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Tue, 4 Oct 2022 10:44:34 +0800 Subject: [PATCH 03/14] =?UTF-8?q?java=20=E8=AE=BE=E8=AE=A1=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=20=E4=BB=A3=E7=90=86=E6=A8=A1=E5=BC=8F=20=E9=9D=99?= =?UTF-8?q?=E6=80=81=E4=BB=A3=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pattern/proxy/static_proxy/ProxyPoint.java | 18 ++++++++++++++++++ .../proxy/static_proxy/SellTickets.java | 11 +++++++++++ .../pattern/proxy/static_proxy/Test.java | 15 +++++++++++++++ .../proxy/static_proxy/TrainStation.java | 14 ++++++++++++++ 4 files changed, 58 insertions(+) create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/ProxyPoint.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/SellTickets.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/Test.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/TrainStation.java diff --git a/design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/ProxyPoint.java b/design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/ProxyPoint.java new file mode 100644 index 0000000..b4e0043 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/ProxyPoint.java @@ -0,0 +1,18 @@ +package com.hongyi.pattern.proxy.static_proxy; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/4 10:37 + * @Version 1.0 + */ +// 代售点——代理类 +public class ProxyPoint implements SellTickets{ + + private TrainStation trainStation = new TrainStation(); + + @Override + public void sell() { + System.out.println("代理点收取额外费用"); + trainStation.sell(); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/SellTickets.java b/design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/SellTickets.java new file mode 100644 index 0000000..c4307bc --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/SellTickets.java @@ -0,0 +1,11 @@ +package com.hongyi.pattern.proxy.static_proxy; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/4 10:35 + * @Version 1.0 + */ +// 卖火车票的接口——抽象主题类 +public interface SellTickets { + void sell(); +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/Test.java b/design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/Test.java new file mode 100644 index 0000000..61421f0 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/Test.java @@ -0,0 +1,15 @@ +package com.hongyi.pattern.proxy.static_proxy; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/4 10:38 + * @Version 1.0 + */ +public class Test { + public static void main(String[] args) { + // 创建代理类对象 + ProxyPoint proxyPoint = new ProxyPoint(); + // 买票 + proxyPoint.sell(); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/TrainStation.java b/design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/TrainStation.java new file mode 100644 index 0000000..a28ed66 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/proxy/static_proxy/TrainStation.java @@ -0,0 +1,14 @@ +package com.hongyi.pattern.proxy.static_proxy; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/4 10:36 + * @Version 1.0 + */ +// 火车站类——具体主题类 +public class TrainStation implements SellTickets{ + @Override + public void sell() { + System.out.println("火车站买票"); + } +} -- Gitee From 52789637d821f4660d327c3aec2cefb862913649 Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Tue, 4 Oct 2022 12:03:40 +0800 Subject: [PATCH 04/14] =?UTF-8?q?java=20=E8=AE=BE=E8=AE=A1=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=20=E4=BB=A3=E7=90=86=E6=A8=A1=E5=BC=8F-=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E4=BB=A3=E7=90=86-JDK=E5=8A=A8=E6=80=81=E4=BB=A3?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pattern/proxy/jdk_proxy/ProxyFactory.java | 43 +++++++++++++++++++ .../pattern/proxy/jdk_proxy/SellTickets.java | 11 +++++ .../hongyi/pattern/proxy/jdk_proxy/Test.java | 18 ++++++++ .../pattern/proxy/jdk_proxy/TrainStation.java | 14 ++++++ 4 files changed, 86 insertions(+) create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/ProxyFactory.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/SellTickets.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/Test.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/TrainStation.java diff --git a/design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/ProxyFactory.java b/design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/ProxyFactory.java new file mode 100644 index 0000000..90f8016 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/ProxyFactory.java @@ -0,0 +1,43 @@ +package com.hongyi.pattern.proxy.jdk_proxy; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/4 10:45 + * @Version 1.0 + */ +// 获取代理对象的工厂类 +public class ProxyFactory { + + // 声明目标对象 + private TrainStation station = new TrainStation(); + + // 获取代理对象 + public SellTickets getProxyObject() { + /* + * ClassLoader loader : 类加载器,用于加载代理类。可以通过目标对象获取类加载器 + * Class[] interfaces : 代理类实现的接口的字节码对象 + * InvocationHandler h : 代理对象的调用处理程序 + * */ + return (SellTickets) Proxy.newProxyInstance( + station.getClass().getClassLoader(), + station.getClass().getInterfaces(), + /* + * proxy 代理对象,和proxyObject相同,基本不用 + * method 对接口(SellTickets)中的方法(sell)进行封装的对象 + * args 调用方法(sell)的实际参数 + * 返回值:方法(sell)的返回值 + */ + (proxy, method, args) -> { + // System.out.println("invoke方法执行..."); + // 方法增强 + System.out.println("代售点收取额外费用..."); + // 执行目标对象的方法 + return method.invoke(station, args); + } + ); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/SellTickets.java b/design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/SellTickets.java new file mode 100644 index 0000000..aefe37d --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/SellTickets.java @@ -0,0 +1,11 @@ +package com.hongyi.pattern.proxy.jdk_proxy; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/4 10:35 + * @Version 1.0 + */ +// 卖火车票的接口——抽象主题类 +public interface SellTickets { + void sell(); +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/Test.java b/design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/Test.java new file mode 100644 index 0000000..6944600 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/Test.java @@ -0,0 +1,18 @@ +package com.hongyi.pattern.proxy.jdk_proxy; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/4 10:53 + * @Version 1.0 + */ +public class Test { + public static void main(String[] args) { + // 获取代理对象 + // 1.创建代理工厂对象 + ProxyFactory factory = new ProxyFactory(); + // 2.使用工厂对象获取代理对象 + SellTickets proxyObject = factory.getProxyObject(); + // 3.调用方法 + proxyObject.sell(); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/TrainStation.java b/design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/TrainStation.java new file mode 100644 index 0000000..93de2a1 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/proxy/jdk_proxy/TrainStation.java @@ -0,0 +1,14 @@ +package com.hongyi.pattern.proxy.jdk_proxy; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/4 10:36 + * @Version 1.0 + */ +// 火车站类——具体主题类 +public class TrainStation implements SellTickets { + @Override + public void sell() { + System.out.println("火车站买票"); + } +} -- Gitee From 4566c2ebe2b26bd2749367f46d015ed611a323bb Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Tue, 4 Oct 2022 20:04:28 +0800 Subject: [PATCH 05/14] =?UTF-8?q?java=20=E8=AE=BE=E8=AE=A1=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=20=E4=BB=A3=E7=90=86=E6=A8=A1=E5=BC=8F-=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E4=BB=A3=E7=90=86-CGLIB=E5=8A=A8=E6=80=81=E4=BB=A3?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- design_patterns/pom.xml | 6 +++ .../proxy/cglib_proxy/ProxyFactory.java | 38 +++++++++++++++++++ .../pattern/proxy/cglib_proxy/Test.java | 17 +++++++++ .../proxy/cglib_proxy/TrainStation.java | 12 ++++++ 4 files changed, 73 insertions(+) create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/proxy/cglib_proxy/ProxyFactory.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/proxy/cglib_proxy/Test.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/proxy/cglib_proxy/TrainStation.java diff --git a/design_patterns/pom.xml b/design_patterns/pom.xml index 363807a..159cc04 100644 --- a/design_patterns/pom.xml +++ b/design_patterns/pom.xml @@ -19,6 +19,12 @@ lombok 1.18.22 + + + cglib + cglib + 2.2.2 + \ No newline at end of file diff --git a/design_patterns/src/main/java/com/hongyi/pattern/proxy/cglib_proxy/ProxyFactory.java b/design_patterns/src/main/java/com/hongyi/pattern/proxy/cglib_proxy/ProxyFactory.java new file mode 100644 index 0000000..266df14 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/proxy/cglib_proxy/ProxyFactory.java @@ -0,0 +1,38 @@ +package com.hongyi.pattern.proxy.cglib_proxy; + +import net.sf.cglib.proxy.Enhancer; +import net.sf.cglib.proxy.MethodInterceptor; +import net.sf.cglib.proxy.MethodProxy; + +import java.lang.reflect.Method; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/4 19:47 + * @Version 1.0 + */ +public class ProxyFactory implements MethodInterceptor { + + // 声明目标对象 + private TrainStation station = new TrainStation(); + + public TrainStation getProxyObject() { + // 创建Enhancer对象,类似于JDK代理中的Proxy类 + Enhancer enhancer = new Enhancer(); + // 设置父类的字节码对象(指定代理类的父类) + enhancer.setSuperclass(TrainStation.class); + // 设置回调函数 + enhancer.setCallback(this); + // 创建代理对象 + TrainStation proxyObject = (TrainStation) enhancer.create(); + return proxyObject; + } + + @Override + public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable { + System.out.println("代售点收取额外费用"); + // 调用目标对象的方法 + method.invoke(station, objects); + return null; + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/proxy/cglib_proxy/Test.java b/design_patterns/src/main/java/com/hongyi/pattern/proxy/cglib_proxy/Test.java new file mode 100644 index 0000000..8234e6a --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/proxy/cglib_proxy/Test.java @@ -0,0 +1,17 @@ +package com.hongyi.pattern.proxy.cglib_proxy; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/4 19:51 + * @Version 1.0 + */ +public class Test { + public static void main(String[] args) { + // 创建代理工厂对象 + ProxyFactory factory = new ProxyFactory(); + // 获取代理对象 + TrainStation proxyObject = factory.getProxyObject(); + // 调用代理对象中的sell方法 + proxyObject.sell(); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/proxy/cglib_proxy/TrainStation.java b/design_patterns/src/main/java/com/hongyi/pattern/proxy/cglib_proxy/TrainStation.java new file mode 100644 index 0000000..2e4062d --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/proxy/cglib_proxy/TrainStation.java @@ -0,0 +1,12 @@ +package com.hongyi.pattern.proxy.cglib_proxy; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/4 10:36 + * @Version 1.0 + */ +public class TrainStation { + public void sell() { + System.out.println("火车站买票"); + } +} -- Gitee From f0ff0ae8663799a416de963032b3b88c2dd0c386 Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Wed, 5 Oct 2022 09:14:09 +0800 Subject: [PATCH 06/14] =?UTF-8?q?java=20=E8=AE=BE=E8=AE=A1=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=20=E9=80=82=E9=85=8D=E5=99=A8=E6=A8=A1=E5=BC=8F-?= =?UTF-8?q?=E7=B1=BB=E9=80=82=E9=85=8D=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/class_adapter/Computer.java | 16 +++++++++++++ .../adapter/class_adapter/SDAdapterTF.java | 22 ++++++++++++++++++ .../pattern/adapter/class_adapter/SDCard.java | 14 +++++++++++ .../adapter/class_adapter/SDCardImpl.java | 19 +++++++++++++++ .../pattern/adapter/class_adapter/TFCard.java | 14 +++++++++++ .../adapter/class_adapter/TFCardImpl.java | 19 +++++++++++++++ .../pattern/adapter/class_adapter/Test.java | 23 +++++++++++++++++++ 7 files changed, 127 insertions(+) create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/Computer.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/SDAdapterTF.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/SDCard.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/SDCardImpl.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/TFCard.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/TFCardImpl.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/Test.java diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/Computer.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/Computer.java new file mode 100644 index 0000000..8e4d75f --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/Computer.java @@ -0,0 +1,16 @@ +package com.hongyi.pattern.adapter.class_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 8:56 + * @Version 1.0 + */ +public class Computer { + // 从SD读取数据 + public String readSD(SDCard sdCard) { + if (sdCard == null) { + throw new NullPointerException("sd card is null"); + } + return sdCard.readSD(); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/SDAdapterTF.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/SDAdapterTF.java new file mode 100644 index 0000000..9784113 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/SDAdapterTF.java @@ -0,0 +1,22 @@ +package com.hongyi.pattern.adapter.class_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 9:00 + * @Version 1.0 + */ +// 适配器类 +public class SDAdapterTF extends TFCardImpl implements SDCard{ + + @Override + public String readSD() { + System.out.println("adapter read tf card"); + return readTF(); + } + + @Override + public void writeSD(String data) { + System.out.println("adapter write tf card"); + writeTF(data); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/SDCard.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/SDCard.java new file mode 100644 index 0000000..dea1d66 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/SDCard.java @@ -0,0 +1,14 @@ +package com.hongyi.pattern.adapter.class_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 8:54 + * @Version 1.0 + */ +public interface SDCard { + // 从SD卡中读取数据 + String readSD(); + + // 向SD卡中写入数据 + void writeSD(String data); +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/SDCardImpl.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/SDCardImpl.java new file mode 100644 index 0000000..68229e6 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/SDCardImpl.java @@ -0,0 +1,19 @@ +package com.hongyi.pattern.adapter.class_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 8:55 + * @Version 1.0 + */ +public class SDCardImpl implements SDCard{ + @Override + public String readSD() { + // 模拟读取数据 + return "SDCard read data : hello SDCard"; + } + + @Override + public void writeSD(String data) { + System.out.println("SDCard write data: " + data); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/TFCard.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/TFCard.java new file mode 100644 index 0000000..9a0aec4 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/TFCard.java @@ -0,0 +1,14 @@ +package com.hongyi.pattern.adapter.class_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 8:51 + * @Version 1.0 + */ +public interface TFCard { + // 从TF读取数据 + String readTF(); + + // 向TF写数据 + void writeTF(String data); +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/TFCardImpl.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/TFCardImpl.java new file mode 100644 index 0000000..68add42 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/TFCardImpl.java @@ -0,0 +1,19 @@ +package com.hongyi.pattern.adapter.class_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 8:52 + * @Version 1.0 + */ +public class TFCardImpl implements TFCard{ + @Override + public String readTF() { + // 模拟读取数据 + return "TFCard read data : hello TFCard"; + } + + @Override + public void writeTF(String data) { + System.out.println("TFCard write data: " + data); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/Test.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/Test.java new file mode 100644 index 0000000..ff2b987 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/class_adapter/Test.java @@ -0,0 +1,23 @@ +package com.hongyi.pattern.adapter.class_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 8:57 + * @Version 1.0 + */ +public class Test { + public static void main(String[] args) { + // 创建计算机对象 + Computer computer = new Computer(); + String data = computer.readSD(new SDCardImpl()); + System.out.println(data); + + System.out.println("==================="); + // 使用该计算机读取TF卡中的数据 + // 定义适配器类 + SDAdapterTF sdAdapterTF = new SDAdapterTF(); + // 读取tf数据 + String data1 = computer.readSD(sdAdapterTF); + System.out.println(data1); + } +} -- Gitee From 6ce2d9afa5477732b2d4a01f9f6501a535a4274d Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Wed, 5 Oct 2022 09:48:55 +0800 Subject: [PATCH 07/14] =?UTF-8?q?java=20=E8=AE=BE=E8=AE=A1=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=20=E9=80=82=E9=85=8D=E5=99=A8=E6=A8=A1=E5=BC=8F-?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1=E9=80=82=E9=85=8D=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/object_adapter/Computer.java | 16 ++++++++++ .../adapter/object_adapter/SDAdapterTF.java | 29 +++++++++++++++++++ .../adapter/object_adapter/SDCard.java | 14 +++++++++ .../adapter/object_adapter/SDCardImpl.java | 19 ++++++++++++ .../adapter/object_adapter/TFCard.java | 14 +++++++++ .../adapter/object_adapter/TFCardImpl.java | 19 ++++++++++++ .../pattern/adapter/object_adapter/Test.java | 20 +++++++++++++ 7 files changed, 131 insertions(+) create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/Computer.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/SDAdapterTF.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/SDCard.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/SDCardImpl.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/TFCard.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/TFCardImpl.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/Test.java diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/Computer.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/Computer.java new file mode 100644 index 0000000..dbb60bc --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/Computer.java @@ -0,0 +1,16 @@ +package com.hongyi.pattern.adapter.object_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 8:56 + * @Version 1.0 + */ +public class Computer { + // 从SD读取数据 + public String readSD(SDCard sdCard) { + if (sdCard == null) { + throw new NullPointerException("sd card is null"); + } + return sdCard.readSD(); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/SDAdapterTF.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/SDAdapterTF.java new file mode 100644 index 0000000..41b8308 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/SDAdapterTF.java @@ -0,0 +1,29 @@ +package com.hongyi.pattern.adapter.object_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 9:00 + * @Version 1.0 + */ +// 适配器类 +public class SDAdapterTF implements SDCard { + + // 声明适配者类 + private TFCard tfCard; + + public SDAdapterTF(TFCard tfCard) { + this.tfCard = tfCard; + } + + @Override + public String readSD() { + System.out.println("adapter read tf card"); + return tfCard.readTF(); + } + + @Override + public void writeSD(String data) { + System.out.println("adapter write tf card"); + tfCard.writeTF(data); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/SDCard.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/SDCard.java new file mode 100644 index 0000000..486fa7d --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/SDCard.java @@ -0,0 +1,14 @@ +package com.hongyi.pattern.adapter.object_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 8:54 + * @Version 1.0 + */ +public interface SDCard { + // 从SD卡中读取数据 + String readSD(); + + // 向SD卡中写入数据 + void writeSD(String data); +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/SDCardImpl.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/SDCardImpl.java new file mode 100644 index 0000000..0df2756 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/SDCardImpl.java @@ -0,0 +1,19 @@ +package com.hongyi.pattern.adapter.object_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 8:55 + * @Version 1.0 + */ +public class SDCardImpl implements SDCard { + @Override + public String readSD() { + // 模拟读取数据 + return "SDCard read data : hello SDCard"; + } + + @Override + public void writeSD(String data) { + System.out.println("SDCard write data: " + data); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/TFCard.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/TFCard.java new file mode 100644 index 0000000..5669e43 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/TFCard.java @@ -0,0 +1,14 @@ +package com.hongyi.pattern.adapter.object_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 8:51 + * @Version 1.0 + */ +public interface TFCard { + // 从TF读取数据 + String readTF(); + + // 向TF写数据 + void writeTF(String data); +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/TFCardImpl.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/TFCardImpl.java new file mode 100644 index 0000000..d900f00 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/TFCardImpl.java @@ -0,0 +1,19 @@ +package com.hongyi.pattern.adapter.object_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 8:52 + * @Version 1.0 + */ +public class TFCardImpl implements TFCard { + @Override + public String readTF() { + // 模拟读取数据 + return "TFCard read data : hello TFCard"; + } + + @Override + public void writeTF(String data) { + System.out.println("TFCard write data: " + data); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/Test.java b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/Test.java new file mode 100644 index 0000000..c5fb4c7 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/adapter/object_adapter/Test.java @@ -0,0 +1,20 @@ +package com.hongyi.pattern.adapter.object_adapter; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/5 8:57 + * @Version 1.0 + */ +public class Test { + public static void main(String[] args) { + // 创建计算机对象 + Computer computer = new Computer(); + String data = computer.readSD(new SDCardImpl()); + System.out.println(data); + + System.out.println("==================="); + // 使用该计算机读取TF卡中的数据 + String data1 = computer.readSD(new SDAdapterTF(new TFCardImpl())); + System.out.println(data1); + } +} -- Gitee From 95df864c3e1cb2503dd7071d8ef3c98f5a48a2a7 Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Sun, 9 Oct 2022 17:46:18 +0800 Subject: [PATCH 08/14] =?UTF-8?q?java=20=E8=AE=BE=E8=AE=A1=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=20=E8=A3=85=E9=A5=B0=E8=80=85=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hongyi/pattern/decorator/Bacon.java | 24 +++++++++++++++++++ .../com/hongyi/pattern/decorator/Eggs.java | 24 +++++++++++++++++++ .../hongyi/pattern/decorator/Fastfood.java | 20 ++++++++++++++++ .../pattern/decorator/FriedNoodles.java | 18 ++++++++++++++ .../hongyi/pattern/decorator/FriedRice.java | 20 ++++++++++++++++ .../com/hongyi/pattern/decorator/Garnish.java | 20 ++++++++++++++++ .../com/hongyi/pattern/decorator/Test.java | 22 +++++++++++++++++ 7 files changed, 148 insertions(+) create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/decorator/Bacon.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/decorator/Eggs.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/decorator/Fastfood.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/decorator/FriedNoodles.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/decorator/FriedRice.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/decorator/Garnish.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/decorator/Test.java diff --git a/design_patterns/src/main/java/com/hongyi/pattern/decorator/Bacon.java b/design_patterns/src/main/java/com/hongyi/pattern/decorator/Bacon.java new file mode 100644 index 0000000..30dbd52 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/decorator/Bacon.java @@ -0,0 +1,24 @@ +package com.hongyi.pattern.decorator; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/9 17:29 + * @Version 1.0 + */ +public class Bacon extends Garnish{ + + public Bacon(Fastfood fastfood) { + super(fastfood, 2, "培根"); + } + + @Override + public float cost() { + // 计算价格 + return getPrice() + getFastfood().cost(); + } + + @Override + public String getDesc() { + return super.getDesc() + getFastfood().getDesc(); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/decorator/Eggs.java b/design_patterns/src/main/java/com/hongyi/pattern/decorator/Eggs.java new file mode 100644 index 0000000..25166bc --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/decorator/Eggs.java @@ -0,0 +1,24 @@ +package com.hongyi.pattern.decorator; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/9 17:29 + * @Version 1.0 + */ +public class Eggs extends Garnish{ + + public Eggs(Fastfood fastfood) { + super(fastfood, 1, "鸡蛋"); + } + + @Override + public float cost() { + // 计算价格 + return getPrice() + getFastfood().cost(); + } + + @Override + public String getDesc() { + return super.getDesc() + getFastfood().getDesc(); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/decorator/Fastfood.java b/design_patterns/src/main/java/com/hongyi/pattern/decorator/Fastfood.java new file mode 100644 index 0000000..ce31da3 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/decorator/Fastfood.java @@ -0,0 +1,20 @@ +package com.hongyi.pattern.decorator; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/9 17:24 + * @Version 1.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public abstract class Fastfood { + private float price; + private String desc; + + public abstract float cost(); +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/decorator/FriedNoodles.java b/design_patterns/src/main/java/com/hongyi/pattern/decorator/FriedNoodles.java new file mode 100644 index 0000000..e2fa587 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/decorator/FriedNoodles.java @@ -0,0 +1,18 @@ +package com.hongyi.pattern.decorator; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/9 17:27 + * @Version 1.0 + */ +public class FriedNoodles extends Fastfood{ + + public FriedNoodles() { + super(12, "炒面"); + } + + @Override + public float cost() { + return getPrice(); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/decorator/FriedRice.java b/design_patterns/src/main/java/com/hongyi/pattern/decorator/FriedRice.java new file mode 100644 index 0000000..7418d1e --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/decorator/FriedRice.java @@ -0,0 +1,20 @@ +package com.hongyi.pattern.decorator; + +import lombok.NoArgsConstructor; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/9 17:26 + * @Version 1.0 + */ +public class FriedRice extends Fastfood{ + + public FriedRice() { + super(10, "炒饭"); + } + + @Override + public float cost() { + return getPrice(); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/decorator/Garnish.java b/design_patterns/src/main/java/com/hongyi/pattern/decorator/Garnish.java new file mode 100644 index 0000000..f27cd99 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/decorator/Garnish.java @@ -0,0 +1,20 @@ +package com.hongyi.pattern.decorator; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/9 17:28 + * @Version 1.0 + */ +@Data +public abstract class Garnish extends Fastfood{ + // 声明快餐类 + private Fastfood fastfood; + + public Garnish(Fastfood fastfood, float price, String desc) { + super(price, desc); + this.fastfood = fastfood; + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/decorator/Test.java b/design_patterns/src/main/java/com/hongyi/pattern/decorator/Test.java new file mode 100644 index 0000000..213be8b --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/decorator/Test.java @@ -0,0 +1,22 @@ +package com.hongyi.pattern.decorator; + +/** + * @Author Kisugi Takumi + * @Date 2022/10/9 17:33 + * @Version 1.0 + */ +public class Test { + public static void main(String[] args) { + // 点一份炒饭 + Fastfood food = new FriedRice(); + System.out.println(food.getDesc() + " " + food.cost() + "元"); + System.out.println("============"); + // 在炒饭中加一个鸡蛋 + food = new Eggs(food); + System.out.println(food.getDesc() + " " + food.cost() + "元"); + System.out.println("============"); + // 再加一份培根 + food = new Bacon(food); + System.out.println(food.getDesc() + " " + food.cost() + "元"); + } +} -- Gitee From 7f11a21eb970d7bcd69c8c5e47ab75da960da5db Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Sat, 5 Nov 2022 10:03:49 +0800 Subject: [PATCH 09/14] =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E6=A8=A1=E5=BC=8F=20?= =?UTF-8?q?=E6=A1=A5=E6=8E=A5=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hongyi/pattern/bridge/AVIFile.java | 13 +++++++++++++ .../java/com/hongyi/pattern/bridge/Mac.java | 18 ++++++++++++++++++ .../pattern/bridge/OperatingSystem.java | 17 +++++++++++++++++ .../com/hongyi/pattern/bridge/RMVBFile.java | 13 +++++++++++++ .../java/com/hongyi/pattern/bridge/Test.java | 15 +++++++++++++++ .../com/hongyi/pattern/bridge/VideoFile.java | 11 +++++++++++ .../com/hongyi/pattern/bridge/Windows.java | 19 +++++++++++++++++++ 7 files changed, 106 insertions(+) create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/bridge/AVIFile.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/bridge/Mac.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/bridge/OperatingSystem.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/bridge/RMVBFile.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/bridge/Test.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/bridge/VideoFile.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/bridge/Windows.java diff --git a/design_patterns/src/main/java/com/hongyi/pattern/bridge/AVIFile.java b/design_patterns/src/main/java/com/hongyi/pattern/bridge/AVIFile.java new file mode 100644 index 0000000..fecb4da --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/bridge/AVIFile.java @@ -0,0 +1,13 @@ +package com.hongyi.pattern.bridge; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 9:51 + * @Version 1.0 + */ +public class AVIFile implements VideoFile{ + @Override + public void decode(String fileName) { + System.out.println("AVI视频文件:" + fileName); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/bridge/Mac.java b/design_patterns/src/main/java/com/hongyi/pattern/bridge/Mac.java new file mode 100644 index 0000000..1dcbdba --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/bridge/Mac.java @@ -0,0 +1,18 @@ +package com.hongyi.pattern.bridge; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 9:55 + * @Version 1.0 + */ +public class Mac extends OperatingSystem{ + + public Mac(VideoFile videoFile) { + super(videoFile); + } + + @Override + public void play(String fileName) { + videoFile.decode(fileName); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/bridge/OperatingSystem.java b/design_patterns/src/main/java/com/hongyi/pattern/bridge/OperatingSystem.java new file mode 100644 index 0000000..531e992 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/bridge/OperatingSystem.java @@ -0,0 +1,17 @@ +package com.hongyi.pattern.bridge; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 9:53 + * @Version 1.0 + */ +public abstract class OperatingSystem { + // 声明VideoFile对象 + protected VideoFile videoFile; + + public OperatingSystem(VideoFile videoFile) { + this.videoFile = videoFile; + } + + public abstract void play(String fileName); +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/bridge/RMVBFile.java b/design_patterns/src/main/java/com/hongyi/pattern/bridge/RMVBFile.java new file mode 100644 index 0000000..621a145 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/bridge/RMVBFile.java @@ -0,0 +1,13 @@ +package com.hongyi.pattern.bridge; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 9:52 + * @Version 1.0 + */ +public class RMVBFile implements VideoFile{ + @Override + public void decode(String fileName) { + System.out.println("RMVB视频文件:" + fileName); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/bridge/Test.java b/design_patterns/src/main/java/com/hongyi/pattern/bridge/Test.java new file mode 100644 index 0000000..6c70c31 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/bridge/Test.java @@ -0,0 +1,15 @@ +package com.hongyi.pattern.bridge; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 9:55 + * @Version 1.0 + */ +public class Test { + public static void main(String[] args) { + // 创建Mac系统 + OperatingSystem system = new Mac(new AVIFile()); + // 使用操作系统播放视频文件 + system.play("泰坦尼克号"); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/bridge/VideoFile.java b/design_patterns/src/main/java/com/hongyi/pattern/bridge/VideoFile.java new file mode 100644 index 0000000..9b1f39f --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/bridge/VideoFile.java @@ -0,0 +1,11 @@ +package com.hongyi.pattern.bridge; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 9:50 + * @Version 1.0 + */ +public interface VideoFile { + // 解码功能 + void decode(String fileName); +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/bridge/Windows.java b/design_patterns/src/main/java/com/hongyi/pattern/bridge/Windows.java new file mode 100644 index 0000000..c1ab5ad --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/bridge/Windows.java @@ -0,0 +1,19 @@ +package com.hongyi.pattern.bridge; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 9:54 + * @Version 1.0 + */ +public class Windows extends OperatingSystem{ + + public Windows(VideoFile videoFile) { + super(videoFile); + } + + @Override + public void play(String fileName) { + videoFile.decode(fileName); + } + +} -- Gitee From fdf281b7d441ea6e65b706a013bc4bc8eca4db01 Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Sat, 5 Nov 2022 10:24:22 +0800 Subject: [PATCH 10/14] =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E6=A8=A1=E5=BC=8F=20?= =?UTF-8?q?=E5=A4=96=E8=A7=82=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hongyi/pattern/facade/AirCondition.java | 16 +++++++ .../java/com/hongyi/pattern/facade/Light.java | 16 +++++++ .../pattern/facade/SmartAppliancesFacade.java | 44 +++++++++++++++++++ .../java/com/hongyi/pattern/facade/TV.java | 16 +++++++ .../java/com/hongyi/pattern/facade/Test.java | 15 +++++++ 5 files changed, 107 insertions(+) create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/facade/AirCondition.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/facade/Light.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/facade/SmartAppliancesFacade.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/facade/TV.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/facade/Test.java diff --git a/design_patterns/src/main/java/com/hongyi/pattern/facade/AirCondition.java b/design_patterns/src/main/java/com/hongyi/pattern/facade/AirCondition.java new file mode 100644 index 0000000..e67a9cc --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/facade/AirCondition.java @@ -0,0 +1,16 @@ +package com.hongyi.pattern.facade; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 10:09 + * @Version 1.0 + */ +public class AirCondition { + public void on() { + System.out.println("打开空调"); + } + + public void off() { + System.out.println("关闭空调"); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/facade/Light.java b/design_patterns/src/main/java/com/hongyi/pattern/facade/Light.java new file mode 100644 index 0000000..3dbdb2b --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/facade/Light.java @@ -0,0 +1,16 @@ +package com.hongyi.pattern.facade; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 10:08 + * @Version 1.0 + */ +public class Light { + public void on() { + System.out.println("打开电灯"); + } + + public void off() { + System.out.println("关闭电灯"); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/facade/SmartAppliancesFacade.java b/design_patterns/src/main/java/com/hongyi/pattern/facade/SmartAppliancesFacade.java new file mode 100644 index 0000000..efd1cae --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/facade/SmartAppliancesFacade.java @@ -0,0 +1,44 @@ +package com.hongyi.pattern.facade; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 10:10 + * @Version 1.0 + */ +public class SmartAppliancesFacade { + // 聚合电灯、电视机、空调对象 + private Light light; + private TV tv; + private AirCondition airCondition; + + public SmartAppliancesFacade() { + light = new Light(); + tv = new TV(); + airCondition = new AirCondition(); + } + + // 通过语音控制 + public void say(String msg) { + if (msg.contains("打开")) { + on(); + } else if(msg.contains("关闭")) { + off(); + } else { + System.out.println("IDK"); + } + } + + // 一键打开功能 + private void on() { + light.on(); + tv.on(); + airCondition.on(); + } + + // 一键关闭功能 + private void off() { + light.off(); + tv.off(); + airCondition.off(); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/facade/TV.java b/design_patterns/src/main/java/com/hongyi/pattern/facade/TV.java new file mode 100644 index 0000000..11254e0 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/facade/TV.java @@ -0,0 +1,16 @@ +package com.hongyi.pattern.facade; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 10:09 + * @Version 1.0 + */ +public class TV { + public void on() { + System.out.println("打开TV"); + } + + public void off() { + System.out.println("关闭TV"); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/facade/Test.java b/design_patterns/src/main/java/com/hongyi/pattern/facade/Test.java new file mode 100644 index 0000000..4f3f753 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/facade/Test.java @@ -0,0 +1,15 @@ +package com.hongyi.pattern.facade; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 10:14 + * @Version 1.0 + */ +public class Test { + public static void main(String[] args) { + // 创建智能音响 + SmartAppliancesFacade facade = new SmartAppliancesFacade(); + // 控制家电 + facade.say("打开家电"); + } +} -- Gitee From 29bcb149d04c44d28a7baf489f2b303d333a9834 Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Sat, 5 Nov 2022 11:40:39 +0800 Subject: [PATCH 11/14] =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E6=A8=A1=E5=BC=8F=20?= =?UTF-8?q?=E7=BB=84=E5=90=88=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hongyi/pattern/combination/Menu.java | 49 +++++++++++++++++++ .../pattern/combination/MenuComponent.java | 37 ++++++++++++++ .../hongyi/pattern/combination/MenuItem.java | 22 +++++++++ .../com/hongyi/pattern/combination/Test.java | 38 ++++++++++++++ 4 files changed, 146 insertions(+) create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/combination/Menu.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/combination/MenuComponent.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/combination/MenuItem.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/combination/Test.java diff --git a/design_patterns/src/main/java/com/hongyi/pattern/combination/Menu.java b/design_patterns/src/main/java/com/hongyi/pattern/combination/Menu.java new file mode 100644 index 0000000..8abaf8d --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/combination/Menu.java @@ -0,0 +1,49 @@ +package com.hongyi.pattern.combination; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 11:22 + * @Version 1.0 + */ +public class Menu extends MenuComponent{ + + // 菜单可以有多个子菜单或子菜单项 + private List menuComponents = new ArrayList<>(); + + // 构造方法 + public Menu(String name, int level) { + this.name = name; + this.level = level; + } + + @Override + public void add(MenuComponent menuComponent) { + menuComponents.add(menuComponent); + } + + @Override + public void remove(MenuComponent menuComponent) { + menuComponents.remove(menuComponent); + } + + @Override + public MenuComponent getChild(int index) { + return menuComponents.get(index); + } + + @Override + public void print() { + // 打印菜单名称 + for (int i = 0;i < level; i++) { + System.out.print("--"); + } + System.out.println(name); + // 打印子菜单名称或子菜单项名称 + for (MenuComponent menuComponent : menuComponents) { + menuComponent.print(); + } + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/combination/MenuComponent.java b/design_patterns/src/main/java/com/hongyi/pattern/combination/MenuComponent.java new file mode 100644 index 0000000..6d6002e --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/combination/MenuComponent.java @@ -0,0 +1,37 @@ +package com.hongyi.pattern.combination; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 11:18 + * @Version 1.0 + */ +// 抽象根节点 +public abstract class MenuComponent { + // 菜单组件的名称 + protected String name; + // 菜单组件的层级 + protected int level; + + // 添加子菜单 + public void add(MenuComponent menuComponent) { + throw new UnsupportedOperationException(); + } + + // 移除子菜单 + public void remove(MenuComponent menuComponent) { + throw new UnsupportedOperationException(); + } + + // 获取指定的子菜单 + public MenuComponent getChild(int index) { + throw new UnsupportedOperationException(); + } + + // 获取菜单或菜单项的名称 + public String getName() { + return name; + } + + // 打印菜单名称(包含子菜单和子菜单项) + public abstract void print(); +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/combination/MenuItem.java b/design_patterns/src/main/java/com/hongyi/pattern/combination/MenuItem.java new file mode 100644 index 0000000..1f0b70c --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/combination/MenuItem.java @@ -0,0 +1,22 @@ +package com.hongyi.pattern.combination; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 11:27 + * @Version 1.0 + */ +public class MenuItem extends MenuComponent{ + + public MenuItem(String name, int level) { + this.name = name; + this.level = level; + } + + @Override + public void print() { + for (int i = 0;i < level; i++) { + System.out.print("--"); + } + System.out.println(this.name); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/combination/Test.java b/design_patterns/src/main/java/com/hongyi/pattern/combination/Test.java new file mode 100644 index 0000000..8ab4157 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/combination/Test.java @@ -0,0 +1,38 @@ +package com.hongyi.pattern.combination; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/5 11:28 + * @Version 1.0 + */ +public class Test { + public static void main(String[] args) { + // 创建菜单树 + MenuComponent menu1 = new Menu("菜单管理", 2); + menu1.add(new MenuItem("页面访问", 3)); + menu1.add(new MenuItem("展开菜单", 3)); + menu1.add(new MenuItem("编辑菜单", 3)); + menu1.add(new MenuItem("删除菜单", 3)); + menu1.add(new MenuItem("新增菜单", 3)); + + MenuComponent menu2 = new Menu("权限管理", 2); + menu2.add(new MenuItem("页面访问", 3)); + menu2.add(new MenuItem("提交保存", 3)); + + MenuComponent menu3 = new Menu("角色管理", 2); + menu3.add(new MenuItem("页面访问", 3)); + menu3.add(new MenuItem("新增角色", 3)); + menu3.add(new MenuItem("修改角色", 3)); + + // 创建一级菜单 + MenuComponent component = new Menu("系统管理", 1); + + // 将二级菜单添加到一级菜单中 + component.add(menu1); + component.add(menu2); + component.add(menu3); + + // 打印菜单名称 + component.print(); + } +} -- Gitee From ec3cce772da0e5f151afe1fff822d70ea7ee4e70 Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Sun, 6 Nov 2022 11:10:39 +0800 Subject: [PATCH 12/14] =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E6=A8=A1=E5=BC=8F=20?= =?UTF-8?q?=E4=BA=AB=E5=85=83=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hongyi/pattern/flyweight/AbstractBox.java | 17 ++++++++++ .../hongyi/pattern/flyweight/BoxFactory.java | 34 +++++++++++++++++++ .../com/hongyi/pattern/flyweight/IBox.java | 14 ++++++++ .../com/hongyi/pattern/flyweight/LBox.java | 14 ++++++++ .../com/hongyi/pattern/flyweight/OBox.java | 14 ++++++++ .../com/hongyi/pattern/flyweight/Test.java | 24 +++++++++++++ 6 files changed, 117 insertions(+) create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/flyweight/AbstractBox.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/flyweight/BoxFactory.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/flyweight/IBox.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/flyweight/LBox.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/flyweight/OBox.java create mode 100644 design_patterns/src/main/java/com/hongyi/pattern/flyweight/Test.java diff --git a/design_patterns/src/main/java/com/hongyi/pattern/flyweight/AbstractBox.java b/design_patterns/src/main/java/com/hongyi/pattern/flyweight/AbstractBox.java new file mode 100644 index 0000000..8b24ef0 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/flyweight/AbstractBox.java @@ -0,0 +1,17 @@ +package com.hongyi.pattern.flyweight; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/6 10:48 + * @Version 1.0 + */ +// 抽象享元角色 +public abstract class AbstractBox { + // 获取图形 + public abstract String getShape(); + + // 显示图形和颜色 + public void display(String color) { + System.out.println("形状:" + getShape() + ", 颜色:" + color); + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/flyweight/BoxFactory.java b/design_patterns/src/main/java/com/hongyi/pattern/flyweight/BoxFactory.java new file mode 100644 index 0000000..06a1e30 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/flyweight/BoxFactory.java @@ -0,0 +1,34 @@ +package com.hongyi.pattern.flyweight; + +import java.util.HashMap; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/6 10:51 + * @Version 1.0 + */ +// 工厂类,设计为单例 +public class BoxFactory { + private HashMap map; + + private static final BoxFactory factory = new BoxFactory(); + + // 私有构造方法 + private BoxFactory() { + map = new HashMap(); + map.put("I", new IBox()); + map.put("L", new LBox()); + map.put("O", new OBox()); + } + + // 提供方法获取该工厂类对象 + public static BoxFactory getInstance() { + return factory; + } + + // 根据名称获取图形对象 + public AbstractBox getShape(String name) { + return map.get(name); + } + +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/flyweight/IBox.java b/design_patterns/src/main/java/com/hongyi/pattern/flyweight/IBox.java new file mode 100644 index 0000000..4ec6427 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/flyweight/IBox.java @@ -0,0 +1,14 @@ +package com.hongyi.pattern.flyweight; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/6 10:50 + * @Version 1.0 + */ +// 具体享元角色 +public class IBox extends AbstractBox{ + @Override + public String getShape() { + return "I"; + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/flyweight/LBox.java b/design_patterns/src/main/java/com/hongyi/pattern/flyweight/LBox.java new file mode 100644 index 0000000..eeea80f --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/flyweight/LBox.java @@ -0,0 +1,14 @@ +package com.hongyi.pattern.flyweight; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/6 10:50 + * @Version 1.0 + */ +// 具体享元角色 +public class LBox extends AbstractBox{ + @Override + public String getShape() { + return "L"; + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/flyweight/OBox.java b/design_patterns/src/main/java/com/hongyi/pattern/flyweight/OBox.java new file mode 100644 index 0000000..dd7d524 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/flyweight/OBox.java @@ -0,0 +1,14 @@ +package com.hongyi.pattern.flyweight; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/6 10:50 + * @Version 1.0 + */ +// 具体享元角色 +public class OBox extends AbstractBox{ + @Override + public String getShape() { + return "O"; + } +} diff --git a/design_patterns/src/main/java/com/hongyi/pattern/flyweight/Test.java b/design_patterns/src/main/java/com/hongyi/pattern/flyweight/Test.java new file mode 100644 index 0000000..5cec918 --- /dev/null +++ b/design_patterns/src/main/java/com/hongyi/pattern/flyweight/Test.java @@ -0,0 +1,24 @@ +package com.hongyi.pattern.flyweight; + +/** + * @Author Kisugi Takumi + * @Date 2022/11/6 10:55 + * @Version 1.0 + */ +public class Test { + public static void main(String[] args) { + // 获取I图形 + AbstractBox box1 = BoxFactory.getInstance().getShape("I"); + box1.display("Black"); + + // 获取L图形 + AbstractBox box2 = BoxFactory.getInstance().getShape("L"); + box2.display("Red"); + + // 再次获取L图形,但是是不同颜色 + AbstractBox box3 = BoxFactory.getInstance().getShape("L"); + box3.display("Green"); + + System.out.println(box2 == box3); // true + } +} -- Gitee From dc94570f80b3f2d63b571db8b64da421b647faf9 Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Thu, 10 Nov 2022 15:23:40 +0800 Subject: [PATCH 13/14] keil project init --- .gitignore | 33 + .../Listings/Project.m51" | 60 + .../Listings/main.lst" | 27 + .../Objects/Project" | Bin 0 -> 620 bytes .../Objects/Project.build_log.htm" | 33 + .../Objects/Project.lnp" | 3 + .../Objects/main.obj" | Bin 0 -> 511 bytes .../Project.uvgui.Hongyi" | 1878 +++++++++++++++++ .../Project.uvopt" | 197 ++ .../Project.uvproj" | 390 ++++ .../main.c" | 3 + 11 files changed, 2624 insertions(+) create mode 100644 .gitignore create mode 100644 "KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/Project.m51" create mode 100644 "KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/main.lst" create mode 100644 "KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project" create mode 100644 "KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.build_log.htm" create mode 100644 "KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.lnp" create mode 100644 "KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/main.obj" create mode 100644 "KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvgui.Hongyi" create mode 100644 "KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvopt" create mode 100644 "KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvproj" create mode 100644 "KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/main.c" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a31fce0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +.idea +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/Project.m51" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/Project.m51" new file mode 100644 index 0000000..f5bdc30 --- /dev/null +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/Project.m51" @@ -0,0 +1,60 @@ +BL51 BANKED LINKER/LOCATER V6.22.2.0 11/10/2022 15:21:28 PAGE 1 + + +BL51 BANKED LINKER/LOCATER V6.22.2.0, INVOKED BY: +D:\PROGRAM FILES\KEIL_V5\C51\BIN\BL51.EXE .\Objects\main.obj TO .\Objects\Project PRINT (.\Listings\Project.m51) RAMSIZE +>> (256) + + +MEMORY MODEL: SMALL + + +INPUT MODULES INCLUDED: + .\Objects\main.obj (MAIN) + D:\PROGRAM FILES\KEIL_V5\C51\LIB\C51S.LIB (?C_STARTUP) + + +LINK MAP OF MODULE: .\Objects\Project (MAIN) + + + TYPE BASE LENGTH RELOCATION SEGMENT NAME + ----------------------------------------------------- + + * * * * * * * D A T A M E M O R Y * * * * * * * + REG 0000H 0008H ABSOLUTE "REG BANK 0" + IDATA 0008H 0001H UNIT ?STACK + + * * * * * * * C O D E M E M O R Y * * * * * * * + CODE 0000H 0003H ABSOLUTE + CODE 0003H 000CH UNIT ?C_C51STARTUP + CODE 000FH 0001H UNIT ?PR?MAIN?MAIN + + + +OVERLAY MAP OF MODULE: .\Objects\Project (MAIN) + + +SEGMENT + +--> CALLED SEGMENT +--------------------- +?C_C51STARTUP + +--> ?PR?MAIN?MAIN + + + +SYMBOL TABLE OF MODULE: .\Objects\Project (MAIN) + + VALUE TYPE NAME + ---------------------------------- + + ------- MODULE MAIN + C:0000H SYMBOL _ICE_DUMMY_ + C:000FH PUBLIC main + ------- PROC MAIN + C:000FH LINE# 1 + C:000FH LINE# 3 + ------- ENDPROC MAIN + ------- ENDMOD MAIN + +Program Size: data=9.0 xdata=0 code=16 +LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/main.lst" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/main.lst" new file mode 100644 index 0000000..a12b50b --- /dev/null +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/main.lst" @@ -0,0 +1,27 @@ +C51 COMPILER V9.60.0.0 MAIN 11/10/2022 15:21:28 PAGE 1 + + +C51 COMPILER V9.60.0.0, COMPILATION OF MODULE MAIN +OBJECT MODULE PLACED IN .\Objects\main.obj +COMPILER INVOKED BY: D:\Program Files\keil_v5\C51\BIN\C51.EXE main.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(. + -\Listings\main.lst) TABS(2) OBJECT(.\Objects\main.obj) + +line level source + + 1 void main() { + 2 1 + 3 1 } + + +MODULE INFORMATION: STATIC OVERLAYABLE + CODE SIZE = 1 ---- + CONSTANT SIZE = ---- ---- + XDATA SIZE = ---- ---- + PDATA SIZE = ---- ---- + DATA SIZE = ---- ---- + IDATA SIZE = ---- ---- + BIT SIZE = ---- ---- +END OF MODULE INFORMATION. + + +C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project" new file mode 100644 index 0000000000000000000000000000000000000000..1f88f1564d74610257d40d20116c2995b10c5046 GIT binary patch literal 620 zcmXSz&+xy@+0;-$DK{}QPcKIm9(0#MRG5At1=pFGNEx#wWA5Br`9)I0kG;PH~B*LWrYNu!fN)R6S6Qe^ORz zatTyPeo~eu14G5KoMa(P8AgT-padJlL7fG282-yR`2d~hfKVDxln*jZFDI`+0b-6I zh9onC6wnw^3~`Vq7F>3-FbLh86RPQA6%!ET?;hmntKjD8;~E^}?ds_hA7&Z@45}C( zPbUx^tOsPgVd7w5@pbg{`_FJrfSm!tKA^(Q00e9xaXn{KC1DVcfq|7f-qYDN-X+x6 zH!|K)frUYtn_-<24+A3u13!ZT3&_7efo3p)&D+Pu3KCX20#v{ZWPlYhGpq$FUN)`cC?ui* literal 0 HcmV?d00001 diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.build_log.htm" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.build_log.htm" new file mode 100644 index 0000000..98ecc67 --- /dev/null +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.build_log.htm" @@ -0,0 +1,33 @@ + + +
+

Vision Build Log

+

Tool Versions:

+IDE-Version: Vision V5.27.1.0 +Copyright (C) 2019 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: Zeng Hongyi, Hongyi Software, LIC=X9F5U-SCSY7-RKHBI-TKD71-27WGM-XBR9P + +Tool Versions: +Toolchain: PK51 Prof. Developers Kit Version: 9.60.0.0 +Toolchain Path: D:\Program Files\keil_v5\C51\BIN +C Compiler: C51.exe V9.60.0.0 +Assembler: A51.exe V8.2.7.0 +Linker/Locator: BL51.exe V6.22.2.0 +Library Manager: LIB51.exe V4.30.1.0 +Hex Converter: OH51.exe V2.7.0.0 +CPU DLL: S8051.DLL V3.122.0.0 +Dialog DLL: DP51.DLL V2.67.0.0 +

Project:

+E:\develop\study\backend_study\KeilProject\2-1 һLED\Project.uvproj +Project File Date: 11/10/2022 + +

Output:

+Build target 'Target 1' +compiling main.c... +linking... +Program Size: data=9.0 xdata=0 code=16 +".\Objects\Project" - 0 Error(s), 0 Warning(s). +Build Time Elapsed: 00:00:00 +
+ + diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.lnp" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.lnp" new file mode 100644 index 0000000..dcc74b0 --- /dev/null +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.lnp" @@ -0,0 +1,3 @@ +".\Objects\main.obj" +TO ".\Objects\Project" +PRINT(".\Listings\Project.m51") RAMSIZE(256) diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/main.obj" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/main.obj" new file mode 100644 index 0000000000000000000000000000000000000000..d65e78cf88667fc269068fed4dc60e7dcf084912 GIT binary patch literal 511 zcmXSz&+xy@+0;-$DK{}QPcKIm9(0#MRG5At1=pFGNEx#wWA5Br`9)I0kG;PH~B*LWrYNu!fN)R6S6Qe^ORz zatTyPeo~eu14G5KoMa(P8AgT-padJlL7hw-3@pBmo__xr&+$tzFfxD;5cApx1lfbc z!GwaOAOjOnoPo>UIX*bVF(@Q7V4FA(SSX)&2L!C# z@t)4E@h+jhzLD|v3M>rD+zjiKc^Mc%HZmx%fE>gMG=&N5o_*|WVB?i8DDyEeLmUMn znHi1&)v$uq>;|%!!K}SSoItq-F#Aq|2?GNYBUm>F(AvzD#F9kT3NTp!B3Zyha(+rG zYbsbY14O<` + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + + + + + + + + 38003 + Registers + 140 90 + + + 346 + Code Coverage + 1010 160 + + + 204 + Performance Analyzer + 1170 + + + + + + 35141 + Event Statistics + + 200 50 700 + + + 1506 + Symbols + + 80 80 80 + + + 1936 + Watch 1 + + 200 133 133 + + + 1937 + Watch 2 + + 200 133 133 + + + 1935 + Call Stack + Locals + + 200 133 133 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + 466 + Source Browser + 300 + 0 + + + + + + + + 1 + 1 + 0 + 0 + -1 + + + + + + + 44 + 2 + 3 + + -32000 + -32000 + + + -1 + -1 + + + 174 + 185 + 1625 + 933 + + + + 0 + + 261 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000001000000000000000100000041453A5C646576656C6F705C73747564795C6261636B656E645F73747564795C4B65696C50726F6A6563745C322D3120B5E3C1C1D2BBB8F64C45445C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000069030000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000004F00000090050000DF000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000039030000 + + + 16 + 560000006D0000004601000038010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000039030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000002D02000090050000BD020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000001010000 + + + 16 + 560000006D0000004601000038010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000004601000038010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000004601000038010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000004601000038010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000039030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000039030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000006A03000080070000E6030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000001902000090050000BD020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006D0300008D050000CD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F40000006300000090050000DF000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A0040000630000009005000029020000 + + + 16 + 560000006D0000004601000038010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000002D02000090050000A9020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000006300000090050000DF000000 + + + 16 + 560000006D0000004601000038010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000A4020000 + + + 16 + 560000006D00000072010000AD020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000006A03000090050000E6030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006D0300008D050000CD030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000004601000038010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000004601000038010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006D0300008D050000CD030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006D0300008D050000CD030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000E603000080070000F9030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000004601000038010000 + + + + 3312 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000560000006D0000001E030000FD000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000560000006D0000004601000038010000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F400000052030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000560000006D0000004601000038010000000000004F000000F0000000520300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000560000006D0000004601000038010000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000520300008007000056030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000560000006D0000001E030000FD000000000000005603000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2537 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 976 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 0 + + .\main.c + 2 + 1 + 2 + 1 + + 0 + + + + +
diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvopt" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvopt" new file mode 100644 index 0000000..9ef725f --- /dev/null +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvopt" @@ -0,0 +1,197 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + 0 + + + + 0 + 0 + + + + Target 1 + 0x0 + MCS-51 + + 24000000 + + 0 + 1 + 1 + 0 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\Listings\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + + 0 + Data Sheet + DATASHTS\ATMEL\AT89C52_DS.PDF + + + 1 + Instruction Set Manual + DATASHTS\ATMEL\AT_C51ISM.PDF + + + + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + -1 + + + + + + + + + + + + + + + 0 + + + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + + + + Source Group 1 + 1 + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + .\main.c + main.c + 0 + 0 + + + +
diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvproj" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvproj" new file mode 100644 index 0000000..12831fd --- /dev/null +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvproj" @@ -0,0 +1,390 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + Target 1 + 0x0 + MCS-51 + 0 + + + AT89C52 + Microchip + IRAM(0-0xFF) IROM(0-0x1FFF) CLOCK(24000000) + + "LIB\STARTUP.A51" ("Standard 8051 Startup Code") + + 2980 + REGX52.H + + + + + + + + + + + 0 + 0 + + + + Atmel\ + Atmel\ + + 0 + 0 + 0 + 0 + 1 + + .\Objects\ + Project + 1 + 0 + 0 + 1 + 1 + .\Listings\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + 65535 + + + S8051.DLL + + DP51.DLL + -p52 + S8051.DLL + + TP51.DLL + -p52 + + + + 0 + 0 + 0 + 0 + 16 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + + 0 + -1 + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + 0 + 0 + -1 + + 0 + + + + + + + 0 + + + + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x2000 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 0 + 0 + 1 + 0 + 1 + 3 + 8 + 2 + 1 + 1 + 0 + 0 + + + + + + + + + 0 + 1 + 0 + 0 + + + + + + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source Group 1 + + + main.c + 1 + .\main.c + + + + + + + +
diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/main.c" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/main.c" new file mode 100644 index 0000000..677c7e2 --- /dev/null +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/main.c" @@ -0,0 +1,3 @@ +void main() { + +} \ No newline at end of file -- Gitee From e6957394589bf853a371c96e19378c8bf626b258 Mon Sep 17 00:00:00 2001 From: zenghongyi <277382367@qq.com> Date: Thu, 10 Nov 2022 17:29:32 +0800 Subject: [PATCH 14/14] =?UTF-8?q?=E5=B5=8C=E5=85=A5=E5=BC=8F=20LED?= =?UTF-8?q?=E9=97=AA=E7=83=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Listings/Project.m51" | 13 +- .../Listings/main.lst" | 11 +- .../Objects/Project" | Bin 620 -> 2275 bytes .../Objects/Project.build_log.htm" | 4 +- .../Objects/Project.hex" | 4 + .../Objects/main.obj" | Bin 511 -> 2168 bytes .../Project.uvgui.Hongyi" | 50 +- .../Project.uvopt" | 2 +- .../Project.uvproj" | 4 +- .../main.c" | 3 +- .../Project.uvgui.Hongyi" | 1878 +++++++++++++++++ .../Project.uvopt" | 197 ++ .../Project.uvproj" | 390 ++++ .../2-2 LED\351\227\252\347\203\201/main.c" | 6 + 14 files changed, 2522 insertions(+), 40 deletions(-) create mode 100644 "KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.hex" create mode 100644 "KeilProject/2-2 LED\351\227\252\347\203\201/Project.uvgui.Hongyi" create mode 100644 "KeilProject/2-2 LED\351\227\252\347\203\201/Project.uvopt" create mode 100644 "KeilProject/2-2 LED\351\227\252\347\203\201/Project.uvproj" create mode 100644 "KeilProject/2-2 LED\351\227\252\347\203\201/main.c" diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/Project.m51" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/Project.m51" index f5bdc30..c50456d 100644 --- "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/Project.m51" +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/Project.m51" @@ -1,4 +1,4 @@ -BL51 BANKED LINKER/LOCATER V6.22.2.0 11/10/2022 15:21:28 PAGE 1 +BL51 BANKED LINKER/LOCATER V6.22.2.0 11/10/2022 16:34:09 PAGE 1 BL51 BANKED LINKER/LOCATER V6.22.2.0, INVOKED BY: @@ -27,7 +27,7 @@ LINK MAP OF MODULE: .\Objects\Project (MAIN) * * * * * * * C O D E M E M O R Y * * * * * * * CODE 0000H 0003H ABSOLUTE CODE 0003H 000CH UNIT ?C_C51STARTUP - CODE 000FH 0001H UNIT ?PR?MAIN?MAIN + CODE 000FH 0004H UNIT ?PR?MAIN?MAIN @@ -49,12 +49,17 @@ SYMBOL TABLE OF MODULE: .\Objects\Project (MAIN) ------- MODULE MAIN C:0000H SYMBOL _ICE_DUMMY_ + D:00A0H PUBLIC P2 C:000FH PUBLIC main ------- PROC MAIN - C:000FH LINE# 1 + C:000FH LINE# 2 C:000FH LINE# 3 + C:0012H LINE# 4 ------- ENDPROC MAIN ------- ENDMOD MAIN -Program Size: data=9.0 xdata=0 code=16 +Program Size: data=9.0 xdata=0 code=19 + BL51 BANKED LINKER/LOCATER V6.22.2.0 11/10/2022 16:34:09 PAGE 2 + + LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/main.lst" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/main.lst" index a12b50b..a263776 100644 --- "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/main.lst" +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Listings/main.lst" @@ -1,4 +1,4 @@ -C51 COMPILER V9.60.0.0 MAIN 11/10/2022 15:21:28 PAGE 1 +C51 COMPILER V9.60.0.0 MAIN 11/10/2022 16:22:54 PAGE 1 C51 COMPILER V9.60.0.0, COMPILATION OF MODULE MAIN @@ -8,13 +8,14 @@ COMPILER INVOKED BY: D:\Program Files\keil_v5\C51\BIN\C51.EXE main.c OPTIMIZE(8, line level source - 1 void main() { - 2 1 - 3 1 } + 1 #include + 2 void main() { + 3 1 P2 = 0xFE; // P2.7~P2.0 1111 0000 + 4 1 } MODULE INFORMATION: STATIC OVERLAYABLE - CODE SIZE = 1 ---- + CODE SIZE = 4 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project" index 1f88f1564d74610257d40d20116c2995b10c5046..5d891d4accb4bd6f73c63228d8d01b11160f5fad 100644 GIT binary patch literal 2275 zcmb7_O>7fK6vtoIADD!XB!E;9NGk_W+!kXSQa%KNwRdb5?5yQoC!t++>U9h?brLH! zhyxM=1c(a~AZ`e8;zq=m!~yYf0tBd)+ERg3_0$96zzr@{o4%QN?U5ozVl9nl-^_2` z|GhUeTYm+!M^Zy^H9S$OPDaaN)y&&Q&iIxLZvEQI6QW1dWWgM@h^muhF{7Hvy(DFm zF`EqQYQA6$+k;UjTWvI}lLs3PU!>M(MpRo%T7!v5Yd+2~-9wdfvo&SPJrn`>>u#;w zKYyeP{=|XcoFE0hd2^+>QQz+5r>721mnPJ7wN`03KUJzVdSu8!?T#^7cC_Y1rREe! zW^5=C-7`?X0<)`=SqyA<#{sUuG(>BYbrs;my;`|%-k=XwU9Xi_%(FAd|0%_O=tq$e zCbD2=3R+H08(CsG`-qXHBXc6NMv{rOqS*Of34uSS8N;*ibMFF}>px!G1Na1)J(?N{ zFJo^2fgWn42-SH@k*e= ztv|B%m(mhmt}bX5>_ce_FPQ?LTePUV2&2Lb*fE-m(--B%{FNnvna_`};QtDSVlg8= zv-oUsySbgG;2lCC2tXg27*uaVm@ke1oLrxWb8TO7nzHFFiLbF1#(YKHUcPL%L1J_S z4}w{^Btd@_(7T?@Ogcsz5@?qIW!w<=hh^?VM8Vqm@W&!MHNK8V#L}@wKv>*ZWn_KyyA-~)$Fa?@Ghl$D7`G9y9N4~yM)sr8=Y#_KKg|O{7wMB z62OdR6FMLP_Y2?#cOm!a%j@*2gxM)DM%x))Gfd@53FrvmmjcLDu9bjA0gSgxm@{?y zkA%_$igfmjch{VipuY*|9q%w1dX|n#pzQ*b?fCO9iZc@Qm4M!A?>01lMNX~`4|~8mgOX~1|}9?M^C?fY^)$*r6Wo_49q|VSP?VBTA%_}u!7w{7BiT& uH^GE~fr*iUak4Ozp3tjAKCrcn3{Z>9Cm&(b;05XjgC?~AhOWswIkW&bL@J;F diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.build_log.htm" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.build_log.htm" index 98ecc67..418de9f 100644 --- "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.build_log.htm" +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.build_log.htm" @@ -23,9 +23,9 @@ Project File Date: 11/10/2022

Output:

Build target 'Target 1' -compiling main.c... linking... -Program Size: data=9.0 xdata=0 code=16 +Program Size: data=9.0 xdata=0 code=19 +creating hex file from ".\Objects\Project"... ".\Objects\Project" - 0 Error(s), 0 Warning(s). Build Time Elapsed: 00:00:00 diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.hex" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.hex" new file mode 100644 index 0000000..789d0e8 --- /dev/null +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/Project.hex" @@ -0,0 +1,4 @@ +:04000F0075A0FE22B8 +:03000000020003F8 +:0C000300787FE4F6D8FD75810702000F3D +:00000001FF diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/main.obj" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Objects/main.obj" index d65e78cf88667fc269068fed4dc60e7dcf084912..60d18e3058588ba0e4727855bb3524397b4bcb19 100644 GIT binary patch literal 2168 zcmb7_&ubGw6vrpKNgGpJTdh9|7M4b(^+!yi)moI8W;f|-lUluv&*I&apuU-8(*a??Ntm5|`#$r1@6GJ&)JODZ zI?^AIdd9QG316;9(sVQRF^pD5;I66iHTw(lJRJI;2DlC1WTFS<;hg z!szvxBgIO!IB~LK(n(5{YM*3;hf=-4zPdm7Xx8aMu3C4Qv`+US^zD8rxBA~F4)hfs zG}QtU(4H^1(mUlrQ!h`REN921Xt7kNm}d&b5}xiiA$C)p$eH2lc%ft_l~|@f=o|J5 zZsd%I)x>Yd+f^Ho1Cc*+qSla}3=uo+y1P1%0CwaFMR3XpCyliJVEsz!3*N+Up}o02 zTHMq^T$_m17wPwQk~?Uw7OX}TET`k~F&vVd$lHSEyz9s$!YmR6JxHXH zY&GjTNBb$#J874j%okh*YCT2zciA>tU1C~Fx7w@wZ#G3%oZJ8ZD<8>#K7|$ ztqc)@MznlZJDt{}Dt>$fwyu`E!9m~GNQ&OK!;D4!xWa)#3>356R1em@0}uh$QG_4K z>|%a1&4`qvn?Xq4BHWX$NJ368ha9Mfe4V5Iftl)_)k39QMo?35Cx=>OsOL5%N0bDY zdd5&Mmdg{sWscNA28!CbDVbnBw;2xlg+cEy8zAoIZnh%~=5JtrvTyEj)C>j-+JPET zJJ3rU^fQCb+2u?bnvTD7sQnCes1av?yi2b**eHYTwARoSZ^bxl4D5r`4-aE}lS6wL z`n=UfX}1BQ;nZQgfdd|6z-J}548 q(2oo{-`H(XQa^sf!IBKN+g41eTK)As!9hPU=v}9$_DLnSmwy5I16YIr|GM42ev*jjc=IJGOGI21l_&R#}{bM}GFTudb075{_ zYab9~4-y9x3KRcD8S^qQg5($!SU_4?1=tywz&iJ_vw<}!T~Ov@V1{T1k<1LoCeLM5 tXJnjwlu=LURU#h)$X-SUsLkb*%a}Bzz$O9}H>m|Mbg^(j+yb)YBmmkTC+h$J diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvgui.Hongyi" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvgui.Hongyi" index bca279f..968a45c 100644 --- "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvgui.Hongyi" +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvgui.Hongyi" @@ -90,8 +90,8 @@ 44 - 2 - 3 + 0 + 1 -32000 -32000 @@ -111,7 +111,7 @@ 0 261 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000001000000000000000100000041453A5C646576656C6F705C73747564795C6261636B656E645F73747564795C4B65696C50726F6A6563745C322D3120B5E3C1C1D2BBB8F64C45445C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000069030000 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000001000000000000000100000041453A5C646576656C6F705C73747564795C6261636B656E645F73747564795C4B65696C50726F6A6563745C322D3120B5E3C1C1D2BBB8F64C45445C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000D70300006E0000007F070000E4020000 @@ -140,7 +140,7 @@ 1005 1005 - 1 + 0 0 0 0 @@ -150,7 +150,7 @@ 0 16 - 0300000066000000ED00000039030000 + 1FFFFFFF4F00000009000000D6030000 16 @@ -160,7 +160,7 @@ 109 109 - 1 + 0 0 0 0 @@ -170,7 +170,7 @@ 0 16 - 0300000066000000ED00000039030000 + 2CFFFFFF4F00000016000000D6030000 16 @@ -440,7 +440,7 @@ 195 195 - 1 + 0 0 0 0 @@ -450,7 +450,7 @@ 0 16 - 0300000066000000ED00000039030000 + 2CFFFFFF4F00000016000000D6030000 16 @@ -460,7 +460,7 @@ 196 196 - 1 + 0 0 0 0 @@ -470,7 +470,7 @@ 0 16 - 0300000066000000ED00000039030000 + 2CFFFFFF4F00000016000000D6030000 16 @@ -490,7 +490,7 @@ 0 16 - 000000006A03000080070000E6030000 + 16000000DD020000BE030000DD030000 16 @@ -530,7 +530,7 @@ 0 16 - 030000006D0300008D050000CD030000 + 19000000E0020000A305000040030000 16 @@ -1170,7 +1170,7 @@ 0 16 - 000000006A03000090050000E6030000 + 16000000DD020000A605000059030000 16 @@ -1190,7 +1190,7 @@ 0 16 - 030000006D0300008D050000CD030000 + 19000000E0020000A305000040030000 16 @@ -1250,7 +1250,7 @@ 0 16 - 030000006D0300008D050000CD030000 + 19000000E0020000A305000040030000 16 @@ -1270,7 +1270,7 @@ 0 16 - 030000006D0300008D050000CD030000 + 19000000E0020000A305000040030000 16 @@ -1710,7 +1710,7 @@ 0 16 - 0000000000000000D10300001C000000 + 0000000000000000BE0300001C000000 16 @@ -1730,7 +1730,7 @@ 0 16 - 00000000E603000080070000F9030000 + 00000000DD030000BE030000F0030000 16 @@ -1798,15 +1798,15 @@ - 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000560000006D0000001E030000FD000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000560000006D0000004601000038010000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F400000052030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000560000006D0000004601000038010000000000004F000000F0000000520300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000560000006D0000004601000038010000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000520300008007000056030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000560000006D0000001E030000FD000000000000005603000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 3342 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000560000006D0000001E030000FD000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000560000006D0000004601000038010000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000000000000FFFFFFFFFFFFFFFFF00000004F000000F4000000BE020000000000000200001004000000010000000000000000000000FFFFFFFF010000007394000001800010000000000000560000006D0000004601000038010000000000004F000000F0000000BE02000000000000404100460100000009526567697374657273000000007394000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFF7394000001000000FFFFFFFF73940000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000560000006D0000004601000038010000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF16000000C5020000BE030000C90200000100000001000010040000000100000002FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000560000006D0000001E030000FD00000016000000C9020000BE030000DD0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC50000000000000004000000ED0300000010000001000000E00200006E000000CA030000F50300000100000000000000010000006D0000000010000001000000ED0200006E000000D7030000F5030000000000000000000000000000C30000000010000001000000ED0200006E000000D7030000F5030000000000000000000000000000C40000000010000001000000ED0200006E000000D7030000F503000000000000010000000000000000000000 59392 File 2537 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020000001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000 1423 @@ -1822,7 +1822,7 @@ Build 976 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000 583 @@ -1865,9 +1865,9 @@ 0 .\main.c - 2 + 1 1 - 2 + 4 1 0 diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvopt" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvopt" index 9ef725f..0f5a810 100644 --- "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvopt" +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvopt" @@ -28,7 +28,7 @@ 24000000 - 0 + 1 1 1 0 diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvproj" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvproj" index 12831fd..3547956 100644 --- "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvproj" +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/Project.uvproj" @@ -49,7 +49,7 @@ Project 1 0 - 0 + 1 1 1 .\Listings\ @@ -233,7 +233,7 @@ 0 0x0 - 0x0 + 0x10000 0 diff --git "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/main.c" "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/main.c" index 677c7e2..2d4c8fa 100644 --- "a/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/main.c" +++ "b/KeilProject/2-1 \347\202\271\344\272\256\344\270\200\344\270\252LED/main.c" @@ -1,3 +1,4 @@ +#include void main() { - + P2 = 0xFE; // P2.7~P2.0 1111 0000 } \ No newline at end of file diff --git "a/KeilProject/2-2 LED\351\227\252\347\203\201/Project.uvgui.Hongyi" "b/KeilProject/2-2 LED\351\227\252\347\203\201/Project.uvgui.Hongyi" new file mode 100644 index 0000000..291cf87 --- /dev/null +++ "b/KeilProject/2-2 LED\351\227\252\347\203\201/Project.uvgui.Hongyi" @@ -0,0 +1,1878 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + + + + + + + + 38003 + Registers + 140 90 + + + 346 + Code Coverage + 1010 160 + + + 204 + Performance Analyzer + 1170 + + + + + + 35141 + Event Statistics + + 200 50 700 + + + 1506 + Symbols + + 80 80 80 + + + 1936 + Watch 1 + + 200 133 133 + + + 1937 + Watch 2 + + 200 133 133 + + + 1935 + Call Stack + Locals + + 200 133 133 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + 466 + Source Browser + 300 + 0 + + + + + + + + 1 + 1 + 0 + 0 + -1 + + + + + + + 44 + 0 + 1 + + -32000 + -32000 + + + -1 + -1 + + + 174 + 185 + 1625 + 933 + + + + 0 + + 257 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000100000000000000010000003D453A5C646576656C6F705C73747564795C6261636B656E645F73747564795C4B65696C50726F6A6563745C322D32204C4544C9C1CBB85C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000D70300006E0000007F070000E4020000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000004F00000090050000DF000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1005 + 1005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 1FFFFFFF4F00000009000000DD030000 + + + 16 + 560000006D0000004601000038010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 2CFFFFFF4F00000016000000D6030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000002D02000090050000BD020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000001010000 + + + 16 + 560000006D0000004601000038010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + 560000006D0000004601000038010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000004601000038010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000004601000038010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 2CFFFFFF4F00000016000000D6030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 2CFFFFFF4F00000016000000D6030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 16000000DD020000BE030000DD030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000001902000090050000BD020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 19000000E0020000A305000040030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F40000006300000090050000DF000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A0040000630000009005000029020000 + + + 16 + 560000006D0000004601000038010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000002D02000090050000A9020000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000006300000090050000DF000000 + + + 16 + 560000006D0000004601000038010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000A4020000 + + + 16 + 560000006D00000072010000AD020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 16000000DD020000A605000059030000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 19000000E0020000A305000040030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000004601000038010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000004601000038010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 19000000E0020000A305000040030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 19000000E0020000A305000040030000 + + + 16 + 560000006D00000072010000AD020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 560000006D0000001E030000FD000000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + 560000006D0000004601000038010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 0000000000000000BE0300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000DD030000BE030000F0030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + 560000006D0000004601000038010000 + + + + 3342 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000560000006D0000001E030000FD000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000560000006D0000004601000038010000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000000000000FFFFFFFFFFFFFFFFF00000004F000000F4000000BE020000000000000200001004000000010000000000000000000000FFFFFFFF010000007394000001800010000000000000560000006D0000004601000038010000000000004F000000F0000000BE02000000000000404100460100000009526567697374657273000000007394000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFF7394000001000000FFFFFFFF73940000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000560000006D0000004601000038010000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF16000000C5020000BE030000C90200000100000001000010040000000100000002FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000560000006D0000001E030000FD00000016000000C9020000BE030000DD0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC50000000000000004000000ED0300000010000001000000E00200006E000000CA030000FC0300000100000000000000010000006D0000000010000001000000ED0200006E000000D7030000F5030000000000000000000000000000C30000000010000001000000ED0200006E000000D7030000F5030000000000000000000000000000C40000000010000001000000ED0200006E000000D7030000F503000000000000010000000000000000000000 + + + 59392 + File + + 2537 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020000001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 976 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 0 + + .\main.c + 2 + 1 + 5 + 1 + + 0 + + + + +
diff --git "a/KeilProject/2-2 LED\351\227\252\347\203\201/Project.uvopt" "b/KeilProject/2-2 LED\351\227\252\347\203\201/Project.uvopt" new file mode 100644 index 0000000..7ebd401 --- /dev/null +++ "b/KeilProject/2-2 LED\351\227\252\347\203\201/Project.uvopt" @@ -0,0 +1,197 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + 0 + + + + 0 + 0 + + + + Target 1 + 0x0 + MCS-51 + + 24000000 + + 0 + 1 + 1 + 0 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\Listings\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + + 0 + Data Sheet + DATASHTS\ATMEL\AT89C52_DS.PDF + + + 1 + Instruction Set Manual + DATASHTS\ATMEL\AT_C51ISM.PDF + + + + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + -1 + + + + + + + + + + + + + + + 0 + + + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + + + + Source Group 1 + 0 + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + .\main.c + main.c + 0 + 0 + + + +
diff --git "a/KeilProject/2-2 LED\351\227\252\347\203\201/Project.uvproj" "b/KeilProject/2-2 LED\351\227\252\347\203\201/Project.uvproj" new file mode 100644 index 0000000..12831fd --- /dev/null +++ "b/KeilProject/2-2 LED\351\227\252\347\203\201/Project.uvproj" @@ -0,0 +1,390 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + Target 1 + 0x0 + MCS-51 + 0 + + + AT89C52 + Microchip + IRAM(0-0xFF) IROM(0-0x1FFF) CLOCK(24000000) + + "LIB\STARTUP.A51" ("Standard 8051 Startup Code") + + 2980 + REGX52.H + + + + + + + + + + + 0 + 0 + + + + Atmel\ + Atmel\ + + 0 + 0 + 0 + 0 + 1 + + .\Objects\ + Project + 1 + 0 + 0 + 1 + 1 + .\Listings\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + 65535 + + + S8051.DLL + + DP51.DLL + -p52 + S8051.DLL + + TP51.DLL + -p52 + + + + 0 + 0 + 0 + 0 + 16 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + + 0 + -1 + + + + + + + + + + + + + + + + + + + 0 + 0 + 0 + 0 + 0 + -1 + + 0 + + + + + + + 0 + + + + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x2000 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 0 + 0 + 1 + 0 + 1 + 3 + 8 + 2 + 1 + 1 + 0 + 0 + + + + + + + + + 0 + 1 + 0 + 0 + + + + + + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source Group 1 + + + main.c + 1 + .\main.c + + + + + + + +
diff --git "a/KeilProject/2-2 LED\351\227\252\347\203\201/main.c" "b/KeilProject/2-2 LED\351\227\252\347\203\201/main.c" new file mode 100644 index 0000000..8139144 --- /dev/null +++ "b/KeilProject/2-2 LED\351\227\252\347\203\201/main.c" @@ -0,0 +1,6 @@ +#include + +void main() { + P2 = 0xFE; + +} \ No newline at end of file -- Gitee