Saravanan666/pypi-org huggingface dataset:
Package: ltg
This tool stores files in a git repository and creates links instead
automatically. Files are kept in the same structure as they were before but can
be categorized for easy accessibility.using ltgA typical folder will look a bit like this:$ ls -ARl ~/.ltg
.ltg/:
total 84K
drwxr-xr-x 2 user users 4.0K Jun  4 20:04 general
drwxr-xr-x 2 user users 4.0K Jun  4 20:04 vim
drwxr-xr-x 8 user users 4.0K Jun  5 21:53 .git
-rw-r--r-- 1 user users   43 Jun  4 20:06 .gitmodule

.ltg/general
total 12K
drwxr-xr-x 2 user users 4.0K Jun  4 13:11 .gitconfig
drwxr-xr-x 3 user users 4.0K Jun  4 13:22 .i3
-rw-r--r-- 1 user users 3.9K Jun  4 12:14 .bash_prompt
-rw-r--r-- 1 user users 5.6K Jun  5 01:26 .bashrc

.ltg/vim
total 4.0K
drwxr-xr-x 3 user users 4.0K Jun  4 13:22 .vim

...Getting there is really simple.  To add a new file, callstore:$ ltg store ~/.xinitrc ~/.Xdefaults ~/.bashrc
$ ltg store --category vim ~/.vimit will now be added to your dotfile folder (by default ~/.ltg), a git
repository should be set up and the files have been added to the index.To link the files or recreate lost links you can uselink:$ ltg link -fltg will then automatically create links to all stored files instead of the
original.To automatically store and link files, useadd:$ ltg add -c vim .vimTo update changed files run:$ ltg git -- add ~/dotfiles/bash/.bashrcor simply:$ ltg git -- add -AThegitcommand forwards commands directly to git (with baked in directories), meaning you can run:$ ltg git -- remote add origin git@bitbucket.com:user/dotfiles.git
...
$ ltg git -- pull --recurse-submodules origin master
...
$ ltg link
$ ltg add -c bash ~/.bashrc
$ ltg git -- push
...There is a handy command group available to simplify pulling and pushing,sync:$ ltg sync down
$ ltg sync upwill first pull remote changes (via rebase) and then push local changes in
a single commit.TODOunlinkingremovingatomatic commit messagessimplify git integration
Package: lti
ltiis a Python library implementing the
Learning Tools Interperability (LTI) standard.
It is based ondce_lti_py,
which is based onims_lti_py.InstallationpipinstallltiDependencieslxmloauthlibrequests-oauthlibUsageThe primary goal of this library is to provide classes
for building Python LTI tool providers (LTI apps).
To that end, the functionality that you’re looking for
is probably in theToolConfigandToolProviderclasses (ToolConsumeris available too, if you want to consume LTI Providers).Tool Config Example (Django)Here’s an example of a Django view you might use as the
configuration URL when registering your app with the LTI consumer.fromltiimportToolConfigfromdjango.httpimportHttpResponsedeftool_config(request):# basic stuffapp_title='My App'app_description='An example LTI App'launch_view_name='lti_launch'launch_url=request.build_absolute_uri(reverse('lti_launch'))# maybe you've got some extensionsextensions={'my_extensions_provider':{# extension settings...}}lti_tool_config=ToolConfig(title=app_title,launch_url=launch_url,secure_launch_url=launch_url,extensions=extensions,description=app_description)# or you may need some additional LTI parameterslti_tool_config.cartridge_bundle='BLTI001_Bundle'lti_tool_config.cartridge_icon='BLTI001_Icon'lti_tool_config.icon='http://www.example.com/icon.png'returnHttpResponse(lti_tool_config.to_xml(),content_type='text/xml')Tool Provider OAuth Request Validation Example (Django)fromlti.contrib.djangoimportDjangoToolProviderfrommy_appimportRequestValidator# create the tool provider instancetool_provider=DjangoToolProvider.from_django_request(request=request)# the tool provider uses the 'oauthlib' library which requires an instance# of a validator class when doing the oauth request signature checking.# see https://oauthlib.readthedocs.org/en/latest/oauth1/validator.html for# info on how to create onevalidator=RequestValidator()# validate the oauth request signatureok=tool_provider.is_valid_request(validator)# do stuff if ok / not okTool Consumer Example (Django)In your view:defindex(request):consumer=ToolConsumer(consumer_key='my_key_given_from_provider',consumer_secret='super_secret',launch_url='provider_url',params={'lti_message_type':'basic-lti-launch-request'})returnrender(request,'lti_consumer/index.html',{'launch_data':consumer.generate_launch_data(),'launch_url':consumer.launch_url})At the template:<formaction="{{ launch_url }}"name="ltiLaunchForm"id="ltiLaunchForm"method="POST"encType="application/x-www-form-urlencoded">{% for key, value in launch_data.items %}<inputtype="hidden"name="{{ key }}"value="{{ value }}"/>{% endfor %}<buttontype="submit">Launch the tool</button></form>TestingUnit tests can be run by executingtoxThis usestoxto set up and run the test environment.
Package: lti-arithmetic
lti-arithmeticArithmetical manipulation for scipy.signal.lti TransferFunctionLTI system representations in scipy do not offer built-in composability.
Given two instances ofscipy.signal.lti, for example,HandG,
you cannot directly writeH * G.This package defines ascipy.signal.lti-compatibleTransferFunctionthat permits standard arithmetical combination:H + G,H - G,H * G,H / G, andH**n. In addition, the parallel combination
(reciprocal of reciprocal sums) of systems is available by writingH | G.The package also defines functionsZ_R,Z_C, andZ_Lthat represent
the impedance of a resistance, capacitance, and inductance, respectively,
as LTI systems that can be composed to represent the transfer function
of a larger network.For convenience, the package also definessso that transfer functions
can be written as rational expressions ins.Examples>>> from ltiarithmetic import TransferFunction, Z_R, Z_C, Z_L, sCompute the product of two LTI systems:>>> H = TransferFunction([1,2,3],[1])
>>> G = TransferFunction[[1],[2,3,4])
>>> H * G
TransferFunction(
array([0.5, 1. , 1.5]),
array([1. , 1.5, 2. ]),
dt: None
)Compute the transfer function of a RC lowpass filter:Z_1 = Z_R(1000.)
Z_2 = Z_C(1e-9)
H = Z_2 / (Z_1 + Z_2)Construct LTI systems from rational expressions ins:import math
w0 = 2 * math.pi * 1000.
Q = 2.
H = 1/(1 + s / (Q * w0) + (s / w0)**2)
Package: ltime
📦 setup.py (for humans)This repo exists to providean example setup.pyfile, that can be used
to bootstrap your next Python project. It includes some advanced
patterns and best practices forsetup.py, as well as some
commented–out nice–to–haves.For example, thissetup.pyprovides a$ python setup.py uploadcommand, which creates auniversal wheel(andsdist) and uploads
your package toPyPiusingTwine, without the need for an annoyingsetup.cfgfile. It also creates/uploads a new git tag, automatically.In short,setup.pyfiles can be daunting to approach, when first
starting out — even Guido has been heard saying, "everyone cargo cults
thems". It's true — so, I want this repo to be the best place to
copy–paste from :)Check out the example!To DoTests via$ setup.py test(if it's concise).Pull requests are encouraged!More ResourcesWhat is setup.py?on Stack OverflowThe Hitchhiker's Guide to PackagingCookiecutter template for a Python packageLicenseThis is free and unencumbered software released into the public domain.Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any means.✨🍰✨
Package: ltipinfo
IP Information Lookup ToolThis Python script takes an IP address or domain name and gathers the following information:LocationTimezoneInternet Service ProviderAutonomous SystemAdvertised PrefixesRunning the scriptHere are some ways that you can run the script:CommandDescription./main.py meRun against your own connection./main.py 1.1.1.1Run against the IP address1.1.1.1./main.py google.comRun against the domain namegoogle.comCreditsThis script runs thanks to the APIs provided byIP-APIandHackerTarget.
Package: ltk
# Lingotek Filesystem Connector #The Lingotek Filesystem Connector (ltk) links your files and folders to the Translation Network™.  It provides yet another way for continuously globalizing all of your translatable content.The Lingotek Filesystem Connector allows you to quickly add content, request translations, and pull translations from the Lingotek Cloud.  It can even be quickly setup to automate the entire process by watching files or folders for new translatable content.Content can be sent up in any a variety of formats including:csv,dita,ditamap,docx,doxygen,dtd,excel,html,idml,java_properties,json,odp,ods,odt,pdf,plaintext,po,pptx,ppt,rails_yaml,resx,rtf,subtitle_rip,table,ts,xliff, andxml.Developers love how easily it can be used to interact with the Translation Network™.  Using the-vand-vvswitches shows exactly which API calls are being used to help developers code custom connectors.For release notes, see [here](https://github.com/Lingotek/filesystem-connector/releases) or [here](https://github.com/Lingotek/filesystem-connector/blob/master/HISTORY.md)## Installation ##`bash pip install ltk `You can also install the latest version by downloading this repository and then, from the root directly, run:`bash pip install . `If you don’t havepipinstalled, then you can [install it](https://pip.pypa.io/en/latest/installing/#using-get-pip) using the following:`bash $ curl-Ohttps://raw.github.com/pypa/pip/master/contrib/get-pip.py$ pythonget-pip.py`If not already installed, [python setuptools] (https://packaging.python.org/installing/#install-pip-setuptools-and-wheel) is required. You can install/ update using the following:`bash $ pip install-Upip setuptools `Start the tool by usingltkShould you run into issues, checkout other installation notes [here](https://github.com/Lingotek/translation-utility/wiki/Other-Installation-Notes).### Windows Installation ###
For instructions on installing in Windows, go to the [Wiki](https://github.com/Lingotek/filesystem-connector/wiki/Installing-on-Windows).## Getting Started ##Runningltkwithout any parameters will show all of the commands available: add, clean, config, delete, import, init, list, pull, push, request, and statusHere is video that shows the basics…[![Lingotek Filesystem Connector1](http://img.youtube.com/vi/CbsvVar2rFs/0.jpg)](http://www.youtube.com/watch?v=CbsvVar2rFs)Next, is a video that demonstrates how a folder can be watched for new files and changes for automating the translation process…[![Lingotek Filesystem Connector2](http://img.youtube.com/vi/CTRm-ythnPI/0.jpg)](https://youtu.be/CTRm-ythnPI)
Package: ltlcross-runner
ltlcross runnerPython wrapper around the amazing toolltlcrossfromSpotlibrary for omega automata and LTL.RequiresSpotPython >= 3.6The following libraries are needed for bokeh scatter plots (can be used in Jupyter)bokeh(installs automatically bypip)colorcet(installs automatically bypip)jupyter_bokehfor rendering the plots in JupyterLabInstallationpython3 -m pip install -U ltlcross-runner
Package: ltlf2dfa
LTLf2DFA is a tool that transforms an LTLfor a PLTLfformula into a minimal
Deterministic Finite state Automaton (DFA) usingMONA.It is also available online athttp://ltlf2dfa.diag.uniroma1.it.PrerequisitesThis tool uses MONA for the generation of the DFA. Hence, you should first install MONA with all its dependencies on
your system following the instructionshere.This tool is also based on the following libraries:lark-parser 0.9.0sympy 1.6.1They are automatically added while installing LTLf2DFA.InstallfromPyPI:pip install ltlf2dfaor, from source (masterbranch):pip install git+https://github.com/whitemech/LTLf2DFA.gitor, clone the repository and install:git clone https://github.com/whitemech/LTLf2DFA.git
cd ltlf2dfa
pip install .How To UseParse an LTLfformula:fromltlf2dfa.parser.ltlfimportLTLfParserparser=LTLfParser()formula_str="G(a -> X b)"formula=parser(formula_str)# returns an LTLfFormulaprint(formula)# prints "G(a -> X (b))"Or, parse a PLTLfformula:fromltlf2dfa.parser.pltlfimportPLTLfParserparser=PLTLfParser()formula_str="H(a -> Y b)"formula=parser(formula_str)# returns a PLTLfFormulaprint(formula)# prints "H(a -> Y (b))"Translate a formula to the corresponding DFA automaton:dfa=formula.to_dfa()print(dfa)# prints the DFA in DOT formatFeaturesSyntax and parsing support for the following formal languages:Propositional Logic;Linear Temporal Logic on Finite Traces;Pure-Past Linear Temporal Logic on Finite Traces.Conversion from LTLf/PLTLfformula to MONA (First-order Logic)NOTE: LTLf2DFA accepts either LTLfformulas or PLTLfformulas, i.e., formulas that
have only past, only future or none operators.TestsTo run tests:toxTo run only the code tests:tox -e py3.7To run only the code style checks:tox -e flake8DocsTo build the docs:mkdocs buildTo view documentation in a browser:mkdocs serveand then go tohttp://localhost:8000LicenseLTLf2DFA is released under the GNU Lesser General Public License v3.0 or later (LGPLv3+).Copyright 2018-2022 WhiteMech @ Sapienza UniversityCitingIf you are interested in this tool, and you use it in your own work, please consider citing it.AuthorFrancesco FuggittiHistory1.0.2 (2022-02-25)IntroducePLTLfWeakBeforeandPLTLfPastReleasesupportHotfix problem on translation of the Once operatorIncrease code coverage1.0.1 (2020-07-03)Introduce optional argument toto_dfa()method for DFA in MONA outputAdd parsing support forLTLfLast()andPLTLfStart()keywordsSome fixesIncrease code coverage1.0.0.post0 (2020-06-05)Include *.lark files in the package buildNew online version:http://ltlf2dfa.diag.uniroma1.it/.1.0.0 (2020-05-20)Refinement of all the grammars. Extensive improvement of the parsing.Introduce interfaces and class hierarchy for the logic modules.Several bug fixes and introduce testing.Introduce of docs.Introduce Continuous Integration.Refactor translation feature.Replace parsing library PLY with Lark.0.2.2 (2019-09-25)Online version:http://ltlf2dfa.diag.uniroma1.it/.0.2.0 (2019-09-03)0.1.3 (2018-07-22)0.1.0 (2018-07-18)First release on PyPI.
Package: ltl-parser-pkg
Graph Parser for LTL formulationLTL Graph parser takes a.dotfile as an input generated from the SPOT library, parses it and creates a Graph with node-edge information.API ReferenceclassLTLGraphCreationcontain following APIs.parsing_buffer()This method takes the.dotfile as string and creates the graph object. Internally a callback method is invoked to store the node and edge information in a dictionary object.graph_print()Print the full graph information with edges and nodes.get_action(src, dst)Returns a list of actions taken from a source vertex to the destination vertex in the LTL formaulation.check_dead_nodes()Print all the dead nodes (if present any) in the formulated graph.is_dead(node)Check whether a vertex/node is in a dead state, i.e., no other vertex/state can be reachable from this vertex/node.recurse_traversal(cur_node, path, actions, p_len=20)It prints the path of length p_len (default: 20) and the corresponding actions taken along the edges from a starting vertex. While traversing the graph, it avoids the dead vertex and randomly choose the next valid vertex with an action.self.graphThis class variable holds all the node and edge information of the LTL graph generated from the SPOT library.
Package: lto
lto-api.pythonPython client library for interacting with LTO NetworkAccountsCreate an accountThe chain_id is 'L' for the mainnet and 'T' testnetfromlto.accounts.ed25519importAccountFactoryaccount=AccountFactory(chain_id).create()Create an account from seedfromlto.accounts.ed25519importAccountFactoryaccount=AccountFactory(chain_id).create_from_seed(seed)Create an account from public keyfromlto.accounts.ed25519importAccountFactoryaccount=AccountFactory(chain_id).create_from_public_key(public_key)Create an account from private keyfromlto.accounts.ed25519importAccountFactoryaccount=AccountFactory(chain_id).create_from_private_key(private_key)Executing TransactionsCreate transactionFirst a transaction needs to be created.fromsrc.LTO.Transactions.TransferimportTransfertransaction=Transfer(recipient,amount)The Transaction needs then to be signed.  In order to sign a transaction an account is needed.Sign transactiontransaction.sign_with(account)Broadcast transactionFor last the transaction needs to be broadcasted to the node. In order to do so we need to connect to the node using the PublicNode class.fromsrc.LTO.PublicNodeimportPublicNodenode=PublicNode(url)The url refers to the node, there are many nodes available, here there are two examples, one for the mainnet and one for the testnethttps://nodes.lto.networkhttps://testnet.lto.networktransaction.broadcast_to(node)TransactionsTransfer Transactionfromlto.transactionsimportTransfertransaction=Transfer(recipient,amount)Mass Transfer Transactionfromlto.transactionsimportMassTransfertransaction=MassTransfer(transfers)Anchor Transactionfromlto.transactionsimportAnchortransaction=Anchor(anchor)Lease Transactionfromlto.transactionsimportLeasetransaction=Lease(recipient,amount)Cancel Lease Transactionfromlto.transactionsimportCancelLeasetransaction=CancelLease(lease_id)SetScript Transactionfromlto.transactionsimportSetScripttransaction=SetScript(script)Sponsorship transactionfromlto.transactionsimportSponsorshiptransaction=Sponsorship(recipient)Cancel Sponsorship transactionfromlto.transactionsimportCancelSponsorshiptransaction=CancelSponsorship(recipient)Association transactionfromlto.transactionsimportAssociationtransaction=Association(recipient,association_type,anchor)Revoke Association transactionfromlto.transactionsimportRevokeAssociationtransaction=RevokeAssociation(recipient,association_type,anchor)Data transactionfromlto.transactionsimportDatatransaction=Data(data_entries)Register transactionfromlto.transactionsimportRegistertransaction=Register(account2,account3)Burn transactionfromlto.transactionsimportBurntransaction=Burn(amount)
Package: ltou
LTOU 🦖Create Fastapi App CLISupercharged Productivity⚡️✨Create a new production-ready project anddeploy automation(Docker,CICD) by running  ltou command.Focus onwritingcode andthinkingof business-logic! Don't Panic!  The CLI will take care of the rest. Drink More coffee ☕️ and Ship More🛳️⚡️ Quick startYou can install it directly from pypi with pip.python3-mpipinstallltouLet's create a new project via interactive console UI (or CUI for short) in current folder:ltou🍪 That's all you need to know to start! 🍪⚡️ FeaturesOne of the coolest features is that this project is extremely configurable(as-plugins).
You can choose between different databases and even ORMs, or
you can even generate a project without a database!
Currently, SQLAlchemy2.0(1.4+), SqlModel, Beanie  and Tortoise  are supported.This project can run as TUI or CLI and has excellent code documentation.Out-of-the-box Feature:Different databases support;Different ORMs support;Optional redis support;Optional rabbitmq support;Optional CI/CD;Optional Sentry integration;Optional Loguru logger;Optional Celery(flower);Pre-commit integration;Some utils plugins...⚡️ Thinksthis 'ltou' short name is inspired by"The Last of Us".
Package: ltp305
LTP305 - Breakout Garden dual 5x7 LED matrix driverPre-requisitesYou must enable i2c:i2c:sudo raspi-config nonint do_i2c 0You can optionally runsudo raspi-configor the graphical Raspberry Pi Configuration UI to enable interfaces.InstallingStable library from PyPi:Just runsudo pip3 install ltp305Latest/development library from GitHub:git clone https://github.com/pimoroni/ltp305-pythoncd ltp305-pythonsudo ./install.shChangelog0.0.1Initial Release
Package: ltp-extension
LanguageversionPythonRustLTP extension For PythonLTP for Rust 对 Python 的绑定，用于提升 LTP 的速度，以及加入传统机器学习算法实现的中文信息处理工具。methodltp 3.0(c++)ap(1)ap(8)papa-i(0.5)pa-ii(0.5)cws97.8397.9397.6797.9097.9097.93pos98.3598.4198.3098.3998.3998.38ner94.1794.2893.4294.0294.0693.95自行编译安装maturinbuild--release-mpython/extension/Cargo.toml--outdist--no-default-features--features="malloc"# or 针对cpu优化maturinbuild--release-mpython/extension/Cargo.toml--outdist--no-default-features--features="malloc"---Ctarget-cpu=nativefeatures分句任务中文分词(cws)对数字、英文、网址、邮件的处理支持自定义词典词性标注(pos)支持自定义词典命名实体识别(ner)算法平均感知机(ap)单线程平均感知机多线程平均感知机被动攻击算法(pa)模型量化在线学习增量学习性能测试评测环境Python 3.10MacBook Pro (16-inch, 2019)处理器: 2.6 GHz 六核Intel Core i7内存: 16 GB 2667 MHz DDR4注: 速度测试文件大小为 33.85 MB / 305041 行分词我们选择Jieba、Pkuseg、Thulac等国内代表分词软件与 LTP 做性能比较，根据第二届国际汉语分词测评发布的国际中文分词测评标准，对不同软件进行了速度和准确率测试。在第二届国际汉语分词测评中，共有四家单位提供的测试语料（Academia Sinica、 City University 、Peking University(PKU)
、Microsoft Research(MSR)）, 在评测提供的资源icwb2-data中包含了来自这四家单位的训练集（icwb2-data/training）、测试集（icwb2-data/testing）,
以及根据各自分词标准而提供的相应测试集的标准答案（icwb2-data/gold）．在icwb2-data/scripts目录下含有对分词进行自动评分的perl脚本score。我们在统一测试环境下，对若干流行分词软件和 LTP 进行了测试，使用的模型为各分词软件自带模型。在PKU和MSR测试集评测结果如下：AlgorithmSpeed(KB/s)PKU(F1)MSR(F1)Jieba982.4981.881.3Pkuseg109.7293.487.3Thulac48.1394.087.9Thulac[Fast]1133.21同上同上LTP 3(pyltp)451.2095.388.3LTP legacy(1)1603.6395.287.7LTP legacy(2)2869.42同上同上LTP legacy(4)4949.38同上同上LTP legacy(8)6803.88同上同上LTP legacy(16)7745.16同上同上注：括号内为线程数量注2：Jieba的词表是在人民日报数据集上统计的流水线除了分词以外，我们也测试了 LTP 三个任务（分词、词性标注、命名实体识别）流水线的速度：AlgorithmSpeed(KB/s)LTP 3(pyltp)153.10LTP legacy(1)508.74LTP legacy(2)899.25LTP legacy(4)1598.03LTP legacy(8)2267.48LTP legacy(16)2452.34注：括号内为线程数量注2：速度数据在人民日报命名实体测试数据上获得，速度计算方式均为所有任务顺序执行的结果。
Package: ltphotonics
Light Trace PhotonicsSeeour websitefor more details (coming soon!)A Python Library for interfacing withLight Trace Photonicshardware. This module lets you control LTP's automated chip testing rig. It provides
a main LightRig class which reads in device & measurement information, performs scans, and save data for the user. It also provides two additional classes, one for taking measurements with Thorlabs photodiodes and one for controlling an Osics Mainframe laser. Note, these can be modififed to different laser and phototdiode interfacing if required.Get in touch with us atcontact@ltphotonics.co.uk.Table of contentsInstallationUsageCreditsLicenseInstallationRequirements:A Python 3.6 or greater interpreter.Dependencieslibusbis required for the backend of pyusb.pyvisa-pyis required to connect to Thorlabs photodiodes.pyusbis required to connect to Thorlabs photodiodes.pyserialis required to connect to an Oscis Mainframe laser.qontrolto interfacing with the required Qontrol M2 driver boards (SeeQontrol's websitefor more details).numpyis required to perform calculations.Note, the order in which libusb, pyvisa-py and pyusb are install is important for correct configuration. If you are struggling to connect to the Thorlabs powermeter then typepyvisa-infointo terminal and check the USB backend is working correctly.PyPi InstallationThe most stable Qontrol Python API is available through the Python Package Index PyPI. Using a bash terminal or similar, this can be installed as follows:pipinstallltphotonicsLocal Development - Github InstallationThe latest development version is available through Github as instructed below.gitclonehttps://github.com/ltphotonics/ltphotonics.gitcdltphotonics/Local installation can be performed using thesetup.pyinstallation script.pythonsetup.pydevelopUsageContact Light Trace Photonics for documentaiton of usage.CreditsList of contributors and authors:
Light Trace PhotonicsJake BieleDominic SulwayContributionsIf you want to contribute to this library contactcontact@ltphotonics.co.ukLicenseCopyright (c) 2023 Light Trace Photonics LtdPermission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.