pdksh-5.2.14-alt5.uelc20.01.x86_64.rpm libaio-devel-0.3.105-2.i386.rpm compat-libstdc++-33-3.2.3-68.16.uelc20.1.x86_64.rpm libaio-0.3.105-2.i386.rpm 主要为了把价格打下来,太难了 在Linux系统上安装Oracle数据库11g时,需要准备一系列的系统依赖包以确保安装过程的顺利进行。本次提供的文件信息中涉及到了四个关键的rpm包,这些包分别对应于不同的系统库和开发工具,它们对于Oracle安装至关重要。 pdksh-5.2.14-alt5.uelc20.01.x86_64.rpm是Public Domain Korn Shell的Linux版本,它是一个命令行解释器,类似于Unix系统中的Korn Shell(ksh)。安装pdksh是为了确保在安装Oracle过程中能够提供一个兼容的命令行环境,因为Oracle安装程序可能会在安装脚本中调用它。 接着,libaio-devel-0.3.105-2.i386.rpm和libaio-0.3.105-2.i386.rpm是与Linux内核I/O子系统相关的库。libaio提供了异步I/O的能力,这是数据库管理系统高效处理大量数据输入输出操作的基石。libaio-devel包含了库文件以及头文件,这些对于编译和构建其他软件时依赖于libaio库的应用程序是必需的。简而言之,libaio-devel提供了编译时的支持,而libaio则提供了运行时的支持。 另外,compat-libstdc++-33-3.2.3-68.16.uelc20.1.x86_64.rpm是为了解决库的兼容性问题而存在的。这个包是GNU C++库的旧版本,Oracle11g在安装和运行时可能需要这个特定版本的库文件。兼容性库的安装避免了在安装过程中可能出现的版本冲突,尤其是在那些系统自带库版本较新的情况下。 在Linux平台上安装Oracle11g是一个复杂的过程,涉及到大量的前置检查和依赖关系的满足。在准备安装Oracle数据库之前,系统管理员或数据库管理员需要确保所有必需的软件包都已经安装在系统上。这些软件包通常不会预先安装在Linux系统中,因此需要管理员手动进行安装。不仅如此,安装这些依赖包是确保Oracle数据库能够在系统上正常运行的前提条件。 考虑到Oracle数据库对系统的高性能要求,安装这些依赖包除了是Oracle安装流程中的必要步骤之外,还为数据库的运行提供了稳定的基础。例如,libaio库能够为Oracle数据库提供高效的异步I/O操作,这对于需要大量读写操作的数据库来说是十分重要的。而pdksh的安装则保证了安装脚本的兼容性。 从成本的角度考虑,上述提到的包在不同的Linux发行版中可能有不同的版本,这就需要管理员仔细选择与Oracle11g兼容的版本进行安装。这些包的安装虽然在初期看起来增加了工作量,但从长远来看,通过确保兼容性和性能,实际上降低了系统的维护成本。 在Linux系统上安装Oracle11g数据库,必须重视这些依赖包的安装工作。它们是确保数据库安装成功和高效运行的关键因素。每个包都有其不可替代的作用,而管理员需要对这些依赖有深入的了解,以确保安装过程的顺利进行和数据库的长期稳定运行。
2026-09-21 20:22:36 461KB linux
1
在Hive与Spark整合的过程中,涉及的源码修改是一项关键任务。这主要是因为Hive默认使用的执行引擎是MapReduce,而Spark作为一种新的大数据处理框架,其运行机制与MapReduce有所不同。因此,为了让Hive能够更好地利用Spark的计算能力,需要对Hive的源码进行一系列的调整和修改。以下是对Hive源码文件修改过程中需要特别关注的知识点: 要理解Hive的架构设计,尤其是Hive的查询编译和执行流程。在这一流程中,Hive会将SQL语句转换为一系列的MapReduce任务。为了让Hive兼容Spark,核心修改点在于将这些MapReduce任务转换为Spark能够理解并执行的作业。这一过程涉及到多个Hive组件的调整,包括解析器、执行引擎接口、物理计划生成器、任务生成器等。 需要关注Hive与Spark之间的接口对接。这涉及到Hive的执行引擎接口的修改,使得Hive可以创建Spark的Job,并且能够处理Spark的执行结果。在接口对接的过程中,还要保证Hive的元数据管理、安全模型以及用户定义的函数(UDF)等可以与Spark兼容运行。 第三,必须对Hive的执行计划进行优化。Spark的执行效率通常高于MapReduce,因此需要对Hive生成的物理执行计划进行修改,以充分利用Spark的并行处理和内存计算的优势。这通常涉及到对Hive中的逻辑计划转换逻辑进行重写,以及对任务调度策略的调整。 第四,需要修改Hive的配置文件和环境设置,以确保Hive能够识别并使用Spark作为后端处理引擎。这包括修改配置文件以指定Spark驱动程序、初始化Spark上下文、配置Spark资源管理器的地址等。 测试工作也至关重要。在修改源码之后,需要进行充分的测试验证,以确保修改后的Hive在与Spark整合后,不仅能够正常运行,而且在性能上也能达到预期的提升。测试应该涵盖Hive的各个组件,包括查询处理、任务提交、结果返回等环节。 通过上述知识点的学习与掌握,开发者可以更加深入地理解Hive on Spark整合过程中的关键步骤,并能够更好地进行源码级别的修改工作,以实现Hive与Spark的有效整合。
2026-06-01 14:41:33 124KB spark hive
1
方正公文字体系列是中国方正电子有限公司开发的一系列标准字体,广泛应用于公文、出版、印刷等领域。这些字体经过精心设计,符合中文排版的标准和美观要求,具有良好的可读性和适用性。方正公文字体系列包含了多种风格,既有强调典雅的传统风格,也有适合现代排版的简洁风格。这些字体覆盖了包括小标宋、大标宋、仿宋、黑体以及楷体在内的多种字体类型,满足了从正式文件到日常文档的多样需求。 方正大标宋字体,以其庄重大气的风格,常用于标题或强调内容,展现出权威和正式的气息。方正仿宋字体则以其优雅的线条和适中的笔画粗细,适用于正文内容,给人以平和、易读的阅读体验。方正黑体字体则以简洁的结构和粗犷的笔画,常用于强调和标题,具有强烈的视觉冲击力。方正楷体字体以其古典韵味和清晰的笔画,适合用于引言和需要突出展示的内容。 这些字体的GBK版本,意味着它们包含了简体中文字符集,适用于简体中文环境。而对应的简体版本,则是针对简体中文进行了优化和调整。每种字体都提供了TTF文件格式,即TrueType Font格式,这是一种广泛使用的字体文件格式,具有良好的兼容性,可以在多种操作系统和应用软件中顺畅使用。 使用这些字体时需要注意版权问题,任何未经授权的使用都可能违反版权法规定,造成法律纠纷。因此,无论是企业还是个人,在使用方正公文字体时,都应确保获得了相应的官方授权,以避免侵权行为的发生。 方正公文字体系列以其高质量的设计和广泛的应用场景,成为了中文排版和设计中的重要工具,为文字传达和视觉表现提供了有力支持。用户在选择使用时,应充分了解不同字体的特点和适用范围,从而更有效地利用这些字体资源。
2026-05-28 11:47:48 32.73MB 公文字体
1
标题中的“中科大讯飞注册到系统需要的文件和注册工具”指的是科大讯飞公司提供的语音合成技术的注册过程,这项技术允许用户在自己的系统上安装并使用科大讯飞的语音引擎。科大讯飞是中国知名的智能语音技术提供商,其产品广泛应用于教育、医疗、智能家居等多个领域。在个人或企业开发应用时,可能需要注册该技术以便合法地调用其语音合成功能。 描述中的“内含详细试用说明”意味着压缩包中包含了如何试用和注册科大讯飞语音合成技术的步骤指导。这通常会包括安装教程、配置指南以及注册流程等。提到“本人在winxp_32bit下测试可用”,说明这个注册工具和相关文件已经在Windows XP 32位操作系统上成功测试过,证明了其兼容性。而“注册过后,音库可供其他软件调用”则表明,一旦完成注册,科大讯飞的语音库将可供系统中的其他应用程序使用,实现语音交互功能。 标签“运行注册工具 xfkfb.exe”是指压缩包中包含了一个名为“xfkfb.exe”的可执行文件,这是科大讯飞注册工具的执行程序。在Windows系统中,.exe文件是可执行程序,用户可以通过运行这个文件来启动注册流程。通常,这样的工具会帮助用户输入必要的许可证信息或者进行必要的系统配置,以激活科大讯飞的语音服务。 “iFly SAPI5.0 注册工具”进一步说明了这个注册工具是针对科大讯飞的SAPI5.0接口。SAPI(Speech Application Programming Interface)是微软提供的一种语音识别和合成的API,它使得开发者可以轻松地在应用程序中集成语音功能。SAPI5.0是其中的一个版本,与科大讯飞的语音引擎兼容,使得第三方软件可以通过标准接口调用科大讯飞的语音技术。 根据提供的压缩包子文件的文件名称列表“科大讯飞语音合成需要的文件和注册工具”,我们可以推断压缩包中除了“xfkfb.exe”注册工具外,还可能包含科大讯飞的语音库文件、SDK(Software Development Kit)文档、示例代码以及其他必要的支持文件,这些都对开发者或用户理解并使用科大讯飞的语音技术至关重要。 总结起来,这个压缩包提供的是一套完整的科大讯飞语音合成技术注册和使用方案,包括了注册工具、语音库、可能的SDK文档和示例,适用于Windows XP 32位系统,并且注册后,其音库可以被系统中的其他软件调用,用于实现语音合成功能。对于需要使用科大讯飞语音服务的开发者或个人,这是一个非常有价值的资源。
2026-05-04 20:51:19 1.93MB 运行注册工具
1
Smack 4.1.5 是一个开源的Java库,用于实现XMPP(Extensible Messaging and Presence Protocol)协议。XMPP是一种基于XML的实时通信协议,广泛用于即时通讯、在线状态管理和多用户聊天等场景。在Java应用中,Smack库提供了一套完整的API,使开发者能够轻松地构建XMPP客户端和服务端应用。 Smack 4.1.5 版本包含了多个必要的组件,以确保你能完整地实现XMPP功能。以下是每个jar文件及其在XMPP实现中的作用: 1. smack-extensions-4.1.5.jar:这个文件包含了Smack库的扩展功能,如多用户聊天(MUC)、文件传输、XHTML消息等。这些扩展使得Smack能够支持XMPP标准之外的额外特性。 2. smack-core-4.1.5.jar:这是Smack的核心库,包含基本的XMPP连接管理、数据包处理和解析等功能。它是实现XMPP连接和通信的基础。 3. smack-im-4.1.5.jar:提供了即时通讯(IM)相关的功能,如个人状态管理、消息发送与接收等。 4. smack-tcp-4.1.5.jar:支持通过TCP协议进行XMPP连接。TCP是网络通信的基本协议,确保了数据的可靠传输。 5. smack-experimental-4.1.5.jar:包含了一些实验性的特性和功能,可能尚未成为官方标准但正在测试或开发中。 6. minidns-0.1.3.jar:这是一个小型DNS解析库,Smack用它来解析XMPP服务器的域名,帮助建立连接。 7. smack-bosh-4.1.5.jar:支持HTTP绑定(BOSH)协议,这是一种让XMPP客户端通过HTTP长轮询与服务器保持连接的方式,适用于那些无法直接使用TCP连接的环境,如在网页浏览器中。 8. jxmpp-core-0.4.1.jar:JXMPP是一个Java版的XMPP协议库,与Smack一起工作,提供XML解析和XMPP实体的表示。 9. smack-sasl-provided-4.1.1.jar:SASL(Simple Authentication and Security Layer)是用于认证的框架,此jar文件包含了Smack对SASL协议的支持,用于安全地验证客户端的身份。 10. jxmpp-util-cache-0.4.1.jar:提供了缓存机制,优化了JXMPP库的性能,例如存储预解析的XML元素,提高处理速度。 Smack 4.1.5 包含了实现XMPP所需的所有核心组件和扩展功能,从基础的连接管理到高级的聊天和状态功能。配合JXMPP库和其他辅助库,开发者可以快速构建功能完善的XMPP应用程序。
2026-04-29 22:45:36 977KB
1
在IT行业中,微信支付和支付宝接口是常见的在线支付方式,尤其在ASP(Active Server Pages)环境中,这些接口的实现对于Web开发者来说尤为重要。本文将详细解释"纯ASP微信支付V3版源码"和"ASP支付宝接口2.0版本"的相关知识点。 1. **ASP(Active Server Pages)**:ASP是微软开发的一种服务器端脚本环境,用于创建动态网页或Web应用程序。开发者可以使用VBScript或JScript等语言编写脚本,服务器在接收到客户端请求后执行脚本并返回HTML内容。 2. **微信支付V3接口**:微信支付是腾讯公司提供的在线支付服务,V3版代表的是其接口的第三个主要版本。这个版本可能包含了更多的功能和安全改进。纯ASP实现意味着开发者可以直接在ASP环境中调用微信支付的API,无需借助其他第三方服务进行中转,提高了支付流程的安全性和效率。 3. **微信支付接口**:微信支付接口是一组由微信官方提供的HTTP API,用于处理支付请求、退款、查询订单状态等功能。在ASP中,开发者需要通过HTTP请求(如POST)发送必要的参数,并接收微信服务器返回的响应数据,然后解析并处理这些数据。 4. **支付宝接口2.0版本**:支付宝接口是阿里巴巴集团的支付宝提供的支付服务接口。2.0版本通常意味着比旧版本有更多优化和新特性,比如更完善的支付方式、更好的安全性以及更多的业务支持。ASP版本的接口允许开发者在ASP环境下集成支付宝的支付功能。 5. **接口实现**:在ASP中,对接微信支付和支付宝接口通常涉及以下步骤: - **配置商户信息**:包括商户ID、API密钥等,这些信息在注册成为微信或支付宝商户时获取。 - **签名与验签**:为了确保数据安全,接口调用需要进行签名,防止数据被篡改。发送请求前,开发者会根据预设规则对请求参数进行签名;接收到响应后,再验证服务器返回的签名,确认数据完整性。 - **请求与响应处理**:开发者需要构造请求参数,发送到微信或支付宝服务器,然后解析返回的XML或JSON格式的响应数据,执行相应的业务逻辑。 - **支付回调处理**:支付成功后,微信和支付宝会回调指定的服务器URL,开发者需要在该URL上设置处理逻辑,如更新订单状态、处理库存等。 6. **安全性与合规性**:在实际应用中,除了技术实现外,还需要关注支付过程的安全性和合规性。例如,必须遵循微信和支付宝的安全规范,如使用HTTPS进行数据传输,妥善保管敏感信息,及时更新接口以应对新的安全威胁。 7. **测试与调试**:在部署之前,开发者通常需要在沙箱环境中测试接口的各个功能,确保在实际环境中能够正常工作。这包括模拟各种支付场景、异常情况的处理等。 纯ASP微信支付V3版源码和ASP支付宝接口2.0版本提供了在ASP环境中集成这两种主流支付方式的能力。开发者需要理解接口的工作原理,正确配置和调用API,同时关注安全性和用户体验,以构建一个可靠的在线支付系统。
1
在嵌入式系统领域,固件升级是一项至关重要的技术,它能够让设备在不更换硬件的情况下,通过更新软件来增强功能、修复缺陷以及提升性能。本文所述的DSP28335串口升级程序,正是应对这一需求而开发的软件方案。该方案的核心在于利用DSP28335这一高性能数字信号处理器的串口通信能力,实现程序的在线升级。DSP28335是德州仪器(Texas Instruments)生产的一款32位高性能控制器,广泛应用于工业控制、机器人技术、信号处理等领域。 DSP28335串口升级程序的特点在于其不需要更改boot模式即可进行固件升级,这一特性大大简化了升级过程,降低了实施难度。升级过程中,用户可以自由设定波特率,以及选择不同的串口通道进行通信,这为不同的应用环境提供了灵活性。波特率的可调性确保了在各种不同的传输速率要求下都能进行稳定可靠的通信。程序中还包含了详尽的代码注释,这不仅方便开发者理解程序的运行机制,也降低了后期维护和二次开发的门槛。 文档标题中提及的“包通过”,指的可能是升级程序在实际应用中的稳定性和可靠性已经得到验证。这种实际测试证明了该升级程序的实用性和有效性。同时,这也意味着开发者在设计升级程序时,已经考虑到实际操作中可能出现的各种情况,并在程序中进行了相应的优化。 在文档标题的“edge”标签暗示,该串口升级程序可能与边缘计算场景紧密相关。边缘计算是一种分布式计算范式,它将数据处理、计算任务安排在靠近数据生成的源头,即网络的边缘侧。在边缘计算的场景下,设备需要具有一定的智能和自主性,可以自主更新固件,以快速响应环境变化或业务需求。因此,DSP28335串口升级程序正好契合了边缘计算设备自主升级的需求。 从文件名称列表中可以看出,文档内容涵盖了多个方面,包括但不限于程序设计、实现方案、技术解析以及实践验证。这些文件不仅提供了程序的具体实现细节,还从理论和实践两个角度对该程序的适用性和先进性进行了论证。尤其是“串口升级程序实现方案”和“串口升级程序实践与验证”等内容,是理解程序如何在现实环境中工作的关键。 DSP28335串口升级程序的实现原理是基于串行通信技术。在串口通信中,数据是按位顺序进行传输的,这种方式使得通信线路更加简单。串口升级通常涉及将固件代码以数据流的形式通过串口发送到目标设备。目标设备接收到数据流后,会进行解析,并将解析后的代码写入到对应的存储空间,完成固件的更新。 在实现上,通常需要编写一个宿主程序,该程序运行在一台计算机或微控制器上,它负责将固件文件传输给DSP28335设备。同时,DSP28335端的升级程序需要能够处理串口接收到的数据,验证数据的正确性,并将数据写入Flash存储器中。在升级过程中,通常还需要对设备进行引导,以确保升级不会因为电力中断或其他不可控因素而失败。 总体来看,DSP28335串口升级程序是一个成熟、可靠的固件升级解决方案。它不仅能够在实践中稳定工作,而且由于其详尽的文档支持和技术解析,也能帮助工程师快速理解和应用该程序,缩短产品开发周期,提升产品的市场竞争力。对于那些在边缘计算、机器人技术、工业自动化等应用中寻求灵活和可靠升级方式的开发者来说,这款升级程序无疑是一个值得考虑的选项。
2026-04-23 18:49:47 1.93MB edge
1
Spine是一种流行的2D骨骼动画工具,用于游戏开发和交互式内容制作。它允许艺术家创建动态的角色和物体动画,然后导出为数据格式,供程序员在游戏引擎或应用程序中使用。在Spine中,图集(Atlas)是存储纹理和关联的元数据(如UV坐标、裁剪信息等)的集合,而plist文件则是Spine导出的XML格式的数据,包含了骨骼、动画等信息。 本资源提供了一个工具,专门针对Spine的图集和plist图集进行拆解。这可能是为了便于编辑、优化或者在不使用Spine的情况下处理这些资源。源码的提供意味着用户可以查看和修改工具的工作方式,以适应特定的需求,而预编译的exe文件则为那些不具备编译环境的用户提供便利,可以直接运行。 要使用这个工具,首先需要配置config.ini文件。这是一个配置文件,通常包含输入和输出路径、图集和plist文件的信息,以及可能的其他设置,如拆解选项。用户需要根据自己的项目结构和需求来定制这个文件,确保指向正确的输入文件和指定合适的输出位置。 运行exe文件后,工具会解析config.ini中的设置,并对指定的图集和plist文件执行拆解操作。拆解过程可能会将图集拆分成单独的纹理文件,将plist文件分解为独立的骨骼、动画和其它组件,以便于单独编辑或导入到其他支持这些格式的工具中。 关于软件/插件部分,这个工具可能是一个自定义的Spine资源处理插件,或者是一个独立的第三方应用。无论哪种情况,它扩展了对Spine资源处理的功能,使得开发者和美术人员能够更灵活地管理他们的2D动画资产。 对于标签“plist”,这个文件格式在iOS和macOS开发中常见,用于存储简单的键值对数据。在Spine的上下文中,plist文件通常包含了骨骼动画的数据,包括关节、皮肤、动画曲线等信息。它们以XML的形式存储,可以被解析并加载到游戏引擎中以驱动2D动画。 这个资源提供了对Spine图集和plist文件进行拆解的工具,适用于那些需要深入处理或优化Spine动画的项目。通过源码和预编译的exe,用户可以根据自己的技术背景和需求选择合适的方式使用,无论是理解工具的工作原理还是快速进行资源处理。配置好config.ini文件后,这个工具能够帮助用户更有效地管理和维护他们的2D骨骼动画资源。
2026-04-22 19:00:07 21.98MB spine plist
1
Liberate MX for SRAM RaK教程 嵌入式静态随机存取存储器(SRAM)实例需要在自由(.lib)文件中捕获的定时、功率、引脚电容和噪声信息,以用于全芯片静态定时分析(STA)流。 随着嵌入式SRAM占用越来越大的芯片面积,准确、高效地生成.lib文件变得非常重要。 这些内存实例的大小和复杂性会使手动方法变得困难和容易出错。 解放MX的架构是为了描述嵌入式内存,如SRAM、ROM、CAM等,以实现定时、功率和噪声。 这是通过在完整的网络列表上运行一个像SpectreXPS这样的FastSPICE模拟器来识别电路活动。 然后,该工具自动为每个需要使用晶体管级遍历的特征的弧划分网络列表,拓扑独立的反馈分析锁存和触发点识别,自动探测,和时钟树识别和传播。 每个弧的分区网表,它包含的晶体管比完整的网表和相关的寄生网络更少,然后可以描述所有的旋转和负载与一个真正的香料模拟器,如幽灵APS。 在自动分区过程中使用动态模拟信息使其成为一种比其他方法更快地准确描述大型宏的首选方法。 基于仿真的方法还可以实现功率表征。 在功率表征期间,设计没有进行分区,因为它需要在整个实例上运行模拟。
2026-04-16 18:06:12 130KB 课程资源
1
在IT领域,尤其是在企业级应用集成中,Java与SAP系统的交互是一个常见的需求。SAP提供了JCo(Java Connector)库,使得Java程序能够通过RFC(Remote Function Call)调用SAP系统的服务和功能。本话题主要围绕"JAVA调用SAP接口需要的sapjco3.dll和sapjco3.jar"进行深入探讨。 `sapjco3.dll`是SAP Java Connector的动态链接库文件,它实现了SAP系统与Java应用程序之间的通信桥梁。在Windows系统中,`.dll`文件是运行时库的一部分,Java程序在运行时需要这个库来执行特定的操作。根据描述,这里有针对Windows平台的32位和64位版本,确保了在不同操作系统环境下的兼容性。 `sapjco3.jar`则是Java类库文件,包含了SAP JCo API的Java源代码。开发人员在Java项目中引入这个库,就可以编写代码调用SAP的RFC函数。这些函数允许Java应用程序像调用本地方法一样调用SAP的功能模块,实现数据的读取、写入和处理。 在Linux环境中,虽然没有`.dll`文件,但有相应的库文件(如`.so`),同样用于提供SAP JCo的连接功能。在描述中提到的"包含了linux和windows的32位和64位",意味着提供的软件包覆盖了所有主要的操作系统和架构。 要使用这些库文件,开发者需要按照以下步骤操作: 1. **安装JCo**:将`sapjco3.jar`添加到项目的类路径中,确保在编译和运行时可以访问到。对于Windows,还需要将对应的`sapjco3.dll`(或Linux的`.so`文件)放置在系统PATH环境变量所包含的目录下,以便Java虚拟机能找到并加载。 2. **配置SAP连接参数**:在Java代码中,需要设置SAP系统的连接参数,包括系统编号、客户端、用户名、密码、语言以及RFC服务器的主机名和端口号。 3. **创建RFC连接**:使用`SapSystem`和`Repository`对象初始化连接,并通过`Connection`对象执行RFC调用。 4. **调用RFC函数**:通过`Repository`对象获取RFC函数的描述,然后创建`Function`对象,设置输入参数,最后执行`Function`的`execute()`方法。 5. **处理结果**:执行后,可以从`Function`对象中获取返回的输出参数和表数据。 6. **关闭连接**:完成调用后,别忘了关闭`Connection`以释放资源。 在实际开发中,为了简化操作和管理,通常会使用Spring框架的`@Autowired`注解注入`SapConnectionFactory`,并使用`SAPConnectionFactoryBean`进行配置,以实现更灵活和可扩展的SAP连接管理。 `sapjco3.dll`和`sapjco3.jar`是Java与SAP集成的关键组件,它们为开发者提供了在各种操作系统上无缝调用SAP RFC服务的能力。正确地配置和使用这些库,可以有效地整合Java应用与SAP系统,实现数据交换和业务流程自动化。
2026-04-16 15:38:57 5.1MB java windows sapjco3.dll sapjco3.jar
1